summaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
Diffstat (limited to 'parser.l')
-rw-r--r--parser.l18
1 files changed, 18 insertions, 0 deletions
diff --git a/parser.l b/parser.l
index 0e569980..3c4b7159 100644
--- a/parser.l
+++ b/parser.l
@@ -489,6 +489,24 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
return FINALLY;
}
+<SPECIAL>\({WS}if/{ID_END} {
+ yy_push_state(NESTED);
+ yylval.lineno = lineno;
+ return IF;
+}
+
+<SPECIAL>\({WS}elif/{ID_END} {
+ yy_push_state(NESTED);
+ yylval.lineno = lineno;
+ return ELIF;
+}
+
+<SPECIAL>\({WS}else{WS}\) {
+ yy_pop_state();
+ yylval.lineno = lineno;
+ return ELSE;
+}
+
<SPECIAL>[{] {
yy_push_state(BRACED);
yylval.lineno = lineno;