summaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
Diffstat (limited to 'parser.l')
-rw-r--r--parser.l9
1 files changed, 8 insertions, 1 deletions
diff --git a/parser.l b/parser.l
index 279cb7ec..d2745c99 100644
--- a/parser.l
+++ b/parser.l
@@ -88,7 +88,7 @@ void yyerrorf(val fmt, ...)
format(std_error, lit("~a: (~a:~a): "), prog_string,
spec_file_str, num(lineno), nao);
vformat(std_error, fmt, vl);
- put_char(std_error, chr('\n'));
+ put_char(chr('\n'), std_error);
va_end (vl);
}
errors++;
@@ -211,6 +211,13 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
return IDENT;
}
}
+<NESTED>: {
+ if (yy_top_state() == INITIAL
+ || yy_top_state() == QSILIT)
+ yy_pop_state();
+ yylval.lexeme = utf8_dup_from("");
+ return KEYWORD;
+ }
<SPECIAL>\({WS}all{WS}\) {
yy_pop_state();