summaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
Diffstat (limited to 'parser.l')
-rw-r--r--parser.l9
1 files changed, 4 insertions, 5 deletions
diff --git a/parser.l b/parser.l
index 79392ce3..aa7fb6dc 100644
--- a/parser.l
+++ b/parser.l
@@ -474,8 +474,8 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
return COLL;
}
-<SPECIAL>\({WS}until{WS}\) {
- yy_pop_state(yyscanner);
+<SPECIAL>\({WS}until/{ID_END} {
+ yy_push_state(NESTED, yyscanner);
yylval->lineno = yyextra->lineno;
return UNTIL;
}
@@ -492,7 +492,6 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
return REPEAT;
}
-
<SPECIAL>\({WS}rep/{ID_END} {
yy_push_state(NESTED, yyscanner);
yylval->lineno = yyextra->lineno;
@@ -511,8 +510,8 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
return FIRST;
}
-<SPECIAL>\({WS}last{WS}\) {
- yy_pop_state(yyscanner);
+<SPECIAL>\({WS}last/{ID_END} {
+ yy_push_state(NESTED, yyscanner);
yylval->lineno = yyextra->lineno;
return LAST;
}