summaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
Diffstat (limited to 'parser.l')
-rw-r--r--parser.l10
1 files changed, 5 insertions, 5 deletions
diff --git a/parser.l b/parser.l
index 59e7767e..7875f81b 100644
--- a/parser.l
+++ b/parser.l
@@ -358,12 +358,12 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
return FINALLY;
}
-<NESTED>@\( |
-<SPECIAL,NESTED>\{|\( {
+<NESTED>@[\(\[] |
+<SPECIAL,NESTED>[{(\[] {
yy_push_state(NESTED);
if (yytext[0] == '@') {
- yylval.chr = '(';
- return METAPAR;
+ yylval.chr = yytext[1];
+ return yytext[1] == '(' ? METAPAR : METABKT;
}
yylval.lineno = lineno;
return yytext[0];
@@ -379,7 +379,7 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
return yytext[0];
}
-<SPECIAL,NESTED>\}|\) {
+<SPECIAL,NESTED>[})\]] {
yy_pop_state();
if (yy_top_state() == INITIAL
|| yy_top_state() == QSILIT)