summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Hansen <hansec@uw.edu>2014-05-05 23:02:10 (GMT)
committerChris Hansen <hansec@uw.edu>2014-05-05 23:02:10 (GMT)
commitdb289e2272bfc3b00452cbf7c2a30114fb8b7c58 (patch)
treeb98da6c923d7fa495f0bca3b332146c40f463923
parente9b40bf029d8315467a69c3a97b83624293cd5b6 (diff)
downloadDoxygen-db289e2272bfc3b00452cbf7c2a30114fb8b7c58.zip
Doxygen-db289e2272bfc3b00452cbf7c2a30114fb8b7c58.tar.gz
Doxygen-db289e2272bfc3b00452cbf7c2a30114fb8b7c58.tar.bz2
Add type option to FORTRAN select statements
-rw-r--r--src/fortrancode.l7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/fortrancode.l b/src/fortrancode.l
index 2fbde73..c1fae11 100644
--- a/src/fortrancode.l
+++ b/src/fortrancode.l
@@ -695,7 +695,7 @@ ATTR_SPEC (IMPLICIT|ALLOCATABLE|DIMENSION{ARGS}|EXTERNAL|{INTENT_SPEC}|INTRINSIC
ACCESS_SPEC (PROTECTED|PRIVATE|PUBLIC)
/* Assume that attribute statements are almost the same as attributes. */
ATTR_STMT {ATTR_SPEC}|DIMENSION
-FLOW (DO|SELECT|CASE|SELECTCASE|WHERE|IF|THEN|ELSE|WHILE|FORALL|ELSEWHERE|ELSEIF|RETURN|CONTINUE|EXIT)
+FLOW (DO|SELECT|CASE|SELECT{BS}(CASE|TYPE)|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_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|IMPURE|PURE|ELEMENTAL)?
@@ -749,6 +749,11 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
codifyLines(yytext);
endFontClass();
}
+<Start>^{BS}(CASE|CLASS|TYPE){BS_}(IS|DEFAULT) {
+ startFontClass("keywordflow");
+ codifyLines(yytext);
+ endFontClass();
+ }
<Start>"end"({BS}{FLOW})?/[ \t\n] { // list is a bit long as not all have possible end
startFontClass("keywordflow");
codifyLines(yytext);