From 46dea2737dcd5d74585878459999f230f2d002bc Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 7 Dec 2011 09:05:38 -0800 Subject: * parser.l: In the CHRLIT state, return a nonblank character as an IDENT token. This allows for character literals like #\$. --- ChangeLog | 5 +++++ parser.l | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 0ff4650a..4dc6b703 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-12-07 Kaz Kylheku + + * parser.l: In the CHRLIT state, return a nonblank character as an + IDENT token. This allows for character literals like #\$. + 2011-12-07 Kaz Kylheku * eval.c (eval_init): New character functions registered. diff --git a/parser.l b/parser.l index e22c6d74..53644a03 100644 --- a/parser.l +++ b/parser.l @@ -585,6 +585,11 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U} return IDENT; } +[^ \t\n] { + yylval.lexeme = utf8_dup_from(yytext); + return IDENT; /* hack */ + } + \n { yyerrprepf(lit("newline in string literal"), nao); lineno++; -- cgit v1.2.3