diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2010-05-07 19:37:33 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2010-05-07 19:37:33 (GMT) |
commit | 0fb3f32dfd7ac31a2677d76647700cd3fb730ef6 (patch) | |
tree | 58636054e8f52c5851109b908053cc4da26b060a /src/commentcnv.l | |
parent | 600fbfb8b03442ff97f4fb94964b2e0e11d14bd4 (diff) | |
download | Doxygen-0fb3f32dfd7ac31a2677d76647700cd3fb730ef6.zip Doxygen-0fb3f32dfd7ac31a2677d76647700cd3fb730ef6.tar.gz Doxygen-0fb3f32dfd7ac31a2677d76647700cd3fb730ef6.tar.bz2 |
Release-1.6.3-20100507
Diffstat (limited to 'src/commentcnv.l')
-rw-r--r-- | src/commentcnv.l | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/commentcnv.l b/src/commentcnv.l index a38228f..e508221 100644 --- a/src/commentcnv.l +++ b/src/commentcnv.l @@ -67,6 +67,7 @@ static bool g_specialComment; static QCString g_aliasString; static int g_blockCount; +static bool g_lastEscaped; static int g_lastBlockContext; static bool g_pythonDocString; @@ -696,30 +697,41 @@ void replaceComment(int offset); g_lastBlockContext=YY_START; g_blockCount=1; g_aliasString=yytext; + g_lastEscaped=0; BEGIN( ReadAliasArgs ); } -<ReadAliasArgs>[^{}\n\*]+ { +<ReadAliasArgs>[^{}\n\\\*]+ { g_aliasString+=yytext; + g_lastEscaped=FALSE; } +<ReadAliasArgs>"\\" { + if (g_lastEscaped) g_lastEscaped=FALSE; + else g_lastEscaped=TRUE; + g_aliasString+=yytext; + } <ReadAliasArgs>\n { g_aliasString+=yytext; g_lineNr++; + g_lastEscaped=FALSE; } <ReadAliasArgs>"{" { g_aliasString+=yytext; - g_blockCount++; + if (!g_lastEscaped) g_blockCount++; + g_lastEscaped=FALSE; } <ReadAliasArgs>"}" { g_aliasString+=yytext; - g_blockCount--; + if (!g_lastEscaped) g_blockCount--; if (g_blockCount==0) { replaceAliases(g_aliasString); BEGIN( g_lastBlockContext ); } + g_lastEscaped=FALSE; } <ReadAliasArgs>. { g_aliasString+=yytext; + g_lastEscaped=FALSE; } <ReadLine>. { copyToOutput(yytext,yyleng); |