Method: Parser::Ruby33#_reduce_289
- Defined in:
- lib/parser/ruby33.rb
permalink #_reduce_289(val, _values, result) ⇒ Object
9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 |
# File 'lib/parser/ruby33.rb', line 9875 def _reduce_289(val, _values, result) # call_args can be followed by tLBRACE_ARG (that does cmdarg.push(0) in the lexer) # but the push must be done after cmdarg.pop() in the parser. # So this code does cmdarg.pop() to pop 0 pushed by tLBRACE_ARG, # cmdarg.pop() to pop 1 pushed by command_args, # and cmdarg.push(0) to restore back the flag set by tLBRACE_ARG. last_token = @last_token[0] lookahead = last_token == :tLBRACE_ARG if lookahead top = @lexer.cmdarg.pop @lexer.cmdarg.pop @lexer.cmdarg.push(top) else @lexer.cmdarg.pop end result = val[1] result end |