diff options
Diffstat (limited to 'parser.l')
-rw-r--r-- | parser.l | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -1065,6 +1065,7 @@ void prime_scanner(scanner_t *yyg, enum prime_parser prim) switch (prim) { case prime_lisp: + case prime_interactive: yy_push_state(SPECIAL, yyg); yy_push_state(NESTED, yyg); yy_push_state(NESTED, yyg); @@ -1075,6 +1076,16 @@ void prime_scanner(scanner_t *yyg, enum prime_parser prim) } } +void scrub_scanner(scanner_t *yyg, int yy_char, wchar_t *lexeme) +{ + struct yy_token *rtok = &yyextra->recent_tok; + + if (rtok->yy_char == yy_char && rtok->yy_lval.lexeme == lexeme) { + rtok->yy_char = 0; + rtok->yy_lval.lexeme = 0; + } +} + void parser_l_init(void) { prot1(&form_to_ln_hash); |