diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-08-13 14:06:35 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2016-08-13 14:06:35 +0900 |
| commit | 86821379fd6aedad7d8559342b03f3c2d14b105b (patch) | |
| tree | 2bcf9e272247d8616e2e800278651dce55f11c77 | |
| parent | bee34fb9bddb850400d56fd34def64a4d5ed5b95 (diff) | |
| parent | bdd7e2bc8caf737143c18270abf7325c3540b7b6 (diff) | |
| download | mruby-86821379fd6aedad7d8559342b03f3c2d14b105b.tar.gz mruby-86821379fd6aedad7d8559342b03f3c2d14b105b.zip | |
Merge pull request #3194 from nobu/chained-rhs
parse.y: fix chained assignments
| -rw-r--r-- | mrbgems/mruby-compiler/core/parse.y | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index ec3d10682..c8fc79297 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -1318,6 +1318,25 @@ stmt : keyword_alias fsym {p->lstate = EXPR_FNAME;} fsym { $$ = new_masgn(p, $1, $3); } + | lhs '=' mrhs + { + $$ = new_asgn(p, $1, new_array(p, $3)); + } + | mlhs '=' arg_value + { + $$ = new_masgn(p, $1, $3); + } + | mlhs '=' mrhs + { + $$ = new_masgn(p, $1, new_array(p, $3)); + } + | expr + ; + +command_asgn : lhs '=' command_rhs + { + $$ = new_asgn(p, $1, $3); + } | var_lhs tOP_ASGN command_rhs { $$ = new_op_asgn(p, $1, $2, $3); @@ -1348,25 +1367,6 @@ stmt : keyword_alias fsym {p->lstate = EXPR_FNAME;} fsym backref_error(p, $1); $$ = new_begin(p, 0); } - | lhs '=' mrhs - { - $$ = new_asgn(p, $1, new_array(p, $3)); - } - | mlhs '=' arg_value - { - $$ = new_masgn(p, $1, $3); - } - | mlhs '=' mrhs - { - $$ = new_masgn(p, $1, new_array(p, $3)); - } - | expr - ; - -command_asgn : lhs '=' command_rhs - { - $$ = new_asgn(p, $1, $3); - } ; command_rhs : command_call %prec tOP_ASGN |
