diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2013-12-01 13:37:44 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2013-12-01 13:37:44 (GMT) |
commit | 182bd7cda2842cac622bf9ead4fd4a59f485d910 (patch) | |
tree | 880d206a1241de1bee194a24cdd18d23fa69f8c6 | |
parent | 87720321105313279689e15d8aefcfd09a44cf03 (diff) | |
parent | 38261ebeca17dc0f51e8c9fb5fd7c497a549fc9b (diff) | |
download | Doxygen-182bd7cda2842cac622bf9ead4fd4a59f485d910.zip Doxygen-182bd7cda2842cac622bf9ead4fd4a59f485d910.tar.gz Doxygen-182bd7cda2842cac622bf9ead4fd4a59f485d910.tar.bz2 |
Merge pull request #60 from albert-github/feature/bug_impure
Fortran added keyword IMPURE
-rw-r--r-- | src/fortrancode.l | 4 | ||||
-rw-r--r-- | src/fortranscanner.l | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/fortrancode.l b/src/fortrancode.l index 842debf..8ee825b 100644 --- a/src/fortrancode.l +++ b/src/fortrancode.l @@ -684,14 +684,14 @@ CHAR (CHARACTER{ARGS}?|CHARACTER{BS}"*"({BS}[0-9]+|{ARGS})) TYPE_SPEC (({NUM_TYPE}({BS}"*"{BS}[0-9]+)?)|({NUM_TYPE}{KIND})|DOUBLE{BS_}COMPLEX|DOUBLE{BS_}PRECISION|{CHAR}) INTENT_SPEC intent{BS}"("{BS}(in|out|in{BS}out){BS}")" -ATTR_SPEC (IMPLICIT|ALLOCATABLE|DIMENSION{ARGS}|EXTERNAL|{INTENT_SPEC}|INTRINSIC|OPTIONAL|PARAMETER|POINTER|PROTECTED|PRIVATE|PUBLIC|SAVE|TARGET|RECURSIVE|PURE|ELEMENTAL) +ATTR_SPEC (IMPLICIT|ALLOCATABLE|DIMENSION{ARGS}|EXTERNAL|{INTENT_SPEC}|INTRINSIC|OPTIONAL|PARAMETER|POINTER|PROTECTED|PRIVATE|PUBLIC|SAVE|TARGET|RECURSIVE|PURE|IMPURE|ELEMENTAL) ACCESS_SPEC (PROTECTED|PRIVATE|PUBLIC) /* Assume that attribute statements are almost the same as attributes. */ ATTR_STMT {ATTR_SPEC}|DIMENSION FLOW (DO|SELECT|CASE|WHERE|IF|THEN|ELSE|WHILE|FORALL|ELSEWHERE|ELSEIF|RETURN|CONTINUE|EXIT) COMMANDS (FORMAT|CONTAINS|MODULE{BS_}PROCEDURE|WRITE|READ|ALLOCATE|ALLOCATED|ASSOCIATED|DEALLOCATE|SIZE|INQUIRE|OPEN|CLOSE|DATA|COMMON) IGNORE (CALL) -PREFIX (RECURSIVE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,2}(RECURSIVE|PURE|ELEMENTAL)? +PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|IMPURE|PURE|ELEMENTAL)? /* | */ diff --git a/src/fortranscanner.l b/src/fortranscanner.l index 3cafc76..0d0fdde 100644 --- a/src/fortranscanner.l +++ b/src/fortranscanner.l @@ -265,7 +265,7 @@ LANGUAGE_BIND_SPEC BIND{BS}"("{BS}C{BS}(,{BS}NAME{BS}"="{BS}"\""(.*)"\""{BS})?") ATTR_STMT {ATTR_SPEC}|DIMENSION|{ACCESS_SPEC} CONTAINS CONTAINS -PREFIX (RECURSIVE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,2}(RECURSIVE|PURE|ELEMENTAL)? +PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|IMPURE|PURE|ELEMENTAL)? SCOPENAME ({ID}{BS}"::"{BS})* %option noyywrap @@ -1170,11 +1170,11 @@ static void extractPrefix(QCString &text) int prefixIndex = 0; int curIndex = 0; bool cont = TRUE; - const char* pre[] = {"RECURSIVE","PURE","ELEMENTAL"}; + const char* pre[] = {"RECURSIVE","IMPURE","PURE","ELEMENTAL"}; while(cont) { cont = FALSE; - for(unsigned int i=0; i<3; i++) + for(unsigned int i=0; i<4; i++) { if((prefixIndex=text.find(pre[i], curIndex, FALSE))==0) { |