diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-19 10:18:56 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-19 10:18:56 +0000 |
commit | 04247ab5b46d713941dd092f8ef1b1c7150e5272 (patch) | |
tree | 24fe483ad840e801fe9930f3b4a6684b33c03a32 /parse.y | |
parent | 312d5bf7f2eb48c83ede97a609ef71cb346b27a4 (diff) | |
download | ruby-04247ab5b46d713941dd092f8ef1b1c7150e5272.tar.gz |
* parse.y (parser_yylex): reduced duplicated conditions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -6117,7 +6117,7 @@ arg_ambiguous_gen(struct parser_params *parser) dispatch0(arg_ambiguous); #endif } -#define arg_ambiguous() arg_ambiguous_gen(parser) +#define arg_ambiguous() (arg_ambiguous_gen(parser), 1) static ID formal_argument_gen(struct parser_params *parser, ID lhs) @@ -6886,8 +6886,7 @@ parser_yylex(struct parser_params *parser) lex_state = EXPR_BEG; return tOP_ASGN; } - if (IS_BEG() || IS_SPCARG(c)) { - if (!IS_BEG()) arg_ambiguous(); + if (IS_BEG() || (IS_SPCARG(c) && arg_ambiguous())) { lex_state = EXPR_BEG; pushback(c); if (c != -1 && ISDIGIT(c)) { @@ -6919,8 +6918,7 @@ parser_yylex(struct parser_params *parser) lex_state = EXPR_ARG; return tLAMBDA; } - if (IS_BEG() || IS_SPCARG(c)) { - if (!IS_BEG()) arg_ambiguous(); + if (IS_BEG() || (IS_SPCARG(c) && arg_ambiguous())) { lex_state = EXPR_BEG; pushback(c); if (c != -1 && ISDIGIT(c)) { |