@@ -368,7 +368,7 @@ static void initTriDoubleQuoteBlock()
368
368
docBlockContext = YY_START;
369
369
docBlockInBody = FALSE ;
370
370
docBlockJavaStyle = TRUE ;
371
- docBlockSpecial = yytext[3 ]==' !' ;
371
+ docBlockSpecial = yytext[strlen (yytext) - 1 ]==' !' ;
372
372
docBlock.resize (0 );
373
373
g_doubleQuote = TRUE ;
374
374
startCommentBlock (FALSE );
@@ -379,7 +379,7 @@ static void initTriSingleQuoteBlock()
379
379
docBlockContext = YY_START;
380
380
docBlockInBody = FALSE ;
381
381
docBlockJavaStyle = TRUE ;
382
- docBlockSpecial = yytext[3 ]==' !' ;
382
+ docBlockSpecial = yytext[strlen (yytext) - 1 ]==' !' ;
383
383
docBlock.resize (0 );
384
384
g_doubleQuote = FALSE ;
385
385
startCommentBlock (FALSE );
@@ -470,8 +470,10 @@ IDENTIFIER ({LETTER}|"_")({LETTER}|{DIGIT}|"_")*
470
470
SCOPE {IDENTIFIER}(" ." {IDENTIFIER})*
471
471
BORDER ([^A-Za-z0-9 ])
472
472
473
- TRISINGLEQUOTE "'''"(!)?
474
- TRIDOUBLEQUOTE "\"\"\""(!)?
473
+ TRISINGLEQUOTE {STRINGPREFIX}?" '''" (!)?
474
+ TRIDOUBLEQUOTE {STRINGPREFIX}?" \"\"\" " (!)?
475
+ ENDTRISINGLEQUOTE " '''"
476
+ ENDTRIDOUBLEQUOTE " \"\"\" "
475
477
LONGSTRINGCHAR [^\\" ']
476
478
ESCAPESEQ (" \\" )(.)
477
479
LONGSTRINGITEM ({LONGSTRINGCHAR}|{ESCAPESEQ})
@@ -1369,8 +1371,8 @@ STARTDOCSYMS "##"
1369
1371
}
1370
1372
1371
1373
<TripleComment>{
1372
- {TRIDOUBLEQUOTE } |
1373
- {TRISINGLEQUOTE } {
1374
+ {ENDTRIDOUBLEQUOTE } |
1375
+ {ENDTRISINGLEQUOTE } {
1374
1376
// printf("Expected module block %d special=%d\n",g_expectModuleDocs,g_specialBlock);
1375
1377
if (g_doubleQuote==(yytext[0 ]==' "' ))
1376
1378
{
@@ -1515,8 +1517,8 @@ STARTDOCSYMS "##"
1515
1517
}
1516
1518
1517
1519
<TripleString>{
1518
- {TRIDOUBLEQUOTE } |
1519
- {TRISINGLEQUOTE } {
1520
+ {ENDTRIDOUBLEQUOTE } |
1521
+ {ENDTRISINGLEQUOTE } {
1520
1522
*g_copyString += yytext;
1521
1523
if (g_doubleQuote==(yytext[0 ]==' "' ))
1522
1524
{
0 commit comments