diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-11-12 15:42:53 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-11-12 15:42:53 +0900 |
commit | 7c22898a3a5a10c8c71683918b53ec2d17fdc621 (patch) | |
tree | b6c105a9aa0c021fc79944734156472537c53fd1 | |
parent | dbaf589fb84a5b42111c85f993430133d8cae32f (diff) |
Disable tOROP at EXPR_BEG
Both cannot appear there anyway.
-rw-r--r-- | parse.y | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -3453,15 +3453,6 @@ block_param_def : '|' opt_bv_decl '|' /*% %*/ /*% ripper: block_var!(params!(Qnil,Qnil,Qnil,Qnil,Qnil,Qnil,Qnil), escape_Qundef($2)) %*/ } - | tOROP - { - p->cur_arg = 0; - p->max_numparam = ORDINAL_PARAM; - /*%%%*/ - $$ = 0; - /*% %*/ - /*% ripper: block_var!(params!(Qnil,Qnil,Qnil,Qnil,Qnil,Qnil,Qnil), Qnil) %*/ - } | '|' block_param opt_bv_decl '|' { p->cur_arg = 0; @@ -9164,6 +9155,11 @@ parser_yylex(struct parser_params *p) return tOP_ASGN; } pushback(p, c); + if (IS_lex_state_for(last_state, EXPR_BEG)) { + c = '|'; + pushback(p, '|'); + return c; + } return tOROP; } if (c == '=') { |