diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-08-26 15:07:51 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-08-26 15:07:51 +0000 |
commit | 604ee5c027d70f8edc6062589074a65b3194702e (patch) | |
tree | a086c5a863c542b57c7c4bb58b2485ded3bfc3e4 /parse.y | |
parent | a0e582abc3ef4b6e20cabe8814171aec2b475abf (diff) | |
download | ruby-604ee5c027d70f8edc6062589074a65b3194702e.tar.gz |
parse.y: parser_string_term
* parse.y (parser_string_term): return the token of string or
regexp literal terminator.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -6331,6 +6331,15 @@ parser_peek_variable_name(struct parser_params *parser) return 0; } +static inline int +parser_string_term(struct parser_params *parser, int func) +{ + if (!(func & STR_FUNC_REGEXP)) return tSTRING_END; + set_yylval_num(regx_options()); + dispatch_scan_event(tREGEXP_END); + return tREGEXP_END; +} + static int parser_parse_string(struct parser_params *parser, NODE *quote) { @@ -6351,10 +6360,7 @@ parser_parse_string(struct parser_params *parser, NODE *quote) quote->nd_func = -1; return ' '; } - if (!(func & STR_FUNC_REGEXP)) return tSTRING_END; - set_yylval_num(regx_options()); - dispatch_scan_event(tREGEXP_END); - return tREGEXP_END; + return parser_string_term(parser, func); } if (space) { pushback(c); |