mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #3194 from nobu/chained-rhs
parse.y: fix chained assignments
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user