diff options
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 63 |
1 files changed, 27 insertions, 36 deletions
diff --git a/src/scanner.l b/src/scanner.l index 0088e9a..faa8f3c 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -235,12 +235,18 @@ static void lineCount() static void addType( Entry* current ) { - if( current->type.length() ) - current->type += ' ' ; + uint tl=current->type.length(); + if( tl>0 && !current->name.isEmpty() && current->type.at(tl-1)!='.') + { + current->type += ' ' ; + } current->type += current->name ; current->name.resize(0) ; - if( current->type.length() ) - current->type += ' ' ; + tl=current->type.length(); + if( tl>0 && !current->args.isEmpty() && current->type.at(tl-1)!='.') + { + current->type += ' ' ; + } current->type += current->args ; current->args.resize(0) ; current->argList->clear(); @@ -443,6 +449,7 @@ UL [uU][lL] OL [oO][lL] DL [dD][lL] TITLE [tT][iI][tT][lL][eE] +CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) %option noyywrap @@ -531,7 +538,6 @@ TITLE [tT][iI][tT][lL][eE] %x FileDocArg2 %x ExampleDoc %x ExampleDocArg1 -%x EnumDoc %x EnumDocArg1 %x FuncPtr %x EndFuncPtr @@ -633,9 +639,7 @@ TITLE [tT][iI][tT][lL][eE] BEGIN( FindMembers ); } } -<NextSemi>"'"\\[0-7]{1,3}"'" -<NextSemi>"'"\\."'" -<NextSemi>"'".{1,4}"'" +<NextSemi>{CHARLIT} <NextSemi>\" { lastStringContext=NextSemi; BEGIN(SkipString); @@ -1148,6 +1152,12 @@ TITLE [tT][iI][tT][lL][eE] BEGIN(FindMembers); } } +<FindMembers>"." { + if (insideJava) + { + current->name+="."; + } + } <FindMembers>"::" { current->name+=yytext; } @@ -1388,9 +1398,7 @@ TITLE [tT][iI][tT][lL][eE] initializerSharpCount--; current->initializer+=*yytext; } -<ReadInitializer>"'"\\[0-7]{1,3}"'" | -<ReadInitializer>"'"\\."'" | -<ReadInitializer>"'".{1,4}"'" { current->initializer+=yytext; } +<ReadInitializer>{CHARLIT} { current->initializer+=yytext; } <ReadInitializer>\n { current->initializer+=*yytext; yyLineNr++; @@ -1438,9 +1446,7 @@ TITLE [tT][iI][tT][lL][eE] yyLineNr++; *pCopyRoundString+=*yytext; } -<CopyRound>"'"\\[0-7]{1,3}"'" { *pCopyRoundString+=yytext; } -<CopyRound>"'"\\."'" { *pCopyRoundString+=yytext; } -<CopyRound>"'".{1,4}"'" { *pCopyRoundString+=yytext; } +<CopyRound>{CHARLIT} { *pCopyRoundString+=yytext; } <CopyRound>[^"'()\n]+ { *pCopyRoundString+=yytext; } @@ -1461,9 +1467,7 @@ TITLE [tT][iI][tT][lL][eE] if (--curlyCount<0) BEGIN(lastCurlyContext); } -<CopyCurly>"'"\\[0-7]{1,3}"'" { *pCopyCurlyString+=yytext; } -<CopyCurly>"'"\\."'" { *pCopyCurlyString+=yytext; } -<CopyCurly>"'".{1,4}"'" { *pCopyCurlyString+=yytext; } +<CopyCurly>{CHARLIT} { *pCopyCurlyString+=yytext; } <CopyCurly>[^"'{}\/\n]+ { *pCopyCurlyString+=yytext; } @@ -1623,9 +1627,7 @@ TITLE [tT][iI][tT][lL][eE] lastContext = ReadBody ; BEGIN( Comment ) ; } -<ReadBody>"'"\\[0-7]{1,3}"'" { current->program += yytext; } -<ReadBody>"'"\\."'" { current->program += yytext; } -<ReadBody>"'".{1,4}"'" { current->program += yytext; } +<ReadBody>{CHARLIT} { current->program += yytext; } <ReadBody>"{" { current->program += yytext ; ++curlyCount ; } @@ -2052,15 +2054,7 @@ TITLE [tT][iI][tT][lL][eE] fullArgString+=*yytext; BEGIN( lastCopyArgStringContext ); } -<ReadFuncArgType,ReadTempArgs,CopyArgRound,CopyArgSharp>"'"\\[0-7]{1,3}"'" { - *copyArgString+=yytext; - fullArgString+=yytext; - } -<ReadFuncArgType,ReadTempArgs,CopyArgRound,CopyArgSharp>"'"\\."'" { - *copyArgString+=yytext; - fullArgString+=yytext; - } -<ReadFuncArgType,ReadTempArgs,CopyArgRound,CopyArgSharp>"'".{1,4}"'" { +<ReadFuncArgType,ReadTempArgs,CopyArgRound,CopyArgSharp>{CHARLIT} { *copyArgString+=yytext; fullArgString+=yytext; } @@ -2294,13 +2288,7 @@ TITLE [tT][iI][tT][lL][eE] current = tempEntry; BEGIN( lastCurlyContext ); } -<SkipCurly>"'"\\[0-7]{1,3}"'" { - //addToBody(yytext); - } -<SkipCurly>"'"\\."'" { - //addToBody(yytext); - } -<SkipCurly>"'".{1,4}"'" { +<SkipCurly>{CHARLIT} { //addToBody(yytext); } <SkipCurly>\" { @@ -3321,6 +3309,9 @@ TITLE [tT][iI][tT][lL][eE] addSection(); BEGIN(PageDoc); } +<SectionTitle>[^\n*]* { + sectionTitle+=yytext; + } <SectionTitle>"*" { sectionTitle+=yytext; } |