diff options
| -rw-r--r-- | mrbgems/mruby-compiler/core/parse.y | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 5daae941c..86b38f0c4 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -2853,6 +2853,7 @@ words : tWORDS_BEG tSTRING symbol : basic_symbol { + p->lstate = EXPR_ENDARG; $$ = new_sym(p, $1); } | tSYMBEG tSTRING_BEG string_rep tSTRING @@ -2864,7 +2865,6 @@ symbol : basic_symbol basic_symbol : tSYMBEG sym { - p->lstate = EXPR_END; $$ = $2; } ; @@ -4125,7 +4125,7 @@ parse_string(parser_state *p) } tokfix(p); - p->lstate = EXPR_END; + p->lstate = EXPR_ENDARG; end_strterm(p); if (type & STR_FUNC_XQUOTE) { @@ -4612,7 +4612,7 @@ parser_yylex(parser_state *p) } tokfix(p); pylval.nd = new_str(p, tok(p), toklen(p)); - p->lstate = EXPR_END; + p->lstate = EXPR_ENDARG; return tCHAR; case '&': @@ -4761,7 +4761,7 @@ parser_yylex(parser_state *p) int is_float, seen_point, seen_e, nondigit; is_float = seen_point = seen_e = nondigit = 0; - p->lstate = EXPR_END; + p->lstate = EXPR_ENDARG; newtok(p); if (c == '-' || c == '+') { tokadd(p, c); |
