Use user defined parameterizing rules value_expr
This commit is contained in:
parent
7124c34f51
commit
0eb63c410e
Notes:
git
2025-01-04 09:07:47 +00:00
35
parse.y
35
parse.y
@ -2989,6 +2989,14 @@ rb_parser_ary_free(rb_parser_t *p, rb_parser_ary_t *ary)
|
||||
}
|
||||
;
|
||||
|
||||
%rule value_expr(value) <node>
|
||||
: value
|
||||
{
|
||||
value_expr($1);
|
||||
$$ = $1;
|
||||
}
|
||||
;
|
||||
|
||||
%rule words(begin, word_list) <node>
|
||||
: begin ' '+ word_list tSTRING_END
|
||||
{
|
||||
@ -3444,11 +3452,7 @@ defs_head : k_def singleton dot_or_colon
|
||||
}
|
||||
;
|
||||
|
||||
expr_value : expr
|
||||
{
|
||||
value_expr($1);
|
||||
$$ = $1;
|
||||
}
|
||||
expr_value : value_expr(expr)
|
||||
| error
|
||||
{
|
||||
$$ = NEW_ERROR(&@$);
|
||||
@ -4141,11 +4145,7 @@ after_rescue : lex_ctxt
|
||||
}
|
||||
;
|
||||
|
||||
arg_value : arg
|
||||
{
|
||||
value_expr($1);
|
||||
$$ = $1;
|
||||
}
|
||||
arg_value : value_expr(arg)
|
||||
;
|
||||
|
||||
aref_args : none
|
||||
@ -4231,9 +4231,8 @@ opt_call_args : none
|
||||
}
|
||||
;
|
||||
|
||||
call_args : command
|
||||
call_args : value_expr(command)
|
||||
{
|
||||
value_expr($1);
|
||||
$$ = NEW_LIST($1, &@$);
|
||||
/*% ripper: args_add!(args_new!, $:1) %*/
|
||||
}
|
||||
@ -4723,11 +4722,7 @@ primary : inline_primary
|
||||
}
|
||||
;
|
||||
|
||||
primary_value : primary
|
||||
{
|
||||
value_expr($1);
|
||||
$$ = $1;
|
||||
}
|
||||
primary_value : value_expr(primary)
|
||||
;
|
||||
|
||||
k_begin : keyword_begin
|
||||
@ -6699,11 +6694,7 @@ opt_f_block_arg : ',' f_block_arg
|
||||
}
|
||||
;
|
||||
|
||||
singleton : var_ref
|
||||
{
|
||||
value_expr($1);
|
||||
$$ = $1;
|
||||
}
|
||||
singleton : value_expr(var_ref)
|
||||
| '('
|
||||
{
|
||||
SET_LEX_STATE(EXPR_BEG);
|
||||
|
Loading…
x
Reference in New Issue
Block a user