diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2004-10-28 19:06:37 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2004-10-28 19:06:37 (GMT) |
commit | 62d6edc6d0b299e93384e678748b635eb1bfe9b9 (patch) | |
tree | 60eda1cf44aa3fb80b441c3d949200b6ffb7c43d /src/scanner.l | |
parent | 50828c3c773e8095785c010c1aad3891076742f4 (diff) | |
download | Doxygen-62d6edc6d0b299e93384e678748b635eb1bfe9b9.zip Doxygen-62d6edc6d0b299e93384e678748b635eb1bfe9b9.tar.gz Doxygen-62d6edc6d0b299e93384e678748b635eb1bfe9b9.tar.bz2 |
Release-1.3.9.1-20041028
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/scanner.l b/src/scanner.l index 870590c..9cd310e 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -669,6 +669,7 @@ ID "$"?[a-z_A-Z][a-z_A-Z0-9]* LABELID [a-z_A-Z][a-z_A-Z0-9\-]* SCOPEID {ID}({ID}*{BN}*"::"{BN}*)*({ID}?) SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID}) +TSCOPE {ID}("<"[a-z_A-Z0-9 \t\*\&]*">")? CSSCOPENAME (({ID}?{BN}*"."{BN}*)*)((~{BN}*)?{ID}) ATTR ({B}+[^>\n]*)? A [aA] @@ -2694,10 +2695,9 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;] } } <ReadBody,ReadNSBody,ReadBodyIntf>. { current->program += yytext ; } -<ReadBody,ReadNSBody,ReadBodyIntf>"'#" { current->program += yytext ; } -<FindMembers>"("/({BN}*{ID}{BN}*"::")*{ID}{BN}*")"{BN}*"(" | /* typedef void (A::func_t)(args...) */ -<FindMembers>("("({BN}*{ID}{BN}*"::")*({BN}*"*"{BN}*)+)+ { /* typedef void (A::*ptr_t)(args...) */ +<FindMembers>"("/({BN}*{TSCOPE}{BN}*"::")*{TSCOPE}{BN}*")"{BN}*"(" | /* typedef void (A<int>::func_t)(args...) */ +<FindMembers>("("({BN}*{TSCOPE}{BN}*"::")*({BN}*"*"{BN}*)+)+ { /* typedef void (A::*ptr_t)(args...) */ current->bodyLine = yyLineNr; lineCount(); addType(current); @@ -3620,7 +3620,19 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;] BEGIN( FindMembers ); } } -<ClassVar>"," // Multiple class forward declaration +<ClassVar>"," { + if (isTypedef) + { + // multiple types in one typedef + unput(','); + current->type.prepend("typedef "); + BEGIN(FindMembers); + } + else + { + // Multiple class forward declaration + } + } <ClassVar>{ID} { if (insideIDL && strcmp(yytext,"switch")==0) { |