From db289e2272bfc3b00452cbf7c2a30114fb8b7c58 Mon Sep 17 00:00:00 2001 From: Chris Hansen Date: Mon, 5 May 2014 19:02:10 -0400 Subject: [PATCH] Add type option to FORTRAN select statements --- src/fortrancode.l | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/fortrancode.l b/src/fortrancode.l index 2fbde73371a..c1fae11e386 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(); } +^{BS}(CASE|CLASS|TYPE){BS_}(IS|DEFAULT) { + startFontClass("keywordflow"); + codifyLines(yytext); + endFontClass(); + } "end"({BS}{FLOW})?/[ \t\n] { // list is a bit long as not all have possible end startFontClass("keywordflow"); codifyLines(yytext);