summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2005-06-15 19:21:39 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2005-06-15 19:21:39 (GMT)
commit7e2f4c794ab68b3e14cca2f40ed1b19926c3de05 (patch)
tree3f2be46d34910503ef3532aa95aa0422e86cd993 /src/scanner.l
parent365d0dd98ec1e2cbd7f732a5a9a963e5cf2fbde2 (diff)
downloadDoxygen-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.l69
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);