diff options
author | Oleg Batrashev <ogbash@gmail.com> | 2013-05-22 07:47:44 (GMT) |
---|---|---|
committer | Oleg Batrashev <ogbash@gmail.com> | 2013-05-22 07:47:44 (GMT) |
commit | be4c107ab25c862469bab23897df2d7a7445c4a4 (patch) | |
tree | ad33da7c6a6a0f3cfa5a06b5f5d9464bca3435ad /src | |
parent | f138b8f35df95e5b7ab1525b9c1349fbc315aa2e (diff) | |
download | Doxygen-be4c107ab25c862469bab23897df2d7a7445c4a4.zip Doxygen-be4c107ab25c862469bab23897df2d7a7445c4a4.tar.gz Doxygen-be4c107ab25c862469bab23897df2d7a7445c4a4.tar.bz2 |
Add scopes to Fortran prototype name parsing.
Diffstat (limited to 'src')
-rw-r--r-- | src/fortranscanner.l | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/fortranscanner.l b/src/fortranscanner.l index 66a6f6e..278367c 100644 --- a/src/fortranscanner.l +++ b/src/fortranscanner.l @@ -266,6 +266,7 @@ ATTR_STMT {ATTR_SPEC}|DIMENSION|{ACCESS_SPEC} CONTAINS CONTAINS PREFIX (RECURSIVE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,2}(RECURSIVE|PURE|ELEMENTAL)? +SCOPENAME ({ID}{BS}"::"{BS})* %option noyywrap %option stack @@ -1110,15 +1111,16 @@ private { <Prototype>{BS}{SUBPROG}{BS_} { BEGIN(PrototypeSubprog); } -<PrototypeSubprog>{ID}{BS} { current->name = yytext; +<Prototype,PrototypeSubprog>{BS}{SCOPENAME}?{BS}{ID} { + current->name = QCString(yytext).lower(); current->name.stripWhiteSpace(); BEGIN(PrototypeArgs); - } + } <PrototypeArgs>{ "("|")"|","|{BS_} { current->args += yytext; } {ID} { current->args += yytext; Argument *a = new Argument; - a->name = yytext; + a->name = QCString(yytext).lower(); current->argList->append(a); } } @@ -2331,7 +2333,7 @@ void FortranLanguageScanner::resetCodeParserState() void FortranLanguageScanner::parsePrototype(const char *text) { - QCString buffer = QCString(text).lower(); + QCString buffer = QCString(text); pushBuffer(buffer); parsingPrototype = TRUE; BEGIN(Prototype); |