diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2005-06-15 19:21:39 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2005-06-15 19:21:39 (GMT) |
commit | 7e2f4c794ab68b3e14cca2f40ed1b19926c3de05 (patch) | |
tree | 3f2be46d34910503ef3532aa95aa0422e86cd993 /src/scanner.l | |
parent | 365d0dd98ec1e2cbd7f732a5a9a963e5cf2fbde2 (diff) | |
download | Doxygen-7e2f4c794ab68b3e14cca2f40ed1b19926c3de05.zip Doxygen-7e2f4c794ab68b3e14cca2f40ed1b19926c3de05.tar.gz Doxygen-7e2f4c794ab68b3e14cca2f40ed1b19926c3de05.tar.bz2 |
Release-1.4.3-20050615
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 69 |
1 files changed, 68 insertions, 1 deletions
diff --git a/src/scanner.l b/src/scanner.l index b93df38..ddd839b 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -41,6 +41,7 @@ #include "defargs.h" #include "language.h" #include "commentscan.h" +#include "code.h" #define YY_NEVER_INTERACTIVE 1 @@ -1843,6 +1844,42 @@ IDLATTR ("["[^\]]*"]"){BN}* handleGroupStartCommand(current->name); current = tmp; initEntry(); + if (yytext[1]=='/') + { + if (yytext[2]=='!' || yytext[2]=='/') + { + docBlockContext = YY_START; + docBlockInBody = FALSE; + docBlockJavaStyle = FALSE; + docBlock.resize(0); + docBlockTerm = 0; + startCommentBlock(TRUE); + BEGIN(DocLine); + } + else + { + lastCContext=YY_START; + BEGIN(SkipCxxComment); + } + } + else + { + if (yytext[2]=='!' || yytext[2]=='*') + { + docBlockContext = YY_START; + docBlockInBody = FALSE; + docBlock.resize(0); + docBlockJavaStyle = yytext[2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF"); + docBlockTerm = 0; + startCommentBlock(FALSE); + BEGIN(DocBlock); + } + else + { + lastCContext=YY_START; + BEGIN(SkipComment); + } + } } <FindMembers,FindFields,ReadInitializer>"//"([!/]?){B}*{CMD}"}".*|"/*"([!*]?){B}*{CMD}"}".*"*/" { handleGroupEndCommand(); @@ -4540,12 +4577,42 @@ static void handleGroupEndCommand() //---------------------------------------------------------------------------- -void CLanguageScanner::parse(const char *fileName,const char *fileBuf,Entry *root) +void CLanguageScanner::parseInput(const char *fileName,const char *fileBuf,Entry *root) { g_thisParser = this; ::parseMain(fileName,fileBuf,root); } +void CLanguageScanner::parseCode(CodeOutputInterface & codeOutIntf, + const char * scopeName, + const QCString & input, + bool isExampleBlock, + const char * exampleName, + FileDef * fileDef, + int startLine, + int endLine, + bool inlineFragment, + MemberDef *memberDef + ) +{ + ::parseCCode(codeOutIntf,scopeName,input,isExampleBlock,exampleName, + fileDef,startLine,endLine,inlineFragment,memberDef); +} + +bool CLanguageScanner::needsPreprocessing(const QCString &extension) +{ + QCString fe=extension.lower(); + return + !( fe==".java" || fe==".as" || fe==".cs" || fe==".d" || fe==".php" || + fe==".php4" || fe==".inc" || fe==".phtml" || fe==".m" || fe==".mm" + ); +} + +void CLanguageScanner::resetCodeParserState() +{ + ::resetCCodeParserState(); +} + void CLanguageScanner::parsePrototype(const char *text) { ::parsePrototype(text); |