diff options
Diffstat (limited to 'main/ast_expr2.fl')
-rw-r--r-- | main/ast_expr2.fl | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/main/ast_expr2.fl b/main/ast_expr2.fl index 6fca88293..499706811 100644 --- a/main/ast_expr2.fl +++ b/main/ast_expr2.fl @@ -172,12 +172,17 @@ static char *expr2_token_subst(const char *mess); return TOKEN; } -([a-zA-Z0-9\.';\\_^#@]|[\x80-\xff]|($[^{]))+ { +([a-zA-Z0-9\.';\\_^#@]|[\x80-\xff]|($[^{]))+ { SET_COLUMNS; SET_STRING; return TOKEN; } +([a-zA-Z0-9\.';\\_^#@]|[\x80-\xff]|($[^{]))+\$\{ { + curlycount = 0; + BEGIN(var); + yymore(); + } <var>[^{}]*\} { curlycount--; @@ -202,6 +207,12 @@ static char *expr2_token_subst(const char *mess); return TOKEN; } +<trail>[^-\t\r \n$():?%/+=*<>!|&]*\$\{ { + curlycount = 0; + BEGIN(var); + yymore(); + } + <trail>[-\t\r \n$():?%/+=*<>!|&] { char c = yytext[yyleng-1]; BEGIN(0); @@ -211,12 +222,6 @@ static char *expr2_token_subst(const char *mess); return TOKEN; } -<trail>\$\{ { - curlycount = 0; - BEGIN(var); - yymore(); - } - <trail><<EOF>> { BEGIN(0); SET_COLUMNS; |