diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2001-08-19 18:13:14 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2001-08-19 18:13:14 (GMT) |
commit | 2f7902073680b977b74f3faeada95119ec767eb3 (patch) | |
tree | 3ff0575884709cdc92f9e462441672f3549ab054 /src/scanner.l | |
parent | eed6800521ab6f21c41f485820ec1ee2def42e94 (diff) | |
download | Doxygen-2f7902073680b977b74f3faeada95119ec767eb3.zip Doxygen-2f7902073680b977b74f3faeada95119ec767eb3.tar.gz Doxygen-2f7902073680b977b74f3faeada95119ec767eb3.tar.bz2 |
Release-1.2.9-20010819
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/src/scanner.l b/src/scanner.l index 52326e8..6d49da4 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -149,6 +149,7 @@ static bool insideFormula; static bool insideTryBlock=FALSE; static int depthIf; +static int initializerSharpCount; //----------------------------------------------------------------------------- @@ -1320,6 +1321,7 @@ TITLE [tT][iI][tT][lL][eE] <FindMembers>"=" { current->bodyLine = yyLineNr; lastInitializerContext = YY_START; + initializerSharpCount=0; BEGIN(ReadInitializer); } /* Read initializer rules */ @@ -1339,8 +1341,15 @@ TITLE [tT][iI][tT][lL][eE] } <ReadInitializer>[;,] { //printf(">> initializer `%s' <<\n",current->initializer.data()); - unput(*yytext); - BEGIN(lastInitializerContext); + if (initializerSharpCount==0) + { + unput(*yytext); + BEGIN(lastInitializerContext); + } + else + { + current->initializer+=*yytext; + } } <ReadInitializer>\" { if (insideIDL && insideCppQuote) @@ -1355,9 +1364,23 @@ TITLE [tT][iI][tT][lL][eE] BEGIN(CopyString); } } -<ReadInitializer>"'"\\[0-7]{1,3}"'" -<ReadInitializer>"'"\\."'" -<ReadInitializer>"'".{1,4}"'" +<ReadInitializer>"<<" { + current->initializer+=yytext; + } +<ReadInitializer>">>" { + current->initializer+=yytext; + } +<ReadInitializer>\< { + initializerSharpCount++; + current->initializer+=*yytext; + } +<ReadInitializer>\> { + initializerSharpCount--; + current->initializer+=*yytext; + } +<ReadInitializer>"'"\\[0-7]{1,3}"'" | +<ReadInitializer>"'"\\."'" | +<ReadInitializer>"'".{1,4}"'" { current->initializer+=yytext; } <ReadInitializer>\n { current->initializer+=*yytext; yyLineNr++; @@ -1547,6 +1570,7 @@ TITLE [tT][iI][tT][lL][eE] } <FindFields>"=" { lastInitializerContext = YY_START; + initializerSharpCount=0; BEGIN(ReadInitializer); } <FindFields>"," { @@ -1760,6 +1784,7 @@ TITLE [tT][iI][tT][lL][eE] } <MemberSpec>"=" { lastInitializerContext=YY_START; + initializerSharpCount=0; BEGIN(ReadInitializer); /* BEGIN(MemberSpecSkip); */ } @@ -3834,7 +3859,7 @@ TITLE [tT][iI][tT][lL][eE] <Doc,ClassDoc,PageDoc,ExampleDoc,AfterDoc>"\\"[a-z_A-Z][a-z_A-Z0-9]*[\\] { // directory type of text current->doc+=yytext; } -<Doc,ClassDoc,PageDoc,ExampleDoc,AfterDoc>{CMD}[a-z_A-Z][a-z_A-Z0-9]* { +<Doc,ClassDoc,PageDoc,ExampleDoc,AfterDoc,SkipSection>{CMD}[a-z_A-Z][a-z_A-Z0-9]* { QCString *pValue=Doxygen::aliasDict[yytext+1]; if (pValue) { |