Skip to content

Commit 182bd7c

Browse files
author
Dimitri van Heesch
committed
Merge pull request doxygen#60 from albert-github/feature/bug_impure
Fortran added keyword IMPURE
2 parents 8772032 + 38261eb commit 182bd7c

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/fortrancode.l

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -684,14 +684,14 @@ CHAR (CHARACTER{ARGS}?|CHARACTER{BS}"*"({BS}[0-9]+|{ARGS}))
684684
TYPE_SPEC (({NUM_TYPE}({BS}"*"{BS}[0-9]+)?)|({NUM_TYPE}{KIND})|DOUBLE{BS_}COMPLEX|DOUBLE{BS_}PRECISION|{CHAR})
685685

686686
INTENT_SPEC intent{BS}"("{BS}(in|out|in{BS}out){BS}")"
687-
ATTR_SPEC (IMPLICIT|ALLOCATABLE|DIMENSION{ARGS}|EXTERNAL|{INTENT_SPEC}|INTRINSIC|OPTIONAL|PARAMETER|POINTER|PROTECTED|PRIVATE|PUBLIC|SAVE|TARGET|RECURSIVE|PURE|ELEMENTAL)
687+
ATTR_SPEC (IMPLICIT|ALLOCATABLE|DIMENSION{ARGS}|EXTERNAL|{INTENT_SPEC}|INTRINSIC|OPTIONAL|PARAMETER|POINTER|PROTECTED|PRIVATE|PUBLIC|SAVE|TARGET|RECURSIVE|PURE|IMPURE|ELEMENTAL)
688688
ACCESS_SPEC (PROTECTED|PRIVATE|PUBLIC)
689689
/* Assume that attribute statements are almost the same as attributes. */
690690
ATTR_STMT {ATTR_SPEC}|DIMENSION
691691
FLOW (DO|SELECT|CASE|WHERE|IF|THEN|ELSE|WHILE|FORALL|ELSEWHERE|ELSEIF|RETURN|CONTINUE|EXIT)
692692
COMMANDS (FORMAT|CONTAINS|MODULE{BS_}PROCEDURE|WRITE|READ|ALLOCATE|ALLOCATED|ASSOCIATED|DEALLOCATE|SIZE|INQUIRE|OPEN|CLOSE|DATA|COMMON)
693693
IGNORE (CALL)
694-
PREFIX (RECURSIVE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,2}(RECURSIVE|PURE|ELEMENTAL)?
694+
PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|IMPURE|PURE|ELEMENTAL)?
695695

696696
/* | */
697697

src/fortranscanner.l

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ LANGUAGE_BIND_SPEC BIND{BS}"("{BS}C{BS}(,{BS}NAME{BS}"="{BS}"\""(.*)"\""{BS})?")
265265
ATTR_STMT {ATTR_SPEC}|DIMENSION|{ACCESS_SPEC}
266266

267267
CONTAINS CONTAINS
268-
PREFIX (RECURSIVE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,2}(RECURSIVE|PURE|ELEMENTAL)?
268+
PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|IMPURE|PURE|ELEMENTAL)?
269269
SCOPENAME ({ID}{BS}"::"{BS})*
270270

271271
%option noyywrap
@@ -1170,11 +1170,11 @@ static void extractPrefix(QCString &text)
11701170
int prefixIndex = 0;
11711171
int curIndex = 0;
11721172
bool cont = TRUE;
1173-
const char* pre[] = {"RECURSIVE","PURE","ELEMENTAL"};
1173+
const char* pre[] = {"RECURSIVE","IMPURE","PURE","ELEMENTAL"};
11741174
while(cont)
11751175
{
11761176
cont = FALSE;
1177-
for(unsigned int i=0; i<3; i++)
1177+
for(unsigned int i=0; i<4; i++)
11781178
{
11791179
if((prefixIndex=text.find(pre[i], curIndex, FALSE))==0)
11801180
{

0 commit comments

Comments
 (0)