Class: Ruby33Parser

Inherits:
RubyParser::Parser show all
Includes:
RubyLexer::State::Values
Defined in:
lib/ruby_parser33.rb

Direct Known Subclasses

RubyParser::V33

Constant Summary collapse

Racc_arg =
[
racc_action_table,
racc_action_check,
racc_action_default,
racc_action_pointer,
racc_goto_table,
racc_goto_check,
racc_goto_default,
racc_goto_pointer,
racc_nt_base,
racc_reduce_table,
racc_token_table,
racc_shift_n,
racc_reduce_n,
racc_use_result_var ]
Racc_token_to_s_table =
[
"$end",
"error",
"kCLASS",
"kMODULE",
"kDEF",
"kUNDEF",
"kBEGIN",
"kRESCUE",
"kENSURE",
"kEND",
"kIF",
"kUNLESS",
"kTHEN",
"kELSIF",
"kELSE",
"kCASE",
"kWHEN",
"kWHILE",
"kUNTIL",
"kFOR",
"kBREAK",
"kNEXT",
"kREDO",
"kRETRY",
"kIN",
"kDO",
"kDO_COND",
"kDO_BLOCK",
"kDO_LAMBDA",
"kRETURN",
"kYIELD",
"kSUPER",
"kSELF",
"kNIL",
"kTRUE",
"kFALSE",
"kAND",
"kOR",
"kNOT",
"kIF_MOD",
"kUNLESS_MOD",
"kWHILE_MOD",
"kUNTIL_MOD",
"kRESCUE_MOD",
"kALIAS",
"kDEFINED",
"klBEGIN",
"klEND",
"k__LINE__",
"k__FILE__",
"k__ENCODING__",
"tIDENTIFIER",
"tFID",
"tGVAR",
"tIVAR",
"tCONSTANT",
"tLABEL",
"tCVAR",
"tNTH_REF",
"tBACK_REF",
"tSTRING_CONTENT",
"tINTEGER",
"tFLOAT",
"tREGEXP_END",
"tUPLUS",
"tUMINUS",
"tUMINUS_NUM",
"tPOW",
"tCMP",
"tEQ",
"tEQQ",
"tNEQ",
"tGEQ",
"tLEQ",
"tANDOP",
"tOROP",
"tMATCH",
"tNMATCH",
"tDOT",
"tDOT2",
"tDOT3",
"tAREF",
"tASET",
"tLSHFT",
"tRSHFT",
"tCOLON2",
"tCOLON3",
"tOP_ASGN",
"tASSOC",
"tLPAREN",
"tLPAREN2",
"tRPAREN",
"tLPAREN_ARG",
"tLBRACK",
"tLBRACK2",
"tRBRACK",
"tLBRACE",
"tLBRACE_ARG",
"tSTAR",
"tSTAR2",
"tAMPER",
"tAMPER2",
"tTILDE",
"tPERCENT",
"tDIVIDE",
"tPLUS",
"tMINUS",
"tLT",
"tGT",
"tPIPE",
"tBANG",
"tCARET",
"tLCURLY",
"tRCURLY",
"tBACK_REF2",
"tSYMBEG",
"tSTRING_BEG",
"tXSTRING_BEG",
"tREGEXP_BEG",
"tWORDS_BEG",
"tQWORDS_BEG",
"tSTRING_DBEG",
"tSTRING_DVAR",
"tSTRING_END",
"tSTRING",
"tSYMBOL",
"tNL",
"tEH",
"tCOLON",
"tCOMMA",
"tSPACE",
"tSEMI",
"tLAMBDA",
"tLAMBEG",
"tDSTAR",
"tCHAR",
"tSYMBOLS_BEG",
"tQSYMBOLS_BEG",
"tSTRING_DEND",
"tRATIONAL",
"tIMAGINARY",
"tLABEL_END",
"tLONELY",
"tBDOT2",
"tBDOT3",
"tLOWEST",
"tEQL",
"$start",
"program",
"top_compstmt",
"@1",
"top_stmts",
"opt_terms",
"none",
"top_stmt",
"terms",
"stmt",
"begin_block",
"@2",
"bodystmt",
"compstmt",
"opt_rescue",
"k_else",
"opt_ensure",
"@3",
"stmts",
"stmt_or_begin",
"@4",
"fitem",
"undef_list",
"expr_value",
"command_asgn",
"mlhs",
"command_call",
"lhs",
"mrhs",
"mrhs_arg",
"expr",
"@5",
"command_rhs",
"var_lhs",
"primary_value",
"opt_call_args",
"rbracket",
"call_op",
"defn_head",
"f_opt_paren_args",
"command",
"arg",
"defs_head",
"backref",
"opt_nl",
"p_top_expr_body",
"def_name",
"@6",
"@7",
"fname",
"k_def",
"singleton",
"dot_or_colon",
"@8",
"expr_value_do",
"do",
"@9",
"@10",
"block_command",
"block_call",
"call_op2",
"operation2",
"command_args",
"cmd_brace_block",
"brace_body",
"fcall",
"@11",
"operation",
"k_return",
"call_args",
"mlhs_basic",
"mlhs_inner",
"rparen",
"mlhs_head",
"mlhs_item",
"mlhs_node",
"mlhs_post",
"user_variable",
"keyword_variable",
"cname",
"cpath",
"op",
"reswords",
"symbol",
"@12",
"arg_rhs",
"simple_numeric",
"rel_expr",
"primary",
"relop",
"arg_value",
"aref_args",
"args",
"trailer",
"assocs",
"paren_args",
"args_forward",
"opt_paren_args",
"opt_block_arg",
"block_arg",
"@13",
"literal",
"strings",
"xstring",
"regexp",
"words",
"qwords",
"symbols",
"qsymbols",
"var_ref",
"k_begin",
"k_end",
"assoc_list",
"brace_block",
"method_call",
"lambda",
"k_if",
"then",
"if_tail",
"k_unless",
"opt_else",
"k_while",
"k_until",
"k_case",
"case_body",
"p_case_body",
"k_for",
"for_var",
"k_class",
"superclass",
"term",
"k_module",
"f_arglist",
"@14",
"@15",
"@16",
"@17",
"@18",
"@19",
"@20",
"@21",
"k_do",
"k_do_block",
"k_rescue",
"k_ensure",
"k_when",
"k_elsif",
"f_marg",
"f_norm_arg",
"f_margs",
"f_marg_list",
"f_rest_marg",
"f_any_kwrest",
"f_kwrest",
"f_no_kwarg",
"f_eq",
"block_args_tail",
"@22",
"f_block_kwarg",
"opt_f_block_arg",
"f_block_arg",
"opt_block_args_tail",
"excessed_comma",
"block_param",
"f_arg",
"f_block_optarg",
"f_rest_arg",
"opt_block_param",
"block_param_def",
"opt_bv_decl",
"bv_decls",
"bvar",
"f_bad_arg",
"f_larglist",
"lambda_body",
"@23",
"@24",
"f_args",
"do_block",
"do_body",
"operation3",
"@25",
"@26",
"@27",
"@28",
"case_args",
"@29",
"@30",
"cases",
"p_top_expr",
"p_cases",
"@31",
"@32",
"p_expr",
"p_args",
"p_find",
"p_args_tail",
"p_kwargs",
"p_as",
"p_variable",
"p_alt",
"p_expr_basic",
"p_lparen",
"p_lbracket",
"p_value",
"p_const",
"rbrace",
"@33",
"@34",
"p_args_head",
"p_arg",
"p_rest",
"p_args_post",
"p_kwarg",
"p_any_kwrest",
"p_kw",
"p_kw_label",
"string_contents",
"p_kwrest",
"kwrest_mark",
"p_kwnorest",
"p_primitive",
"p_var_ref",
"p_expr_ref",
"nonlocal_var",
"exc_list",
"exc_var",
"numeric",
"string",
"string1",
"xstring_contents",
"regexp_contents",
"word_list",
"word",
"string_content",
"symbol_list",
"qword_list",
"qsym_list",
"string_dvar",
"@35",
"@36",
"ssym",
"dsym",
"sym",
"@37",
"f_paren_args",
"args_tail",
"@38",
"f_kwarg",
"opt_args_tail",
"f_optarg",
"f_arg_asgn",
"f_arg_item",
"f_label",
"f_kw",
"f_block_kw",
"f_opt",
"f_block_opt",
"restarg_mark",
"blkarg_mark",
"@39",
"assoc" ]
Racc_debug_parser =
false

Constants included from RubyLexer::State::Values

RubyLexer::State::Values::EXPR_ARG, RubyLexer::State::Values::EXPR_ARG_ANY, RubyLexer::State::Values::EXPR_BEG, RubyLexer::State::Values::EXPR_BEG_ANY, RubyLexer::State::Values::EXPR_CLASS, RubyLexer::State::Values::EXPR_CMDARG, RubyLexer::State::Values::EXPR_DOT, RubyLexer::State::Values::EXPR_END, RubyLexer::State::Values::EXPR_ENDARG, RubyLexer::State::Values::EXPR_ENDFN, RubyLexer::State::Values::EXPR_END_ANY, RubyLexer::State::Values::EXPR_FITEM, RubyLexer::State::Values::EXPR_FNAME, RubyLexer::State::Values::EXPR_LAB, RubyLexer::State::Values::EXPR_LABEL, RubyLexer::State::Values::EXPR_LABELED, RubyLexer::State::Values::EXPR_LIT, RubyLexer::State::Values::EXPR_MID, RubyLexer::State::Values::EXPR_NONE, RubyLexer::State::Values::EXPR_NUM, RubyLexer::State::Values::EXPR_PAD, RubyLexer::State::Values::EXPR_PAR, RubyLexer::State::Values::STR_DQUOTE, RubyLexer::State::Values::STR_DSYM, RubyLexer::State::Values::STR_DWORD, RubyLexer::State::Values::STR_FUNC_BORING, RubyLexer::State::Values::STR_FUNC_DEDENT, RubyLexer::State::Values::STR_FUNC_ESCAPE, RubyLexer::State::Values::STR_FUNC_EXPAND, RubyLexer::State::Values::STR_FUNC_INDENT, RubyLexer::State::Values::STR_FUNC_LABEL, RubyLexer::State::Values::STR_FUNC_LIST, RubyLexer::State::Values::STR_FUNC_QWORDS, RubyLexer::State::Values::STR_FUNC_REGEXP, RubyLexer::State::Values::STR_FUNC_SYMBOL, RubyLexer::State::Values::STR_FUNC_TERM, RubyLexer::State::Values::STR_LABEL, RubyLexer::State::Values::STR_REGEXP, RubyLexer::State::Values::STR_SQUOTE, RubyLexer::State::Values::STR_SSYM, RubyLexer::State::Values::STR_SWORD, RubyLexer::State::Values::STR_XQUOTE

Constants included from RubyParserStuff

RubyParserStuff::ARG_TYPES, RubyParserStuff::ENCODING_ORDER, RubyParserStuff::JUMP_TYPE, RubyParserStuff::KEEP_COMMENT_TOKENS, RubyParserStuff::TAB_WIDTH, RubyParserStuff::VERSION

Instance Attribute Summary

Attributes included from RubyParserStuff

#canonicalize_conditions, #env, #file, #in_argdef, #in_def, #in_kwarg, #in_single, #last_token_type, #lexer

Instance Method Summary collapse

Methods inherited from RubyParser::Parser

inherited, version, version=

Methods included from RubyParserStuff

#_racc_do_reduce, #arg_concat, #argl, #args, #array_pat_concat, #array_to_hash, #ary_to_pat, #aryset, #assignable, #attrset_id?, #backref_assign_error, #block_append, #block_dup_check, #block_var, #call_args, #clean_mlhs, #cond, #debug, #debug20, #dedent, #dedent_size, #dedent_string, deprecate, #do_parse, #end_args, #endless_method_name, #gettable, #hack_encoding, #handle_encoding, #initialize, #invert_block_call, #inverted?, #list_append, #list_prepend, #literal_concat, #local_pop, #logical_op, #new_aref, #new_arg, #new_array_pattern, #new_array_pattern_tail, #new_assign, #new_attrasgn, #new_begin, #new_body, #new_brace_body, #new_call, #new_case, #new_class, #new_compstmt, #new_const_op_asgn, #new_defn, #new_defs, #new_do_body, #new_endless_defn, #new_endless_defs, #new_find_pattern, #new_find_pattern_tail, #new_for, #new_hash, #new_hash_pattern, #new_hash_pattern_tail, #new_if, #new_in, #new_iter, #new_masgn, #new_masgn_arg, #new_match, #new_module, #new_op_asgn, #new_op_asgn1, #new_op_asgn2, #new_qsym_list, #new_qsym_list_entry, #new_qword_list, #new_qword_list_entry, #new_regexp, #new_resbody, #new_rescue, #new_sclass, #new_string, #new_super, #new_symbol, #new_symbol_list, #new_symbol_list_entry, #new_undef, #new_until, #new_until_or_while, #new_when, #new_while, #new_word_list, #new_word_list_entry, #new_xstring, #new_yield, #next_token, #on_error, #pop_pktbl, #pop_pvtbl, #prev_value_to_lineno, #process, #push_pktbl, #push_pvtbl, #remove_begin, #reset, #ret_args, #s, #syntax_error, #void_stmts, #warning, #whitespace_width, #wrap

Instance Method Details

#_reduce_1(val, _values, result) ⇒ Object

reduce 0 omitted



8896
8897
8898
8899
8900
# File 'lib/ruby_parser33.rb', line 8896

def _reduce_1(val, _values, result)
                      self.lexer.lex_state = EXPR_BEG

    result
end

#_reduce_10(val, _values, result) ⇒ Object



8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
# File 'lib/ruby_parser33.rb', line 8942

def _reduce_10(val, _values, result)
                      (_, lineno), _, iter = val
                      iter.line lineno

                      (_, preexe,) = iter
                      preexe.line lineno

                      result = iter

    result
end

#_reduce_100(val, _values, result) ⇒ Object



9587
9588
9589
9590
9591
9592
9593
# File 'lib/ruby_parser33.rb', line 9587

def _reduce_100(val, _values, result)
                      head, _ = val
                      l = head.line
                      result = s(:masgn, head << s(:splat).line(l)).line l

    result
end

#_reduce_101(val, _values, result) ⇒ Object



9595
9596
9597
9598
9599
9600
9601
9602
# File 'lib/ruby_parser33.rb', line 9595

def _reduce_101(val, _values, result)
                      head, _, _, post = val
                      ary = list_append head, s(:splat).line(head.line)
                      ary.concat post.sexp_body
                      result = s(:masgn, ary).line ary.line

    result
end

#_reduce_102(val, _values, result) ⇒ Object



9604
9605
9606
9607
9608
9609
9610
9611
9612
# File 'lib/ruby_parser33.rb', line 9604

def _reduce_102(val, _values, result)
                      _, node = val
                      l = node.line
                      splat  = s(:splat, node).line l
                      ary    = s(:array, splat).line l
                      result = s(:masgn, ary).line l

    result
end

#_reduce_103(val, _values, result) ⇒ Object



9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
# File 'lib/ruby_parser33.rb', line 9614

def _reduce_103(val, _values, result)
                      _, node, _, post = val

                      splat = s(:splat, node).line node.line
                      ary = s(:array, splat).line splat.line
                      ary.concat post.sexp_body
                      result = s(:masgn, ary).line ary.line

    result
end

#_reduce_104(val, _values, result) ⇒ Object



9625
9626
9627
9628
9629
9630
# File 'lib/ruby_parser33.rb', line 9625

def _reduce_104(val, _values, result)
                      (_, l), = val
                      result = s(:masgn, s(:array, s(:splat).line(l)).line(l)).line l

    result
end

#_reduce_105(val, _values, result) ⇒ Object



9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
# File 'lib/ruby_parser33.rb', line 9632

def _reduce_105(val, _values, result)
                      _, _, post = val
                      l = post.line

                      splat = s(:splat).line l
                      ary = s(:array, splat, *post.sexp_body).line l
                      result = s(:masgn, ary).line l

    result
end

#_reduce_107(val, _values, result) ⇒ Object

reduce 106 omitted



9645
9646
9647
9648
9649
# File 'lib/ruby_parser33.rb', line 9645

def _reduce_107(val, _values, result)
                      result = val[1]

    result
end

#_reduce_108(val, _values, result) ⇒ Object



9651
9652
9653
9654
9655
9656
# File 'lib/ruby_parser33.rb', line 9651

def _reduce_108(val, _values, result)
                      lhs, _ = val
                      result = s(:array, lhs).line lhs.line

    result
end

#_reduce_109(val, _values, result) ⇒ Object



9658
9659
9660
9661
9662
# File 'lib/ruby_parser33.rb', line 9658

def _reduce_109(val, _values, result)
                      result = val[0] << val[1].compact

    result
end

#_reduce_11(val, _values, result) ⇒ Object



8954
8955
8956
8957
8958
8959
# File 'lib/ruby_parser33.rb', line 8954

def _reduce_11(val, _values, result)
                      (_, line), stmt, _ = val
                      result = new_iter s(:preexe).line(line), 0, stmt

    result
end

#_reduce_110(val, _values, result) ⇒ Object



9664
9665
9666
9667
9668
9669
# File 'lib/ruby_parser33.rb', line 9664

def _reduce_110(val, _values, result)
                      item, = val
                      result = s(:array, item).line item.line

    result
end

#_reduce_111(val, _values, result) ⇒ Object



9671
9672
9673
9674
9675
# File 'lib/ruby_parser33.rb', line 9671

def _reduce_111(val, _values, result)
                      result = list_append val[0], val[2]

    result
end

#_reduce_112(val, _values, result) ⇒ Object



9677
9678
9679
9680
9681
# File 'lib/ruby_parser33.rb', line 9677

def _reduce_112(val, _values, result)
                      result = self.assignable val[0]

    result
end

#_reduce_113(val, _values, result) ⇒ Object



9683
9684
9685
9686
9687
# File 'lib/ruby_parser33.rb', line 9683

def _reduce_113(val, _values, result)
                      result = self.assignable val[0]

    result
end

#_reduce_114(val, _values, result) ⇒ Object



9689
9690
9691
9692
9693
# File 'lib/ruby_parser33.rb', line 9689

def _reduce_114(val, _values, result)
                      result = self.aryset val[0], val[2]

    result
end

#_reduce_115(val, _values, result) ⇒ Object



9695
9696
9697
9698
9699
9700
9701
# File 'lib/ruby_parser33.rb', line 9695

def _reduce_115(val, _values, result)
                      lhs, call_op, (id, _line) = val

                      result = new_attrasgn lhs, id, call_op

    result
end

#_reduce_116(val, _values, result) ⇒ Object



9703
9704
9705
9706
9707
9708
# File 'lib/ruby_parser33.rb', line 9703

def _reduce_116(val, _values, result)
                      recv, _, (id, _line) = val
                      result = new_attrasgn recv, id

    result
end

#_reduce_117(val, _values, result) ⇒ Object



9710
9711
9712
9713
9714
9715
9716
# File 'lib/ruby_parser33.rb', line 9710

def _reduce_117(val, _values, result)
                      lhs, call_op, (id, _line) = val

                      result = new_attrasgn lhs, id, call_op

    result
end

#_reduce_118(val, _values, result) ⇒ Object



9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
# File 'lib/ruby_parser33.rb', line 9718

def _reduce_118(val, _values, result)
                      if (self.in_def || self.in_single > 0) then
                        debug 4
                        yyerror "dynamic constant assignment"
                      end

                      expr, _, (id, _line) = val
                      l = expr.line

                      result = s(:const, s(:colon2, expr, id.to_sym).line(l), nil).line l

    result
end

#_reduce_119(val, _values, result) ⇒ Object



9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
# File 'lib/ruby_parser33.rb', line 9732

def _reduce_119(val, _values, result)
                      if (self.in_def || self.in_single > 0) then
                        debug 5
                        yyerror "dynamic constant assignment"
                      end

                      _, (id, l) = val

                      result = s(:const, nil, s(:colon3, id.to_sym).line(l)).line l

    result
end

#_reduce_12(val, _values, result) ⇒ Object



8961
8962
8963
8964
8965
8966
# File 'lib/ruby_parser33.rb', line 8961

def _reduce_12(val, _values, result)
                      res = _values[-2]
                      yyerror "else without rescue is useless" unless res

    result
end

#_reduce_120(val, _values, result) ⇒ Object



9745
9746
9747
9748
9749
9750
9751
# File 'lib/ruby_parser33.rb', line 9745

def _reduce_120(val, _values, result)
                      ref, = val

                      self.backref_assign_error ref

    result
end

#_reduce_121(val, _values, result) ⇒ Object



9753
9754
9755
9756
9757
9758
9759
# File 'lib/ruby_parser33.rb', line 9753

def _reduce_121(val, _values, result)
                      var, = val

                      result = self.assignable var

    result
end

#_reduce_122(val, _values, result) ⇒ Object



9761
9762
9763
9764
9765
9766
9767
9768
9769
# File 'lib/ruby_parser33.rb', line 9761

def _reduce_122(val, _values, result)
                      var, = val

                      result = self.assignable var

                      debug 6

    result
end

#_reduce_123(val, _values, result) ⇒ Object



9771
9772
9773
9774
9775
9776
9777
# File 'lib/ruby_parser33.rb', line 9771

def _reduce_123(val, _values, result)
                      lhs, _, args, _ = val

                      result = self.aryset lhs, args

    result
end

#_reduce_124(val, _values, result) ⇒ Object



9779
9780
9781
9782
9783
9784
9785
# File 'lib/ruby_parser33.rb', line 9779

def _reduce_124(val, _values, result)
                      lhs, op, (id, _line) = val

                      result = new_attrasgn lhs, id, op

    result
end

#_reduce_125(val, _values, result) ⇒ Object



9787
9788
9789
9790
9791
9792
9793
# File 'lib/ruby_parser33.rb', line 9787

def _reduce_125(val, _values, result)
                      lhs, _, (id, _line) = val

                      result = new_attrasgn lhs, id

    result
end

#_reduce_126(val, _values, result) ⇒ Object



9795
9796
9797
9798
9799
9800
9801
# File 'lib/ruby_parser33.rb', line 9795

def _reduce_126(val, _values, result)
                      lhs, call_op, (id, _line) = val

                      result = new_attrasgn lhs, id, call_op

    result
end

#_reduce_127(val, _values, result) ⇒ Object



9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
# File 'lib/ruby_parser33.rb', line 9803

def _reduce_127(val, _values, result)
                      expr, _, (id, _line) = val

                      if (self.in_def || self.in_single > 0) then
                        debug 7
                        yyerror "dynamic constant assignment"
                      end

                      l = expr.line
                      result = s(:const, s(:colon2, expr, id.to_sym).line(l)).line l

    result
end

#_reduce_128(val, _values, result) ⇒ Object



9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
# File 'lib/ruby_parser33.rb', line 9817

def _reduce_128(val, _values, result)
                      _, (id, l) = val

                      if (self.in_def || self.in_single > 0) then
                        debug 8
                        yyerror "dynamic constant assignment"
                      end

                      result = s(:const, s(:colon3, id.to_sym).line(l)).line l

    result
end

#_reduce_129(val, _values, result) ⇒ Object



9830
9831
9832
9833
9834
# File 'lib/ruby_parser33.rb', line 9830

def _reduce_129(val, _values, result)
                      self.backref_assign_error val[0]

    result
end

#_reduce_13(val, _values, result) ⇒ Object



8968
8969
8970
8971
8972
8973
8974
# File 'lib/ruby_parser33.rb', line 8968

def _reduce_13(val, _values, result)
                      body, resc, _, _, els, ens = val

                      result = new_body [body, resc, els, ens]

    result
end

#_reduce_130(val, _values, result) ⇒ Object



9836
9837
9838
9839
9840
# File 'lib/ruby_parser33.rb', line 9836

def _reduce_130(val, _values, result)
                      yyerror "class/module name must be CONSTANT"

    result
end

#_reduce_132(val, _values, result) ⇒ Object

reduce 131 omitted



9844
9845
9846
9847
9848
# File 'lib/ruby_parser33.rb', line 9844

def _reduce_132(val, _values, result)
                      result = wrap :colon3, val[1]

    result
end

#_reduce_133(val, _values, result) ⇒ Object



9850
9851
9852
9853
9854
9855
# File 'lib/ruby_parser33.rb', line 9850

def _reduce_133(val, _values, result)
                      (id, line), = val
                      result = [id.to_sym, line] # TODO: sexp?

    result
end

#_reduce_134(val, _values, result) ⇒ Object



9857
9858
9859
9860
9861
9862
9863
9864
# File 'lib/ruby_parser33.rb', line 9857

def _reduce_134(val, _values, result)
                      pval, _, (name, _line) = val

                      result = s(:colon2, pval, name.to_sym)
                      result.line pval.line

    result
end

#_reduce_138(val, _values, result) ⇒ Object

reduce 137 omitted



9872
9873
9874
9875
9876
# File 'lib/ruby_parser33.rb', line 9872

def _reduce_138(val, _values, result)
                      lexer.lex_state = EXPR_END

    result
end

#_reduce_14(val, _values, result) ⇒ Object



8976
8977
8978
8979
8980
8981
8982
# File 'lib/ruby_parser33.rb', line 8976

def _reduce_14(val, _values, result)
                      body, resc, ens = val

                      result = new_body [body, resc, nil, ens]

    result
end

#_reduce_140(val, _values, result) ⇒ Object

reduce 139 omitted



9880
9881
9882
9883
9884
# File 'lib/ruby_parser33.rb', line 9880

def _reduce_140(val, _values, result)
                      result = wrap :lit, val[0]

    result
end

#_reduce_142(val, _values, result) ⇒ Object

reduce 141 omitted



9888
9889
9890
9891
9892
# File 'lib/ruby_parser33.rb', line 9888

def _reduce_142(val, _values, result)
                      result = new_undef val[0]

    result
end

#_reduce_143(val, _values, result) ⇒ Object



9894
9895
9896
9897
9898
# File 'lib/ruby_parser33.rb', line 9894

def _reduce_143(val, _values, result)
                      lexer.lex_state = EXPR_FNAME

    result
end

#_reduce_144(val, _values, result) ⇒ Object



9900
9901
9902
9903
9904
# File 'lib/ruby_parser33.rb', line 9900

def _reduce_144(val, _values, result)
                      result = new_undef val[0], val[3]

    result
end

#_reduce_15(val, _values, result) ⇒ Object



8984
8985
8986
8987
8988
# File 'lib/ruby_parser33.rb', line 8984

def _reduce_15(val, _values, result)
                      result = new_compstmt val

    result
end

#_reduce_18(val, _values, result) ⇒ Object

reduce 17 omitted



8994
8995
8996
8997
8998
# File 'lib/ruby_parser33.rb', line 8994

def _reduce_18(val, _values, result)
                      result = self.block_append val[0], val[2]

    result
end

#_reduce_19(val, _values, result) ⇒ Object



9000
9001
9002
9003
9004
9005
# File 'lib/ruby_parser33.rb', line 9000

def _reduce_19(val, _values, result)
                      result = val[1]
                      debug 2

    result
end

#_reduce_2(val, _values, result) ⇒ Object



8902
8903
8904
8905
8906
8907
8908
8909
# File 'lib/ruby_parser33.rb', line 8902

def _reduce_2(val, _values, result)
                      result = new_compstmt val

                      lexer.cond.pop # local_pop
                      lexer.cmdarg.pop

    result
end

#_reduce_21(val, _values, result) ⇒ Object

reduce 20 omitted



9009
9010
9011
9012
9013
# File 'lib/ruby_parser33.rb', line 9009

def _reduce_21(val, _values, result)
                      yyerror "BEGIN is permitted only at toplevel"

    result
end

#_reduce_216(val, _values, result) ⇒ Object

reduce 215 omitted



10048
10049
10050
10051
10052
# File 'lib/ruby_parser33.rb', line 10048

def _reduce_216(val, _values, result)
                      result = new_assign val[0], val[2]

    result
end

#_reduce_217(val, _values, result) ⇒ Object



10054
10055
10056
10057
10058
# File 'lib/ruby_parser33.rb', line 10054

def _reduce_217(val, _values, result)
                      result = new_op_asgn val

    result
end

#_reduce_218(val, _values, result) ⇒ Object



10060
10061
10062
10063
10064
# File 'lib/ruby_parser33.rb', line 10060

def _reduce_218(val, _values, result)
                      result = new_op_asgn1 val

    result
end

#_reduce_219(val, _values, result) ⇒ Object



10066
10067
10068
10069
10070
# File 'lib/ruby_parser33.rb', line 10066

def _reduce_219(val, _values, result)
                      result = new_op_asgn2 val

    result
end

#_reduce_22(val, _values, result) ⇒ Object



9015
9016
9017
9018
9019
# File 'lib/ruby_parser33.rb', line 9015

def _reduce_22(val, _values, result)
                      result = val[2] # wtf?

    result
end

#_reduce_220(val, _values, result) ⇒ Object



10072
10073
10074
10075
10076
# File 'lib/ruby_parser33.rb', line 10072

def _reduce_220(val, _values, result)
                      result = new_op_asgn2 val

    result
end

#_reduce_221(val, _values, result) ⇒ Object



10078
10079
10080
10081
10082
10083
10084
# File 'lib/ruby_parser33.rb', line 10078

def _reduce_221(val, _values, result)
                      lhs, _, (id, _line), (op, _), rhs = val

                      result = s(:op_asgn, lhs, rhs, id.to_sym, op.to_sym).line lhs.line

    result
end

#_reduce_222(val, _values, result) ⇒ Object



10086
10087
10088
10089
10090
10091
10092
10093
# File 'lib/ruby_parser33.rb', line 10086

def _reduce_222(val, _values, result)
                      lhs1, _, (lhs2, _line), op, rhs = val

                      lhs = s(:colon2, lhs1, lhs2.to_sym).line lhs1.line
                      result = new_const_op_asgn [lhs, op, rhs]

    result
end

#_reduce_223(val, _values, result) ⇒ Object



10095
10096
10097
10098
10099
10100
10101
10102
# File 'lib/ruby_parser33.rb', line 10095

def _reduce_223(val, _values, result)
                      _, lhs, op, rhs = val

                      lhs = wrap :colon3, lhs
                      result = new_const_op_asgn [lhs, op, rhs]

    result
end

#_reduce_224(val, _values, result) ⇒ Object



10104
10105
10106
10107
10108
10109
10110
# File 'lib/ruby_parser33.rb', line 10104

def _reduce_224(val, _values, result)
                      # TODO: lhs = var_field val[0]
                      asgn = new_op_asgn val
                      result = self.backref_assign_error asgn

    result
end

#_reduce_225(val, _values, result) ⇒ Object



10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
# File 'lib/ruby_parser33.rb', line 10112

def _reduce_225(val, _values, result)
                      v1, v2 = val[0], val[2]
                      if v1.sexp_type == :lit and v2.sexp_type == :lit and Integer === v1.last and Integer === v2.last then
                        result = s(:lit, (v1.last)..(v2.last)).line v1.line
                      else
                        result = s(:dot2, v1, v2).line v1.line
                      end

    result
end

#_reduce_226(val, _values, result) ⇒ Object



10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
# File 'lib/ruby_parser33.rb', line 10123

def _reduce_226(val, _values, result)
                      v1, v2 = val[0], val[2]
                      if v1.sexp_type == :lit and v2.sexp_type == :lit and Integer === v1.last and Integer === v2.last then
                        result = s(:lit, (v1.last)...(v2.last)).line v1.line
                      else
                        result = s(:dot3, v1, v2).line v1.line
                      end

    result
end

#_reduce_227(val, _values, result) ⇒ Object



10134
10135
10136
10137
10138
10139
10140
10141
# File 'lib/ruby_parser33.rb', line 10134

def _reduce_227(val, _values, result)
                      v1, _ = val
                      v2 = nil

                      result = s(:dot2, v1, v2).line v1.line

    result
end

#_reduce_228(val, _values, result) ⇒ Object



10143
10144
10145
10146
10147
10148
10149
10150
# File 'lib/ruby_parser33.rb', line 10143

def _reduce_228(val, _values, result)
                      v1, _ = val
                      v2 = nil

                      result = s(:dot3, v1, v2).line v1.line

    result
end

#_reduce_229(val, _values, result) ⇒ Object



10152
10153
10154
10155
10156
10157
10158
10159
# File 'lib/ruby_parser33.rb', line 10152

def _reduce_229(val, _values, result)
                      _, v2, = val
                      v1 = nil

                      result = s(:dot2, v1, v2).line v2.line

    result
end

#_reduce_23(val, _values, result) ⇒ Object



9021
9022
9023
9024
9025
# File 'lib/ruby_parser33.rb', line 9021

def _reduce_23(val, _values, result)
                      lexer.lex_state = EXPR_FNAME

    result
end

#_reduce_230(val, _values, result) ⇒ Object



10161
10162
10163
10164
10165
10166
10167
10168
# File 'lib/ruby_parser33.rb', line 10161

def _reduce_230(val, _values, result)
                      _, v2 = val
                      v1 = nil

                      result = s(:dot3, v1, v2).line v2.line

    result
end

#_reduce_231(val, _values, result) ⇒ Object



10170
10171
10172
10173
10174
# File 'lib/ruby_parser33.rb', line 10170

def _reduce_231(val, _values, result)
                      result = new_call val[0], :+, argl(val[2])

    result
end

#_reduce_232(val, _values, result) ⇒ Object



10176
10177
10178
10179
10180
# File 'lib/ruby_parser33.rb', line 10176

def _reduce_232(val, _values, result)
                      result = new_call val[0], :-, argl(val[2])

    result
end

#_reduce_233(val, _values, result) ⇒ Object



10182
10183
10184
10185
10186
# File 'lib/ruby_parser33.rb', line 10182

def _reduce_233(val, _values, result)
                      result = new_call val[0], :*, argl(val[2])

    result
end

#_reduce_234(val, _values, result) ⇒ Object



10188
10189
10190
10191
10192
# File 'lib/ruby_parser33.rb', line 10188

def _reduce_234(val, _values, result)
                      result = new_call val[0], :"/", argl(val[2])

    result
end

#_reduce_235(val, _values, result) ⇒ Object



10194
10195
10196
10197
10198
# File 'lib/ruby_parser33.rb', line 10194

def _reduce_235(val, _values, result)
                      result = new_call val[0], :"%", argl(val[2])

    result
end

#_reduce_236(val, _values, result) ⇒ Object



10200
10201
10202
10203
10204
# File 'lib/ruby_parser33.rb', line 10200

def _reduce_236(val, _values, result)
                      result = new_call val[0], :**, argl(val[2])

    result
end

#_reduce_237(val, _values, result) ⇒ Object



10206
10207
10208
10209
10210
10211
10212
10213
# File 'lib/ruby_parser33.rb', line 10206

def _reduce_237(val, _values, result)
                      _, num, _, arg = val
                      lit = wrap :lit, num
                      result = new_call(new_call(lit, :"**", argl(arg)), :"-@")


    result
end

#_reduce_238(val, _values, result) ⇒ Object



10215
10216
10217
10218
10219
# File 'lib/ruby_parser33.rb', line 10215

def _reduce_238(val, _values, result)
                      result = new_call val[1], :"+@"

    result
end

#_reduce_239(val, _values, result) ⇒ Object



10221
10222
10223
10224
10225
# File 'lib/ruby_parser33.rb', line 10221

def _reduce_239(val, _values, result)
                      result = new_call val[1], :"-@"

    result
end

#_reduce_24(val, _values, result) ⇒ Object



9027
9028
9029
9030
9031
9032
# File 'lib/ruby_parser33.rb', line 9027

def _reduce_24(val, _values, result)
                      (_, line), lhs, _, rhs = val
                      result = s(:alias, lhs, rhs).line(line).line line

    result
end

#_reduce_240(val, _values, result) ⇒ Object



10227
10228
10229
10230
10231
# File 'lib/ruby_parser33.rb', line 10227

def _reduce_240(val, _values, result)
                      result = new_call val[0], :"|", argl(val[2])

    result
end

#_reduce_241(val, _values, result) ⇒ Object



10233
10234
10235
10236
10237
# File 'lib/ruby_parser33.rb', line 10233

def _reduce_241(val, _values, result)
                      result = new_call val[0], :"^", argl(val[2])

    result
end

#_reduce_242(val, _values, result) ⇒ Object



10239
10240
10241
10242
10243
# File 'lib/ruby_parser33.rb', line 10239

def _reduce_242(val, _values, result)
                      result = new_call val[0], :"&", argl(val[2])

    result
end

#_reduce_243(val, _values, result) ⇒ Object



10245
10246
10247
10248
10249
# File 'lib/ruby_parser33.rb', line 10245

def _reduce_243(val, _values, result)
                      result = new_call val[0], :"<=>", argl(val[2])

    result
end

#_reduce_245(val, _values, result) ⇒ Object

reduce 244 omitted



10253
10254
10255
10256
10257
# File 'lib/ruby_parser33.rb', line 10253

def _reduce_245(val, _values, result)
                      result = new_call val[0], :"==", argl(val[2])

    result
end

#_reduce_246(val, _values, result) ⇒ Object



10259
10260
10261
10262
10263
# File 'lib/ruby_parser33.rb', line 10259

def _reduce_246(val, _values, result)
                      result = new_call val[0], :"===", argl(val[2])

    result
end

#_reduce_247(val, _values, result) ⇒ Object



10265
10266
10267
10268
10269
# File 'lib/ruby_parser33.rb', line 10265

def _reduce_247(val, _values, result)
                      result = new_call val[0], :"!=", argl(val[2])

    result
end

#_reduce_248(val, _values, result) ⇒ Object



10271
10272
10273
10274
10275
10276
# File 'lib/ruby_parser33.rb', line 10271

def _reduce_248(val, _values, result)
                      lhs, _, rhs = val
                      result = new_match lhs, rhs

    result
end

#_reduce_249(val, _values, result) ⇒ Object



10278
10279
10280
10281
10282
10283
# File 'lib/ruby_parser33.rb', line 10278

def _reduce_249(val, _values, result)
                      lhs, _, rhs = val
                      result = s(:not, new_match(lhs, rhs)).line lhs.line

    result
end

#_reduce_25(val, _values, result) ⇒ Object



9034
9035
9036
9037
9038
9039
# File 'lib/ruby_parser33.rb', line 9034

def _reduce_25(val, _values, result)
                      (_, line), (lhs, _), (rhs, _) = val
                      result = s(:valias, lhs.to_sym, rhs.to_sym).line line

    result
end

#_reduce_250(val, _values, result) ⇒ Object



10285
10286
10287
10288
10289
10290
10291
# File 'lib/ruby_parser33.rb', line 10285

def _reduce_250(val, _values, result)
                      _, arg = val
                      result = new_call arg, :"!"
                      result.line arg.line

    result
end

#_reduce_251(val, _values, result) ⇒ Object



10293
10294
10295
10296
10297
# File 'lib/ruby_parser33.rb', line 10293

def _reduce_251(val, _values, result)
                      result = new_call value_expr(val[1]), :"~"

    result
end

#_reduce_252(val, _values, result) ⇒ Object



10299
10300
10301
10302
10303
10304
10305
# File 'lib/ruby_parser33.rb', line 10299

def _reduce_252(val, _values, result)
                      val[0] = value_expr val[0]
                      val[2] = value_expr val[2]
                      result = new_call val[0], :"\<\<", argl(val[2])

    result
end

#_reduce_253(val, _values, result) ⇒ Object



10307
10308
10309
10310
10311
10312
10313
# File 'lib/ruby_parser33.rb', line 10307

def _reduce_253(val, _values, result)
                      val[0] = value_expr val[0]
                      val[2] = value_expr val[2]
                      result = new_call val[0], :">>", argl(val[2])

    result
end

#_reduce_254(val, _values, result) ⇒ Object



10315
10316
10317
10318
10319
# File 'lib/ruby_parser33.rb', line 10315

def _reduce_254(val, _values, result)
                      result = logical_op :and, val[0], val[2]

    result
end

#_reduce_255(val, _values, result) ⇒ Object



10321
10322
10323
10324
10325
# File 'lib/ruby_parser33.rb', line 10321

def _reduce_255(val, _values, result)
                      result = logical_op :or, val[0], val[2]

    result
end

#_reduce_256(val, _values, result) ⇒ Object



10327
10328
10329
10330
10331
10332
# File 'lib/ruby_parser33.rb', line 10327

def _reduce_256(val, _values, result)
                      (_, line), _, arg = val
                      result = s(:defined, arg).line line

    result
end

#_reduce_257(val, _values, result) ⇒ Object



10334
10335
10336
10337
10338
10339
# File 'lib/ruby_parser33.rb', line 10334

def _reduce_257(val, _values, result)
                      c, _, t, _, _, f = val
                      result = s(:if, c, t, f).line c.line

    result
end

#_reduce_258(val, _values, result) ⇒ Object



10341
10342
10343
10344
10345
# File 'lib/ruby_parser33.rb', line 10341

def _reduce_258(val, _values, result)
                      result = new_endless_defn val

    result
end

#_reduce_259(val, _values, result) ⇒ Object



10347
10348
10349
10350
10351
# File 'lib/ruby_parser33.rb', line 10347

def _reduce_259(val, _values, result)
                      result = new_endless_defn val

    result
end

#_reduce_26(val, _values, result) ⇒ Object



9041
9042
9043
9044
9045
9046
# File 'lib/ruby_parser33.rb', line 9041

def _reduce_26(val, _values, result)
                      (_, line), (lhs, _), (rhs, _) = val
                      result = s(:valias, lhs.to_sym, :"$#{rhs}").line line

    result
end

#_reduce_260(val, _values, result) ⇒ Object



10353
10354
10355
10356
10357
# File 'lib/ruby_parser33.rb', line 10353

def _reduce_260(val, _values, result)
                      result = new_endless_defs val

    result
end

#_reduce_261(val, _values, result) ⇒ Object



10359
10360
10361
10362
10363
# File 'lib/ruby_parser33.rb', line 10359

def _reduce_261(val, _values, result)
                      result = new_endless_defs val

    result
end

#_reduce_267(val, _values, result) ⇒ Object

reduce 266 omitted



10375
10376
10377
10378
10379
10380
# File 'lib/ruby_parser33.rb', line 10375

def _reduce_267(val, _values, result)
                      lhs, (op, _), rhs = val
                      result = new_call lhs, op.to_sym, argl(rhs)

    result
end

#_reduce_268(val, _values, result) ⇒ Object



10382
10383
10384
10385
10386
10387
10388
# File 'lib/ruby_parser33.rb', line 10382

def _reduce_268(val, _values, result)
                      lhs, (op, _), rhs = val
                      warn "comparison '%s' after comparison", op
                      result = new_call lhs, op.to_sym, argl(rhs)

    result
end

#_reduce_269(val, _values, result) ⇒ Object



10390
10391
10392
10393
10394
# File 'lib/ruby_parser33.rb', line 10390

def _reduce_269(val, _values, result)
                      result = value_expr(val[0])

    result
end

#_reduce_27(val, _values, result) ⇒ Object



9048
9049
9050
9051
9052
# File 'lib/ruby_parser33.rb', line 9048

def _reduce_27(val, _values, result)
                      yyerror "can't make alias for the number variables"

    result
end

#_reduce_271(val, _values, result) ⇒ Object

reduce 270 omitted



10398
10399
10400
10401
10402
# File 'lib/ruby_parser33.rb', line 10398

def _reduce_271(val, _values, result)
                      result = args [val[0]]

    result
end

#_reduce_272(val, _values, result) ⇒ Object



10404
10405
10406
10407
10408
# File 'lib/ruby_parser33.rb', line 10404

def _reduce_272(val, _values, result)
                      result = args [val[0], array_to_hash(val[2])]

    result
end

#_reduce_273(val, _values, result) ⇒ Object



10410
10411
10412
10413
10414
# File 'lib/ruby_parser33.rb', line 10410

def _reduce_273(val, _values, result)
                      result = args [array_to_hash(val[0])]

    result
end

#_reduce_275(val, _values, result) ⇒ Object

reduce 274 omitted



10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
# File 'lib/ruby_parser33.rb', line 10418

def _reduce_275(val, _values, result)
                      body, (_, line), resbody = val
                      body    = value_expr body
                      resbody = remove_begin resbody

                      ary = s(:array).line line
                      result  = new_rescue(body, new_resbody(ary, resbody))

    result
end

#_reduce_276(val, _values, result) ⇒ Object



10429
10430
10431
10432
10433
10434
10435
10436
# File 'lib/ruby_parser33.rb', line 10429

def _reduce_276(val, _values, result)
                      _, args, (_, line_max) = val

                      result = args
                      result.line_max = line_max if args

    result
end

#_reduce_277(val, _values, result) ⇒ Object



10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
# File 'lib/ruby_parser33.rb', line 10438

def _reduce_277(val, _values, result)
                      yyerror "Unexpected ..." unless
                        self.lexer.is_local_id(:"*")  &&
                        self.lexer.is_local_id(:"**") &&
                        self.lexer.is_local_id(:"&")

                      result = call_args val

    result
end

#_reduce_278(val, _values, result) ⇒ Object



10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
# File 'lib/ruby_parser33.rb', line 10449

def _reduce_278(val, _values, result)
                      yyerror "Unexpected ..." unless
                        self.lexer.is_local_id(:"*")  &&
                        self.lexer.is_local_id(:"**") &&
                        self.lexer.is_local_id(:"&")

                      result = call_args val

    result
end

#_reduce_28(val, _values, result) ⇒ Object



9054
9055
9056
9057
9058
# File 'lib/ruby_parser33.rb', line 9054

def _reduce_28(val, _values, result)
                      result = val[1]

    result
end

#_reduce_283(val, _values, result) ⇒ Object

reduce 282 omitted



10468
10469
10470
10471
10472
# File 'lib/ruby_parser33.rb', line 10468

def _reduce_283(val, _values, result)
                      result = args val

    result
end

#_reduce_284(val, _values, result) ⇒ Object



10474
10475
10476
10477
10478
# File 'lib/ruby_parser33.rb', line 10474

def _reduce_284(val, _values, result)
                      result = args [val[0], array_to_hash(val[2])]

    result
end

#_reduce_285(val, _values, result) ⇒ Object



10480
10481
10482
10483
10484
# File 'lib/ruby_parser33.rb', line 10480

def _reduce_285(val, _values, result)
                      result = args [array_to_hash(val[0])]

    result
end

#_reduce_286(val, _values, result) ⇒ Object



10486
10487
10488
10489
10490
10491
# File 'lib/ruby_parser33.rb', line 10486

def _reduce_286(val, _values, result)
                      warning "parenthesize argument(s) for future version"
                      result = call_args val

    result
end

#_reduce_287(val, _values, result) ⇒ Object



10493
10494
10495
10496
10497
# File 'lib/ruby_parser33.rb', line 10493

def _reduce_287(val, _values, result)
                      result = call_args val

    result
end

#_reduce_288(val, _values, result) ⇒ Object



10499
10500
10501
10502
10503
# File 'lib/ruby_parser33.rb', line 10499

def _reduce_288(val, _values, result)
                      result = call_args [array_to_hash(val[0]), val[1]]

    result
end

#_reduce_289(val, _values, result) ⇒ Object



10505
10506
10507
10508
10509
# File 'lib/ruby_parser33.rb', line 10505

def _reduce_289(val, _values, result)
                      result = call_args [val[0], array_to_hash(val[2]), val[3]]

    result
end

#_reduce_29(val, _values, result) ⇒ Object



9060
9061
9062
9063
9064
9065
# File 'lib/ruby_parser33.rb', line 9060

def _reduce_29(val, _values, result)
                      t, _, c = val
                      result = new_if c, t, nil

    result
end

#_reduce_290(val, _values, result) ⇒ Object



10511
10512
10513
10514
10515
# File 'lib/ruby_parser33.rb', line 10511

def _reduce_290(val, _values, result)
                      result = call_args val

    result
end

#_reduce_291(val, _values, result) ⇒ Object



10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
# File 'lib/ruby_parser33.rb', line 10517

def _reduce_291(val, _values, result)
                      # parse26.y line 2200

                      # If call_args starts with a open paren '(' or
                      # '[', look-ahead reading of the letters calls
                      # CMDARG_PUSH(0), but the push must be done
                      # after CMDARG_PUSH(1). So this code makes them
                      # consistent by first cancelling the premature
                      # CMDARG_PUSH(0), doing CMDARG_PUSH(1), and
                      # finally redoing CMDARG_PUSH(0).

                      result = yychar = self.last_token_type.first
                      lookahead = [:tLPAREN, :tLPAREN_ARG, :tLPAREN2, :tLBRACK, :tLBRACK2].include?(yychar)
                      lexer.cmdarg.pop if lookahead
                      lexer.cmdarg.push true
                      lexer.cmdarg.push false if lookahead

    result
end

#_reduce_292(val, _values, result) ⇒ Object



10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
# File 'lib/ruby_parser33.rb', line 10537

def _reduce_292(val, _values, result)
                      yychar, args = val

                      # 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.

                      lookahead = [:tLBRACE_ARG].include?(yychar)
                      lexer.cmdarg.pop if lookahead
                      lexer.cmdarg.pop
                      lexer.cmdarg.push false if lookahead
                      result = args

    result
end

#_reduce_293(val, _values, result) ⇒ Object



10557
10558
10559
10560
10561
10562
# File 'lib/ruby_parser33.rb', line 10557

def _reduce_293(val, _values, result)
                      _, arg = val
                      result = s(:block_pass, arg).line arg.line

    result
end

#_reduce_294(val, _values, result) ⇒ Object



10564
10565
10566
10567
10568
10569
# File 'lib/ruby_parser33.rb', line 10564

def _reduce_294(val, _values, result)
                      (_, line), = val
                      result = s(:block_pass).line line

    result
end

#_reduce_295(val, _values, result) ⇒ Object



10571
10572
10573
10574
10575
# File 'lib/ruby_parser33.rb', line 10571

def _reduce_295(val, _values, result)
                      result = val[1]

    result
end

#_reduce_297(val, _values, result) ⇒ Object

reduce 296 omitted



10579
10580
10581
10582
10583
10584
10585
10586
# File 'lib/ruby_parser33.rb', line 10579

def _reduce_297(val, _values, result)
                      arg, = val
                      lineno = arg.line

                      result = s(:array, arg).line lineno

    result
end

#_reduce_298(val, _values, result) ⇒ Object



10588
10589
10590
10591
10592
10593
# File 'lib/ruby_parser33.rb', line 10588

def _reduce_298(val, _values, result)
                      _, arg = val
                      result = s(:array, s(:splat, arg).line(arg.line)).line arg.line

    result
end

#_reduce_299(val, _values, result) ⇒ Object



10595
10596
10597
10598
10599
10600
# File 'lib/ruby_parser33.rb', line 10595

def _reduce_299(val, _values, result)
                      (_, line), = val
                      result = s(:array, s(:splat).line(line)).line line

    result
end

#_reduce_3(val, _values, result) ⇒ Object



8911
8912
8913
8914
8915
8916
# File 'lib/ruby_parser33.rb', line 8911

def _reduce_3(val, _values, result)
                      stmt, _ = val
                      result = stmt

    result
end

#_reduce_30(val, _values, result) ⇒ Object



9067
9068
9069
9070
9071
9072
# File 'lib/ruby_parser33.rb', line 9067

def _reduce_30(val, _values, result)
                      f, _, c = val
                      result = new_if c, nil, f

    result
end

#_reduce_300(val, _values, result) ⇒ Object



10602
10603
10604
10605
10606
10607
# File 'lib/ruby_parser33.rb', line 10602

def _reduce_300(val, _values, result)
                      args, _, id = val
                      result = self.list_append args, id

    result
end

#_reduce_301(val, _values, result) ⇒ Object



10609
10610
10611
10612
10613
10614
# File 'lib/ruby_parser33.rb', line 10609

def _reduce_301(val, _values, result)
                      args, _, (_, line), id = val
                      result = self.list_append args, s(:splat, id).line(line)

    result
end

#_reduce_302(val, _values, result) ⇒ Object



10616
10617
10618
10619
10620
10621
# File 'lib/ruby_parser33.rb', line 10616

def _reduce_302(val, _values, result)
                      args, _, (_, line) = val
                      result = self.list_append args, s(:splat).line(line)

    result
end

#_reduce_303(val, _values, result) ⇒ Object



10623
10624
10625
10626
10627
# File 'lib/ruby_parser33.rb', line 10623

def _reduce_303(val, _values, result)
                      result = new_masgn_arg val[0]

    result
end

#_reduce_304(val, _values, result) ⇒ Object



10629
10630
10631
10632
10633
# File 'lib/ruby_parser33.rb', line 10629

def _reduce_304(val, _values, result)
                      result = new_masgn_arg val[0], :wrap

    result
end

#_reduce_305(val, _values, result) ⇒ Object



10635
10636
10637
10638
10639
# File 'lib/ruby_parser33.rb', line 10635

def _reduce_305(val, _values, result)
                      result = val[0] << val[2]

    result
end

#_reduce_306(val, _values, result) ⇒ Object



10641
10642
10643
10644
10645
10646
# File 'lib/ruby_parser33.rb', line 10641

def _reduce_306(val, _values, result)
                      arg, _, _, splat = val
                      result = self.arg_concat arg, splat

    result
end

#_reduce_307(val, _values, result) ⇒ Object



10648
10649
10650
10651
10652
10653
# File 'lib/ruby_parser33.rb', line 10648

def _reduce_307(val, _values, result)
                      _, arg = val
                      result = s(:splat, arg).line arg.line

    result
end

#_reduce_31(val, _values, result) ⇒ Object



9074
9075
9076
9077
9078
9079
# File 'lib/ruby_parser33.rb', line 9074

def _reduce_31(val, _values, result)
                      e, _, c = val
                      result = new_while e, c, true

    result
end

#_reduce_318(val, _values, result) ⇒ Object

reduce 317 omitted



10675
10676
10677
10678
10679
10680
10681
# File 'lib/ruby_parser33.rb', line 10675

def _reduce_318(val, _values, result)
                      (msg, line), = val
                      result = new_call nil, msg.to_sym
                      result.line line

    result
end

#_reduce_319(val, _values, result) ⇒ Object



10683
10684
10685
10686
10687
# File 'lib/ruby_parser33.rb', line 10683

def _reduce_319(val, _values, result)
                      lexer.cmdarg.push false

    result
end

#_reduce_32(val, _values, result) ⇒ Object



9081
9082
9083
9084
9085
9086
# File 'lib/ruby_parser33.rb', line 9081

def _reduce_32(val, _values, result)
                      e, _, c = val
                      result = new_until e, c, true

    result
end

#_reduce_320(val, _values, result) ⇒ Object



10689
10690
10691
10692
10693
10694
# File 'lib/ruby_parser33.rb', line 10689

def _reduce_320(val, _values, result)
                      lexer.cmdarg.pop
                      result = new_begin val

    result
end

#_reduce_321(val, _values, result) ⇒ Object



10696
10697
10698
10699
10700
# File 'lib/ruby_parser33.rb', line 10696

def _reduce_321(val, _values, result)
                      lexer.lex_state = EXPR_ENDARG

    result
end

#_reduce_322(val, _values, result) ⇒ Object



10702
10703
10704
10705
10706
10707
# File 'lib/ruby_parser33.rb', line 10702

def _reduce_322(val, _values, result)
                      (_, line), _, _ = val
                      result = s(:begin).line line

    result
end

#_reduce_323(val, _values, result) ⇒ Object



10709
10710
10711
10712
10713
# File 'lib/ruby_parser33.rb', line 10709

def _reduce_323(val, _values, result)
                      lexer.lex_state = EXPR_ENDARG

    result
end

#_reduce_324(val, _values, result) ⇒ Object



10715
10716
10717
10718
10719
10720
10721
# File 'lib/ruby_parser33.rb', line 10715

def _reduce_324(val, _values, result)
                      _, stmt, _, _, = val
                      # warning "(...) interpreted as grouped expression"
                      result = stmt

    result
end

#_reduce_325(val, _values, result) ⇒ Object



10723
10724
10725
10726
10727
10728
10729
# File 'lib/ruby_parser33.rb', line 10723

def _reduce_325(val, _values, result)
                      (_, line), stmt, _ = val
                      result = stmt || s(:nil).line(line)
                      result.paren = true

    result
end

#_reduce_326(val, _values, result) ⇒ Object



10731
10732
10733
10734
10735
10736
10737
# File 'lib/ruby_parser33.rb', line 10731

def _reduce_326(val, _values, result)
                      expr, _, (id, _line) = val

                      result = s(:colon2, expr, id.to_sym).line expr.line

    result
end

#_reduce_327(val, _values, result) ⇒ Object



10739
10740
10741
10742
10743
# File 'lib/ruby_parser33.rb', line 10739

def _reduce_327(val, _values, result)
                      result = wrap :colon3, val[1]

    result
end

#_reduce_328(val, _values, result) ⇒ Object



10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
# File 'lib/ruby_parser33.rb', line 10745

def _reduce_328(val, _values, result)
                      (_, line), args, (_, line_max) = val

                      result = args || s(:array)
                      result.sexp_type = :array # aref_args is :args
                      result.line line
                      result.line_max = line_max

    result
end

#_reduce_329(val, _values, result) ⇒ Object



10756
10757
10758
10759
10760
# File 'lib/ruby_parser33.rb', line 10756

def _reduce_329(val, _values, result)
                      result = self.lexer.lineno

    result
end

#_reduce_33(val, _values, result) ⇒ Object



9088
9089
9090
9091
9092
9093
9094
9095
# File 'lib/ruby_parser33.rb', line 9088

def _reduce_33(val, _values, result)
                      body, _, resbody = val

                      resbody = new_resbody s(:array).line(resbody.line), resbody
                      result = new_rescue body, resbody

    result
end

#_reduce_330(val, _values, result) ⇒ Object



10762
10763
10764
10765
10766
# File 'lib/ruby_parser33.rb', line 10762

def _reduce_330(val, _values, result)
                      result = new_hash val

    result
end

#_reduce_331(val, _values, result) ⇒ Object



10768
10769
10770
10771
10772
10773
# File 'lib/ruby_parser33.rb', line 10768

def _reduce_331(val, _values, result)
                      (_, line), = val
                      result = s(:return).line line

    result
end

#_reduce_332(val, _values, result) ⇒ Object



10775
10776
10777
10778
10779
10780
10781
# File 'lib/ruby_parser33.rb', line 10775

def _reduce_332(val, _values, result)
                      (_, line), _, args, _ = val

                      result = new_yield(args).line line

    result
end

#_reduce_333(val, _values, result) ⇒ Object



10783
10784
10785
10786
10787
10788
10789
# File 'lib/ruby_parser33.rb', line 10783

def _reduce_333(val, _values, result)
                      (_, line), _, _ = val

                      result = new_yield.line line

    result
end

#_reduce_334(val, _values, result) ⇒ Object



10791
10792
10793
10794
10795
10796
10797
# File 'lib/ruby_parser33.rb', line 10791

def _reduce_334(val, _values, result)
                      (_, line), = val

                      result = new_yield.line line

    result
end

#_reduce_335(val, _values, result) ⇒ Object



10799
10800
10801
10802
10803
10804
10805
# File 'lib/ruby_parser33.rb', line 10799

def _reduce_335(val, _values, result)
                      (_, line), _, _, arg, _ = val

                      result = s(:defined, arg).line line

    result
end

#_reduce_336(val, _values, result) ⇒ Object



10807
10808
10809
10810
10811
10812
# File 'lib/ruby_parser33.rb', line 10807

def _reduce_336(val, _values, result)
                      _, _, lhs, _ = val
                      result = new_call lhs, :"!"

    result
end

#_reduce_337(val, _values, result) ⇒ Object



10814
10815
10816
10817
10818
# File 'lib/ruby_parser33.rb', line 10814

def _reduce_337(val, _values, result)
                      debug 9

    result
end

#_reduce_338(val, _values, result) ⇒ Object



10820
10821
10822
10823
10824
10825
10826
10827
10828
# File 'lib/ruby_parser33.rb', line 10820

def _reduce_338(val, _values, result)
                      call, iter = val

                      iter.insert 1, call
                      result = iter
                      # FIX: probably not: call.line = iter.line

    result
end

#_reduce_34(val, _values, result) ⇒ Object



9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
# File 'lib/ruby_parser33.rb', line 9097

def _reduce_34(val, _values, result)
                      (_, line), _, stmt, _ = val

                      if (self.in_def || self.in_single > 0) then
                        debug 3
                        yyerror "END in method; use at_exit"
                      end

                      result = new_iter s(:postexe).line(line), 0, stmt

    result
end

#_reduce_340(val, _values, result) ⇒ Object

reduce 339 omitted



10832
10833
10834
10835
10836
10837
10838
10839
# File 'lib/ruby_parser33.rb', line 10832

def _reduce_340(val, _values, result)
                      call, iter = val[0], val[1]
                      block_dup_check call, iter
                      iter.insert 1, call # FIX
                      result = iter

    result
end

#_reduce_341(val, _values, result) ⇒ Object



10841
10842
10843
10844
10845
10846
# File 'lib/ruby_parser33.rb', line 10841

def _reduce_341(val, _values, result)
                      expr, = val
                      result = expr

    result
end

#_reduce_342(val, _values, result) ⇒ Object



10848
10849
10850
10851
10852
10853
# File 'lib/ruby_parser33.rb', line 10848

def _reduce_342(val, _values, result)
                      _, c, _, t, f, _ = val
                      result = new_if c, t, f

    result
end

#_reduce_343(val, _values, result) ⇒ Object



10855
10856
10857
10858
10859
10860
# File 'lib/ruby_parser33.rb', line 10855

def _reduce_343(val, _values, result)
                      _, c, _, t, f, _ = val
                      result = new_if c, f, t

    result
end

#_reduce_344(val, _values, result) ⇒ Object



10862
10863
10864
10865
10866
10867
# File 'lib/ruby_parser33.rb', line 10862

def _reduce_344(val, _values, result)
                      _, cond, body, _ = val
                      result = new_while body, cond, true

    result
end

#_reduce_345(val, _values, result) ⇒ Object



10869
10870
10871
10872
10873
10874
# File 'lib/ruby_parser33.rb', line 10869

def _reduce_345(val, _values, result)
                      _, cond, body, _ = val
                      result = new_until body, cond, true

    result
end

#_reduce_346(val, _values, result) ⇒ Object



10876
10877
10878
10879
10880
10881
# File 'lib/ruby_parser33.rb', line 10876

def _reduce_346(val, _values, result)
                      (_, line), expr, _, body, _ = val
                      result = new_case expr, body, line

    result
end

#_reduce_347(val, _values, result) ⇒ Object



10883
10884
10885
10886
10887
10888
# File 'lib/ruby_parser33.rb', line 10883

def _reduce_347(val, _values, result)
                      (_, line), _, body, _ = val
                      result = new_case nil, body, line

    result
end

#_reduce_348(val, _values, result) ⇒ Object



10890
10891
10892
10893
10894
10895
10896
# File 'lib/ruby_parser33.rb', line 10890

def _reduce_348(val, _values, result)
                      (_, line), expr, _, body, _ = val

                      result = new_case expr, body, line

    result
end

#_reduce_349(val, _values, result) ⇒ Object



10898
10899
10900
10901
10902
10903
# File 'lib/ruby_parser33.rb', line 10898

def _reduce_349(val, _values, result)
                      _, var, _, iter, body, _ = val
                      result = new_for iter, var, body

    result
end

#_reduce_350(val, _values, result) ⇒ Object



10905
10906
10907
10908
10909
10910
10911
10912
# File 'lib/ruby_parser33.rb', line 10905

def _reduce_350(val, _values, result)
                      if (self.in_def || self.in_single > 0) then
                        yyerror "class definition in method body"
                      end
                      self.env.extend

    result
end

#_reduce_351(val, _values, result) ⇒ Object



10914
10915
10916
10917
10918
10919
# File 'lib/ruby_parser33.rb', line 10914

def _reduce_351(val, _values, result)
                      result = new_class val
                      self.env.unextend

    result
end

#_reduce_352(val, _values, result) ⇒ Object



10921
10922
10923
10924
10925
10926
# File 'lib/ruby_parser33.rb', line 10921

def _reduce_352(val, _values, result)
                      result = self.in_def
                      self.in_def = false

    result
end

#_reduce_353(val, _values, result) ⇒ Object



10928
10929
10930
10931
10932
10933
10934
# File 'lib/ruby_parser33.rb', line 10928

def _reduce_353(val, _values, result)
                      result = self.in_single
                      self.in_single = 0
                      self.env.extend

    result
end

#_reduce_354(val, _values, result) ⇒ Object



10936
10937
10938
10939
10940
10941
# File 'lib/ruby_parser33.rb', line 10936

def _reduce_354(val, _values, result)
                      result = new_sclass val
                      self.env.unextend

    result
end

#_reduce_355(val, _values, result) ⇒ Object



10943
10944
10945
10946
10947
10948
10949
10950
# File 'lib/ruby_parser33.rb', line 10943

def _reduce_355(val, _values, result)
                      yyerror "module definition in method body" if
                        self.in_def or self.in_single > 0

                      self.env.extend

    result
end

#_reduce_356(val, _values, result) ⇒ Object



10952
10953
10954
10955
10956
10957
# File 'lib/ruby_parser33.rb', line 10952

def _reduce_356(val, _values, result)
                      result = new_module val
                      self.env.unextend

    result
end

#_reduce_357(val, _values, result) ⇒ Object



10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
# File 'lib/ruby_parser33.rb', line 10959

def _reduce_357(val, _values, result)
                      result, in_def = new_defn val

                      lexer.cond.pop # group = local_pop
                      lexer.cmdarg.pop
                      self.env.unextend
                      self.in_def = in_def

    result
end

#_reduce_358(val, _values, result) ⇒ Object



10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
# File 'lib/ruby_parser33.rb', line 10970

def _reduce_358(val, _values, result)
                      result, in_def = new_defs val

                      lexer.cond.pop # group = local_pop
                      lexer.cmdarg.pop
                      self.env.unextend
                      self.in_def = in_def

                      self.in_single -= 1

                      # TODO: restore cur_arg ? what's cur_arg?

    result
end

#_reduce_359(val, _values, result) ⇒ Object



10985
10986
10987
10988
10989
10990
# File 'lib/ruby_parser33.rb', line 10985

def _reduce_359(val, _values, result)
                      (_, line), = val
                      result = s(:break).line line

    result
end

#_reduce_36(val, _values, result) ⇒ Object

reduce 35 omitted



9112
9113
9114
9115
9116
# File 'lib/ruby_parser33.rb', line 9112

def _reduce_36(val, _values, result)
                      result = new_masgn val[0], val[2], :wrap

    result
end

#_reduce_360(val, _values, result) ⇒ Object



10992
10993
10994
10995
10996
10997
# File 'lib/ruby_parser33.rb', line 10992

def _reduce_360(val, _values, result)
                      (_, line), = val
                      result = s(:next).line line

    result
end

#_reduce_361(val, _values, result) ⇒ Object



10999
11000
11001
11002
11003
11004
# File 'lib/ruby_parser33.rb', line 10999

def _reduce_361(val, _values, result)
                      (_, line), = val
                      result = s(:redo).line line

    result
end

#_reduce_362(val, _values, result) ⇒ Object



11006
11007
11008
11009
11010
11011
# File 'lib/ruby_parser33.rb', line 11006

def _reduce_362(val, _values, result)
                      (_, line), = val
                      result = s(:retry).line line

    result
end

#_reduce_363(val, _values, result) ⇒ Object



11013
11014
11015
11016
11017
# File 'lib/ruby_parser33.rb', line 11013

def _reduce_363(val, _values, result)
                      result = value_expr(val[0])

    result
end

#_reduce_37(val, _values, result) ⇒ Object



9118
9119
9120
9121
9122
9123
9124
# File 'lib/ruby_parser33.rb', line 9118

def _reduce_37(val, _values, result)
                      lhs, _, rhs = val

                      result = new_assign lhs, s(:svalue, rhs).line(rhs.line)

    result
end

#_reduce_371(val, _values, result) ⇒ Object

reduce 370 omitted



11033
11034
11035
11036
11037
# File 'lib/ruby_parser33.rb', line 11033

def _reduce_371(val, _values, result)
                      result << self.lexer.comment

    result
end

#_reduce_372(val, _values, result) ⇒ Object



11039
11040
11041
11042
11043
# File 'lib/ruby_parser33.rb', line 11039

def _reduce_372(val, _values, result)
                      result << self.lexer.comment

    result
end

#_reduce_373(val, _values, result) ⇒ Object



11045
11046
11047
11048
11049
11050
# File 'lib/ruby_parser33.rb', line 11045

def _reduce_373(val, _values, result)
                      self.in_argdef = true
                      result << self.lexer.comment

    result
end

#_reduce_38(val, _values, result) ⇒ Object



9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
# File 'lib/ruby_parser33.rb', line 9126

def _reduce_38(val, _values, result)
                      # unwraps s(:to_ary, rhs)
                      lhs, _, (_, rhs), _, resbody = val

                      resbody = new_resbody s(:array).line(resbody.line), resbody

                      result = new_masgn lhs, new_rescue(rhs, resbody), :wrap

    result
end

#_reduce_389(val, _values, result) ⇒ Object

reduce 388 omitted



11082
11083
11084
11085
11086
11087
11088
# File 'lib/ruby_parser33.rb', line 11082

def _reduce_389(val, _values, result)
                      (_, line), c, _, t, rest = val

                      result = s(:if, c, t, rest).line line

    result
end

#_reduce_39(val, _values, result) ⇒ Object



9137
9138
9139
9140
9141
# File 'lib/ruby_parser33.rb', line 9137

def _reduce_39(val, _values, result)
                      result = new_masgn val[0], val[2]

    result
end

#_reduce_391(val, _values, result) ⇒ Object

reduce 390 omitted



11092
11093
11094
11095
11096
# File 'lib/ruby_parser33.rb', line 11092

def _reduce_391(val, _values, result)
                      result = val[1]

    result
end

#_reduce_393(val, _values, result) ⇒ Object

reduce 392 omitted



11100
11101
11102
11103
11104
# File 'lib/ruby_parser33.rb', line 11100

def _reduce_393(val, _values, result)
                      val[0].delete_at 1 if val[0][1].nil? # HACK

    result
end

#_reduce_394(val, _values, result) ⇒ Object



11106
11107
11108
11109
11110
11111
11112
# File 'lib/ruby_parser33.rb', line 11106

def _reduce_394(val, _values, result)
                      (sym, line), = val

                      result = s(:dummy, sym).line line

    result
end

#_reduce_395(val, _values, result) ⇒ Object



11114
11115
11116
11117
11118
11119
# File 'lib/ruby_parser33.rb', line 11114

def _reduce_395(val, _values, result)
                      _, args, _ = val
                      result = args

    result
end

#_reduce_396(val, _values, result) ⇒ Object



11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
# File 'lib/ruby_parser33.rb', line 11121

def _reduce_396(val, _values, result)
                      arg, = val
                      line = arg.line

                      arg = arg.last if arg.sexp_type == :dummy

                      result = s(:array, arg).line line

    result
end

#_reduce_397(val, _values, result) ⇒ Object



11132
11133
11134
11135
11136
11137
11138
11139
11140
# File 'lib/ruby_parser33.rb', line 11132

def _reduce_397(val, _values, result)
                      args, _, arg = val

                      arg = arg.last if arg.sexp_type == :dummy

                      result = list_append args, arg

    result
end

#_reduce_398(val, _values, result) ⇒ Object



11142
11143
11144
11145
11146
11147
11148
# File 'lib/ruby_parser33.rb', line 11142

def _reduce_398(val, _values, result)
                      args, = val

                      result = block_var args

    result
end

#_reduce_399(val, _values, result) ⇒ Object



11150
11151
11152
11153
11154
11155
11156
# File 'lib/ruby_parser33.rb', line 11150

def _reduce_399(val, _values, result)
                      args, _, rest = val

                      result = block_var args, rest

    result
end

#_reduce_400(val, _values, result) ⇒ Object



11158
11159
11160
11161
11162
11163
11164
# File 'lib/ruby_parser33.rb', line 11158

def _reduce_400(val, _values, result)
                      lhs, _, splat, _, rhs = val

                      result = block_var lhs, splat, rhs

    result
end

#_reduce_401(val, _values, result) ⇒ Object



11166
11167
11168
11169
11170
11171
11172
# File 'lib/ruby_parser33.rb', line 11166

def _reduce_401(val, _values, result)
                      rest, = val

                      result = block_var rest

    result
end

#_reduce_402(val, _values, result) ⇒ Object



11174
11175
11176
11177
11178
11179
11180
# File 'lib/ruby_parser33.rb', line 11174

def _reduce_402(val, _values, result)
                      splat, _, rest = val

                      result = block_var splat, rest

    result
end

#_reduce_403(val, _values, result) ⇒ Object



11182
11183
11184
11185
11186
11187
11188
11189
# File 'lib/ruby_parser33.rb', line 11182

def _reduce_403(val, _values, result)
                      _, (id, line) = val

                      result = args ["*#{id}".to_sym]
                      result.line line

    result
end

#_reduce_404(val, _values, result) ⇒ Object



11191
11192
11193
11194
11195
11196
# File 'lib/ruby_parser33.rb', line 11191

def _reduce_404(val, _values, result)
                      (_, line), = val
                      result = args([:*]).line line

    result
end

#_reduce_407(val, _values, result) ⇒ Object

reduce 406 omitted



11202
11203
11204
11205
# File 'lib/ruby_parser33.rb', line 11202

def _reduce_407(val, _values, result)
 self.in_argdef = false
    result
end

#_reduce_409(val, _values, result) ⇒ Object

reduce 408 omitted



11209
11210
11211
11212
11213
# File 'lib/ruby_parser33.rb', line 11209

def _reduce_409(val, _values, result)
                      result = call_args val

    result
end

#_reduce_41(val, _values, result) ⇒ Object

reduce 40 omitted



9145
9146
9147
9148
9149
# File 'lib/ruby_parser33.rb', line 9145

def _reduce_41(val, _values, result)
                      result = new_assign val[0], val[2]

    result
end

#_reduce_410(val, _values, result) ⇒ Object



11215
11216
11217
11218
11219
# File 'lib/ruby_parser33.rb', line 11215

def _reduce_410(val, _values, result)
                      result = call_args val

    result
end

#_reduce_411(val, _values, result) ⇒ Object



11221
11222
11223
11224
11225
# File 'lib/ruby_parser33.rb', line 11221

def _reduce_411(val, _values, result)
                      result = call_args val

    result
end

#_reduce_412(val, _values, result) ⇒ Object



11227
11228
11229
11230
11231
11232
11233
# File 'lib/ruby_parser33.rb', line 11227

def _reduce_412(val, _values, result)
                      (id, line), = val
                      result = call_args [id]
                      result.line line

    result
end

#_reduce_413(val, _values, result) ⇒ Object



11235
11236
11237
11238
11239
# File 'lib/ruby_parser33.rb', line 11235

def _reduce_413(val, _values, result)
                      result = args val

    result
end

#_reduce_415(val, _values, result) ⇒ Object

reduce 414 omitted



11243
11244
11245
11246
11247
# File 'lib/ruby_parser33.rb', line 11243

def _reduce_415(val, _values, result)
                      result = s(:WTF_COMMA!)

    result
end

#_reduce_416(val, _values, result) ⇒ Object



11249
11250
11251
11252
11253
# File 'lib/ruby_parser33.rb', line 11249

def _reduce_416(val, _values, result)
                      result = args val

    result
end

#_reduce_417(val, _values, result) ⇒ Object



11255
11256
11257
11258
11259
# File 'lib/ruby_parser33.rb', line 11255

def _reduce_417(val, _values, result)
                      result = args val

    result
end

#_reduce_418(val, _values, result) ⇒ Object



11261
11262
11263
11264
11265
# File 'lib/ruby_parser33.rb', line 11261

def _reduce_418(val, _values, result)
                      result = args val

    result
end

#_reduce_419(val, _values, result) ⇒ Object



11267
11268
11269
11270
11271
# File 'lib/ruby_parser33.rb', line 11267

def _reduce_419(val, _values, result)
                      result = args val

    result
end

#_reduce_42(val, _values, result) ⇒ Object



9151
9152
9153
9154
9155
# File 'lib/ruby_parser33.rb', line 9151

def _reduce_42(val, _values, result)
                      result = new_op_asgn val

    result
end

#_reduce_420(val, _values, result) ⇒ Object



11273
11274
11275
11276
11277
# File 'lib/ruby_parser33.rb', line 11273

def _reduce_420(val, _values, result)
                      result = args val

    result
end

#_reduce_421(val, _values, result) ⇒ Object



11279
11280
11281
11282
11283
11284
# File 'lib/ruby_parser33.rb', line 11279

def _reduce_421(val, _values, result)
                      arg, _ = val
                      result = arg << nil

    result
end

#_reduce_422(val, _values, result) ⇒ Object



11286
11287
11288
11289
11290
# File 'lib/ruby_parser33.rb', line 11286

def _reduce_422(val, _values, result)
                      result = args val

    result
end

#_reduce_423(val, _values, result) ⇒ Object



11292
11293
11294
11295
11296
# File 'lib/ruby_parser33.rb', line 11292

def _reduce_423(val, _values, result)
                      result = args val

    result
end

#_reduce_424(val, _values, result) ⇒ Object



11298
11299
11300
11301
11302
# File 'lib/ruby_parser33.rb', line 11298

def _reduce_424(val, _values, result)
                      result = args val

    result
end

#_reduce_425(val, _values, result) ⇒ Object



11304
11305
11306
11307
11308
# File 'lib/ruby_parser33.rb', line 11304

def _reduce_425(val, _values, result)
                      result = args val

    result
end

#_reduce_426(val, _values, result) ⇒ Object



11310
11311
11312
11313
11314
# File 'lib/ruby_parser33.rb', line 11310

def _reduce_426(val, _values, result)
                      result = args val

    result
end

#_reduce_427(val, _values, result) ⇒ Object



11316
11317
11318
11319
11320
# File 'lib/ruby_parser33.rb', line 11316

def _reduce_427(val, _values, result)
                      result = args val

    result
end

#_reduce_428(val, _values, result) ⇒ Object



11322
11323
11324
11325
11326
# File 'lib/ruby_parser33.rb', line 11322

def _reduce_428(val, _values, result)
                      result = args val

    result
end

#_reduce_429(val, _values, result) ⇒ Object



11328
11329
11330
11331
11332
# File 'lib/ruby_parser33.rb', line 11328

def _reduce_429(val, _values, result)
                      result = args val

    result
end

#_reduce_43(val, _values, result) ⇒ Object



9157
9158
9159
9160
9161
# File 'lib/ruby_parser33.rb', line 9157

def _reduce_43(val, _values, result)
                      result = new_op_asgn1 val

    result
end

#_reduce_430(val, _values, result) ⇒ Object



11334
11335
11336
11337
11338
# File 'lib/ruby_parser33.rb', line 11334

def _reduce_430(val, _values, result)
                      result = args val

    result
end

#_reduce_431(val, _values, result) ⇒ Object



11340
11341
11342
11343
# File 'lib/ruby_parser33.rb', line 11340

def _reduce_431(val, _values, result)
 result = 0
    result
end

#_reduce_432(val, _values, result) ⇒ Object



11345
11346
11347
11348
11349
# File 'lib/ruby_parser33.rb', line 11345

def _reduce_432(val, _values, result)
                      self.lexer.command_start = true

    result
end

#_reduce_433(val, _values, result) ⇒ Object



11351
11352
11353
11354
11355
11356
11357
# File 'lib/ruby_parser33.rb', line 11351

def _reduce_433(val, _values, result)
                      # TODO: current_arg = 0
                      result = args val
                      self.in_argdef = false

    result
end

#_reduce_434(val, _values, result) ⇒ Object



11359
11360
11361
11362
11363
11364
11365
# File 'lib/ruby_parser33.rb', line 11359

def _reduce_434(val, _values, result)
                      (_, line), = val

                      result = s(:args).line line

    result
end

#_reduce_435(val, _values, result) ⇒ Object



11367
11368
11369
11370
11371
11372
11373
# File 'lib/ruby_parser33.rb', line 11367

def _reduce_435(val, _values, result)
                      # TODO: current_arg = 0
                      result = args val
                      self.in_argdef = false

    result
end

#_reduce_437(val, _values, result) ⇒ Object

reduce 436 omitted



11377
11378
11379
11380
11381
# File 'lib/ruby_parser33.rb', line 11377

def _reduce_437(val, _values, result)
                      result = args val

    result
end

#_reduce_438(val, _values, result) ⇒ Object



11383
11384
11385
11386
11387
# File 'lib/ruby_parser33.rb', line 11383

def _reduce_438(val, _values, result)
                      result = args val

    result
end

#_reduce_439(val, _values, result) ⇒ Object



11389
11390
11391
11392
11393
# File 'lib/ruby_parser33.rb', line 11389

def _reduce_439(val, _values, result)
                      result = args val

    result
end

#_reduce_44(val, _values, result) ⇒ Object



9163
9164
9165
9166
9167
9168
9169
9170
9171
# File 'lib/ruby_parser33.rb', line 9163

def _reduce_44(val, _values, result)
                      prim, (call_op, _), (id, _), (op_asgn, _), rhs = val

                      result = s(:op_asgn, prim, rhs, id.to_sym, op_asgn.to_sym)
                      result.sexp_type = :safe_op_asgn if call_op == '&.'
                      result.line prim.line

    result
end

#_reduce_440(val, _values, result) ⇒ Object



11395
11396
11397
11398
11399
# File 'lib/ruby_parser33.rb', line 11395

def _reduce_440(val, _values, result)
                      result = wrap :shadow, val[0]

    result
end

#_reduce_442(val, _values, result) ⇒ Object

reduce 441 omitted



11403
11404
11405
11406
11407
11408
11409
11410
# File 'lib/ruby_parser33.rb', line 11403

def _reduce_442(val, _values, result)
                      self.env.extend :dynamic
                      result = lexer.lpar_beg
                      lexer.paren_nest += 1
                      lexer.lpar_beg = lexer.paren_nest

    result
end

#_reduce_443(val, _values, result) ⇒ Object



11412
11413
11414
11415
11416
# File 'lib/ruby_parser33.rb', line 11412

def _reduce_443(val, _values, result)
                      lexer.cmdarg.push false

    result
end

#_reduce_444(val, _values, result) ⇒ Object



11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
# File 'lib/ruby_parser33.rb', line 11418

def _reduce_444(val, _values, result)
                      (_, line), lpar, args, _cmdarg, body = val
                      lexer.lpar_beg = lpar

                      lexer.cmdarg.pop

                      call = s(:lambda).line line
                      result = new_iter call, args, body
                      result.line line
                      self.env.unextend # TODO: dynapush & dynapop

    result
end

#_reduce_445(val, _values, result) ⇒ Object



11432
11433
11434
11435
11436
11437
# File 'lib/ruby_parser33.rb', line 11432

def _reduce_445(val, _values, result)
                      self.in_argdef = false
                      result = args val

    result
end

#_reduce_446(val, _values, result) ⇒ Object



11439
11440
11441
11442
11443
11444
11445
# File 'lib/ruby_parser33.rb', line 11439

def _reduce_446(val, _values, result)
                      self.in_argdef = false
                      result = val[0]
                      result = 0 if result == s(:args)

    result
end

#_reduce_447(val, _values, result) ⇒ Object



11447
11448
11449
11450
11451
# File 'lib/ruby_parser33.rb', line 11447

def _reduce_447(val, _values, result)
                      result = val[1]

    result
end

#_reduce_448(val, _values, result) ⇒ Object



11453
11454
11455
11456
11457
# File 'lib/ruby_parser33.rb', line 11453

def _reduce_448(val, _values, result)
                      result = val[1]

    result
end

#_reduce_449(val, _values, result) ⇒ Object



11459
11460
11461
11462
11463
11464
# File 'lib/ruby_parser33.rb', line 11459

def _reduce_449(val, _values, result)
                      (_, line), iter, _ = val
                      result = iter.line line

    result
end

#_reduce_45(val, _values, result) ⇒ Object



9173
9174
9175
9176
9177
9178
9179
9180
9181
# File 'lib/ruby_parser33.rb', line 9173

def _reduce_45(val, _values, result)
                      prim, (call_op, _), (id, _), (op_asgn, _), rhs = val

                      result = s(:op_asgn, prim, rhs, id.to_sym, op_asgn.to_sym)
                      result.sexp_type = :safe_op_asgn if call_op == '&.'
                      result.line prim.line

    result
end

#_reduce_450(val, _values, result) ⇒ Object



11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
# File 'lib/ruby_parser33.rb', line 11466

def _reduce_450(val, _values, result)
                      # TODO:
                      ## if (nd_type($1) == NODE_YIELD) {
                      ##     compile_error(PARSER_ARG "block given to yield");

                      cmd, blk = val

                      syntax_error "Both block arg and actual block given." if
                        cmd.block_pass?

                      if inverted? val then
                        val = invert_block_call val
                        cmd, blk = val
                      end

                      result = blk
                      result.insert 1, cmd

    result
end

#_reduce_451(val, _values, result) ⇒ Object



11487
11488
11489
11490
11491
11492
11493
# File 'lib/ruby_parser33.rb', line 11487

def _reduce_451(val, _values, result)
                      lhs, _, (id, _line), args = val

                      result = new_call lhs, id.to_sym, args

    result
end

#_reduce_452(val, _values, result) ⇒ Object



11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
# File 'lib/ruby_parser33.rb', line 11495

def _reduce_452(val, _values, result)
                      iter1, _, (name, _line), args, iter2 = val

                      call = new_call iter1, name.to_sym, args
                      iter2.insert 1, call

                      result = iter2

    result
end

#_reduce_453(val, _values, result) ⇒ Object



11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
# File 'lib/ruby_parser33.rb', line 11506

def _reduce_453(val, _values, result)
                      iter1, _, (name, _line), args, iter2 = val

                      call = new_call iter1, name.to_sym, args
                      iter2.insert 1, call

                      result = iter2

    result
end

#_reduce_454(val, _values, result) ⇒ Object



11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
# File 'lib/ruby_parser33.rb', line 11517

def _reduce_454(val, _values, result)
                      call, args = val

                      result = call

                      if args then
                        call.concat args.sexp_body
                        result.line_max = args.line_max
                      end

    result
end

#_reduce_455(val, _values, result) ⇒ Object



11530
11531
11532
11533
11534
11535
11536
11537
# File 'lib/ruby_parser33.rb', line 11530

def _reduce_455(val, _values, result)
                      recv, call_op, (op, op_line), args = val

                      result = new_call recv, op.to_sym, args, call_op
                      result.line_max = op_line unless args

    result
end

#_reduce_456(val, _values, result) ⇒ Object



11539
11540
11541
11542
11543
11544
11545
# File 'lib/ruby_parser33.rb', line 11539

def _reduce_456(val, _values, result)
                      recv, _, (op, _line), args = val

                      result = new_call recv, op.to_sym, args

    result
end

#_reduce_457(val, _values, result) ⇒ Object



11547
11548
11549
11550
11551
11552
11553
# File 'lib/ruby_parser33.rb', line 11547

def _reduce_457(val, _values, result)
                      lhs, _, (id, _line) = val

                      result = new_call lhs, id.to_sym

    result
end

#_reduce_458(val, _values, result) ⇒ Object



11555
11556
11557
11558
11559
# File 'lib/ruby_parser33.rb', line 11555

def _reduce_458(val, _values, result)
                      result = new_call val[0], :call, val[2], val[1]

    result
end

#_reduce_459(val, _values, result) ⇒ Object



11561
11562
11563
11564
11565
# File 'lib/ruby_parser33.rb', line 11561

def _reduce_459(val, _values, result)
                      result = new_call val[0], :call, val[2]

    result
end

#_reduce_46(val, _values, result) ⇒ Object



9183
9184
9185
9186
9187
9188
9189
# File 'lib/ruby_parser33.rb', line 9183

def _reduce_46(val, _values, result)
                      lhs1, _, (lhs2, line), (id, _), rhs = val

                      result = s(:op_asgn, lhs1, rhs, lhs2.to_sym, id.to_sym).line line

    result
end

#_reduce_460(val, _values, result) ⇒ Object



11567
11568
11569
11570
11571
# File 'lib/ruby_parser33.rb', line 11567

def _reduce_460(val, _values, result)
                      result = new_super val[1]

    result
end

#_reduce_461(val, _values, result) ⇒ Object



11573
11574
11575
11576
11577
11578
# File 'lib/ruby_parser33.rb', line 11573

def _reduce_461(val, _values, result)
                      (_, line), = val
                      result = s(:zsuper).line line

    result
end

#_reduce_462(val, _values, result) ⇒ Object



11580
11581
11582
11583
11584
# File 'lib/ruby_parser33.rb', line 11580

def _reduce_462(val, _values, result)
                      result = new_aref val

    result
end

#_reduce_463(val, _values, result) ⇒ Object



11586
11587
11588
11589
11590
# File 'lib/ruby_parser33.rb', line 11586

def _reduce_463(val, _values, result)
                      self.env.extend :dynamic

    result
end

#_reduce_464(val, _values, result) ⇒ Object



11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
# File 'lib/ruby_parser33.rb', line 11592

def _reduce_464(val, _values, result)
                      (_, line), _, body, _ = val

                      result = body
                      result.line line

                      self.env.unextend

    result
end

#_reduce_465(val, _values, result) ⇒ Object



11603
11604
11605
11606
11607
# File 'lib/ruby_parser33.rb', line 11603

def _reduce_465(val, _values, result)
                      self.env.extend :dynamic

    result
end

#_reduce_466(val, _values, result) ⇒ Object



11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
# File 'lib/ruby_parser33.rb', line 11609

def _reduce_466(val, _values, result)
                      (_, line), _, body, _ = val

                      result = body
                      result.line line

                      self.env.unextend

    result
end

#_reduce_467(val, _values, result) ⇒ Object



11620
11621
11622
11623
# File 'lib/ruby_parser33.rb', line 11620

def _reduce_467(val, _values, result)
 self.env.extend :dynamic; result = self.lexer.lineno
    result
end

#_reduce_468(val, _values, result) ⇒ Object



11625
11626
11627
11628
# File 'lib/ruby_parser33.rb', line 11625

def _reduce_468(val, _values, result)
 result = lexer.cmdarg.store(false)
    result
end

#_reduce_469(val, _values, result) ⇒ Object



11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
# File 'lib/ruby_parser33.rb', line 11630

def _reduce_469(val, _values, result)
                      line, cmdarg, param, cmpstmt = val

                      result = new_brace_body param, cmpstmt, line
                      self.env.unextend
                      lexer.cmdarg.restore cmdarg
                      lexer.cmdarg.pop # because of: cmdarg_stack >> 1 ?

    result
end

#_reduce_47(val, _values, result) ⇒ Object



9191
9192
9193
9194
9195
9196
9197
# File 'lib/ruby_parser33.rb', line 9191

def _reduce_47(val, _values, result)
                      lhs1, _, (lhs2, line), (id, _), rhs = val

                      result = s(:op_asgn, lhs1, rhs, lhs2.to_sym, id.to_sym).line line

    result
end

#_reduce_470(val, _values, result) ⇒ Object



11641
11642
11643
11644
# File 'lib/ruby_parser33.rb', line 11641

def _reduce_470(val, _values, result)
 self.env.extend :dynamic; result = self.lexer.lineno
    result
end

#_reduce_471(val, _values, result) ⇒ Object



11646
11647
11648
11649
# File 'lib/ruby_parser33.rb', line 11646

def _reduce_471(val, _values, result)
 lexer.cmdarg.push false
    result
end

#_reduce_472(val, _values, result) ⇒ Object



11651
11652
11653
11654
11655
11656
11657
11658
11659
# File 'lib/ruby_parser33.rb', line 11651

def _reduce_472(val, _values, result)
                      line, _cmdarg, param, cmpstmt = val

                      result = new_do_body param, cmpstmt, line
                      lexer.cmdarg.pop
                      self.env.unextend

    result
end

#_reduce_473(val, _values, result) ⇒ Object



11661
11662
11663
11664
11665
11666
11667
# File 'lib/ruby_parser33.rb', line 11661

def _reduce_473(val, _values, result)
                      arg, = val

                      result = s(:array, arg).line arg.line

    result
end

#_reduce_474(val, _values, result) ⇒ Object



11669
11670
11671
11672
11673
11674
11675
# File 'lib/ruby_parser33.rb', line 11669

def _reduce_474(val, _values, result)
                      _, arg = val

                      result = s(:array, s(:splat, arg).line(arg.line)).line arg.line

    result
end

#_reduce_475(val, _values, result) ⇒ Object



11677
11678
11679
11680
11681
11682
11683
# File 'lib/ruby_parser33.rb', line 11677

def _reduce_475(val, _values, result)
                      args, _, id = val

                      result = self.list_append args, id

    result
end

#_reduce_476(val, _values, result) ⇒ Object



11685
11686
11687
11688
11689
11690
11691
# File 'lib/ruby_parser33.rb', line 11685

def _reduce_476(val, _values, result)
                      args, _, _, id = val

                      result = self.list_append args, s(:splat, id).line(id.line)

    result
end

#_reduce_477(val, _values, result) ⇒ Object



11693
11694
11695
11696
11697
11698
11699
11700
11701
# File 'lib/ruby_parser33.rb', line 11693

def _reduce_477(val, _values, result)
                      (_, line), case_args, _then, body, cases = val

                      result = new_when case_args, body
                      result.line line
                      result << cases if cases

    result
end

#_reduce_48(val, _values, result) ⇒ Object



9199
9200
9201
9202
9203
# File 'lib/ruby_parser33.rb', line 9199

def _reduce_48(val, _values, result)
                      result = new_endless_defn val

    result
end

#_reduce_480(val, _values, result) ⇒ Object

reduce 479 omitted



11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
# File 'lib/ruby_parser33.rb', line 11707

def _reduce_480(val, _values, result)
                      self.lexer.lex_state = EXPR_BEG|EXPR_LABEL
                      self.lexer.command_start = false
                      result = self.in_kwarg
                      self.in_kwarg = true
                      push_pvtbl
                      push_pktbl

    result
end

#_reduce_481(val, _values, result) ⇒ Object



11718
11719
11720
11721
11722
11723
11724
11725
# File 'lib/ruby_parser33.rb', line 11718

def _reduce_481(val, _values, result)
                      pop_pktbl
                      pop_pvtbl
                      old_kwargs = _values[-3]
                      self.in_kwarg = old_kwargs

    result
end

#_reduce_482(val, _values, result) ⇒ Object



11727
11728
11729
11730
11731
11732
11733
# File 'lib/ruby_parser33.rb', line 11727

def _reduce_482(val, _values, result)
                      (_, line), _, pat, _, _, body, cases = val

                      result = new_in pat, body, cases, line

    result
end

#_reduce_486(val, _values, result) ⇒ Object

reduce 485 omitted



11741
11742
11743
11744
11745
11746
11747
11748
# File 'lib/ruby_parser33.rb', line 11741

def _reduce_486(val, _values, result)
                      body, _, cond = val
                      body = remove_begin body

                      result = s(:if, cond, body, nil).line body.line

    result
end

#_reduce_487(val, _values, result) ⇒ Object



11750
11751
11752
11753
11754
11755
11756
11757
# File 'lib/ruby_parser33.rb', line 11750

def _reduce_487(val, _values, result)
                      body, _, cond = val
                      body = remove_begin body

                      result = s(:if, cond, nil, body).line body.line

    result
end

#_reduce_489(val, _values, result) ⇒ Object

reduce 488 omitted



11761
11762
11763
11764
11765
11766
11767
11768
# File 'lib/ruby_parser33.rb', line 11761

def _reduce_489(val, _values, result)
                      expr, _ = val

                      tail = new_array_pattern_tail nil, true, nil, nil
                      result = new_array_pattern nil, expr, tail, expr.line

    result
end

#_reduce_49(val, _values, result) ⇒ Object



9205
9206
9207
9208
9209
# File 'lib/ruby_parser33.rb', line 9205

def _reduce_49(val, _values, result)
                      result = new_endless_defn val

    result
end

#_reduce_490(val, _values, result) ⇒ Object



11770
11771
11772
11773
11774
11775
11776
# File 'lib/ruby_parser33.rb', line 11770

def _reduce_490(val, _values, result)
                      expr, _, args = val

                      result = new_array_pattern nil, expr, args, expr.line

    result
end

#_reduce_491(val, _values, result) ⇒ Object



11778
11779
11780
11781
11782
11783
11784
# File 'lib/ruby_parser33.rb', line 11778

def _reduce_491(val, _values, result)
                      find, = val

                      result = new_find_pattern nil, find

    result
end

#_reduce_492(val, _values, result) ⇒ Object



11786
11787
11788
11789
11790
11791
# File 'lib/ruby_parser33.rb', line 11786

def _reduce_492(val, _values, result)
                      args, = val
                      result = new_array_pattern nil, nil, args, args.line

    result
end

#_reduce_493(val, _values, result) ⇒ Object



11793
11794
11795
11796
11797
11798
# File 'lib/ruby_parser33.rb', line 11793

def _reduce_493(val, _values, result)
                      kwargs, = val
                      result = new_hash_pattern nil, kwargs, kwargs.line

    result
end

#_reduce_495(val, _values, result) ⇒ Object

reduce 494 omitted



11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
# File 'lib/ruby_parser33.rb', line 11802

def _reduce_495(val, _values, result)
                      # NODE *n = NEW_LIST($1, &@$);
                      # n = list_append(p, n, $3);
                      # $$ = new_hash(p, n, &@$);

                      expr, _, var = val

                      id = var.last

                      self.env[id] = :lvar # HACK: need to extend env
                      lhs = s(:lasgn, id).line var.line

                      result = new_assign lhs, expr

    result
end

#_reduce_497(val, _values, result) ⇒ Object

reduce 496 omitted



11821
11822
11823
11824
11825
11826
11827
# File 'lib/ruby_parser33.rb', line 11821

def _reduce_497(val, _values, result)
                      lhs, _, rhs = val

                      result = s(:or, lhs, rhs).line lhs.line

    result
end

#_reduce_499(val, _values, result) ⇒ Object

reduce 498 omitted



11831
11832
11833
11834
# File 'lib/ruby_parser33.rb', line 11831

def _reduce_499(val, _values, result)
 push_pktbl
    result
end

#_reduce_50(val, _values, result) ⇒ Object



9211
9212
9213
9214
9215
# File 'lib/ruby_parser33.rb', line 9211

def _reduce_50(val, _values, result)
                      result = new_endless_defs val

    result
end

#_reduce_500(val, _values, result) ⇒ Object



11836
11837
11838
11839
# File 'lib/ruby_parser33.rb', line 11836

def _reduce_500(val, _values, result)
 push_pktbl
    result
end

#_reduce_503(val, _values, result) ⇒ Object

reduce 502 omitted



11845
11846
11847
11848
11849
11850
11851
11852
# File 'lib/ruby_parser33.rb', line 11845

def _reduce_503(val, _values, result)
                      lhs, _, args, _ = val

                      pop_pktbl
                      result = new_array_pattern(lhs, nil, args, lhs.line)

    result
end

#_reduce_504(val, _values, result) ⇒ Object



11854
11855
11856
11857
11858
11859
11860
11861
# File 'lib/ruby_parser33.rb', line 11854

def _reduce_504(val, _values, result)
                      const, _, find, _ = val

                      pop_pktbl
                      result = new_find_pattern(const, find).line const.line

    result
end

#_reduce_505(val, _values, result) ⇒ Object



11863
11864
11865
11866
11867
11868
11869
11870
# File 'lib/ruby_parser33.rb', line 11863

def _reduce_505(val, _values, result)
                      lhs, _, kwargs, _ = val

                      pop_pktbl
                      result = new_hash_pattern(lhs, kwargs, lhs.line)

    result
end

#_reduce_506(val, _values, result) ⇒ Object



11872
11873
11874
11875
11876
11877
11878
11879
# File 'lib/ruby_parser33.rb', line 11872

def _reduce_506(val, _values, result)
                      const, _, _ = val

                      tail = new_array_pattern_tail nil, nil, nil, nil
                      result = new_array_pattern const, nil, tail, const.line

    result
end

#_reduce_507(val, _values, result) ⇒ Object



11881
11882
11883
11884
11885
11886
11887
11888
# File 'lib/ruby_parser33.rb', line 11881

def _reduce_507(val, _values, result)
                      const, _, pre_arg, _ = val

                      pop_pktbl
                      result = new_array_pattern const, nil, pre_arg, const.line

    result
end

#_reduce_508(val, _values, result) ⇒ Object



11890
11891
11892
11893
11894
11895
11896
11897
# File 'lib/ruby_parser33.rb', line 11890

def _reduce_508(val, _values, result)
                      const, _, find, _ = val

                      pop_pktbl
                      result = new_find_pattern(const, find).line const.line

    result
end

#_reduce_509(val, _values, result) ⇒ Object



11899
11900
11901
11902
11903
11904
11905
# File 'lib/ruby_parser33.rb', line 11899

def _reduce_509(val, _values, result)
                      const, _, kwargs, _ = val

                      result = new_hash_pattern const, kwargs, const.line

    result
end

#_reduce_51(val, _values, result) ⇒ Object



9217
9218
9219
9220
9221
# File 'lib/ruby_parser33.rb', line 9217

def _reduce_51(val, _values, result)
                      result = new_endless_defs val

    result
end

#_reduce_510(val, _values, result) ⇒ Object



11907
11908
11909
11910
11911
11912
11913
11914
# File 'lib/ruby_parser33.rb', line 11907

def _reduce_510(val, _values, result)
                      const, _, _ = val

                      tail = new_array_pattern_tail nil, nil, nil, nil
                      result = new_array_pattern const, nil, tail, const.line

    result
end

#_reduce_511(val, _values, result) ⇒ Object



11916
11917
11918
11919
11920
11921
11922
# File 'lib/ruby_parser33.rb', line 11916

def _reduce_511(val, _values, result)
                      _, pat, _ = val

                      result = new_array_pattern nil, nil, pat, pat.line

    result
end

#_reduce_512(val, _values, result) ⇒ Object



11924
11925
11926
11927
11928
11929
11930
# File 'lib/ruby_parser33.rb', line 11924

def _reduce_512(val, _values, result)
                      _, find, _ = val

                      result = new_find_pattern nil, find

    result
end

#_reduce_513(val, _values, result) ⇒ Object



11932
11933
11934
11935
11936
11937
11938
# File 'lib/ruby_parser33.rb', line 11932

def _reduce_513(val, _values, result)
                      (_, line), _ = val

                      result = s(:array_pat).line line

    result
end

#_reduce_514(val, _values, result) ⇒ Object



11940
11941
11942
11943
11944
11945
11946
# File 'lib/ruby_parser33.rb', line 11940

def _reduce_514(val, _values, result)
                      push_pktbl
                      result = self.in_kwarg
                      self.in_kwarg = false

    result
end

#_reduce_515(val, _values, result) ⇒ Object



11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
# File 'lib/ruby_parser33.rb', line 11948

def _reduce_515(val, _values, result)
                      _, in_kwarg, kwargs, _ = val

                      pop_pktbl
                      self.in_kwarg = in_kwarg

                      result = new_hash_pattern(nil, kwargs, kwargs.line)

    result
end

#_reduce_516(val, _values, result) ⇒ Object



11959
11960
11961
11962
11963
11964
11965
11966
# File 'lib/ruby_parser33.rb', line 11959

def _reduce_516(val, _values, result)
                      (_, line), _ = val

                      tail = new_hash_pattern_tail nil, nil, line
                      result = new_hash_pattern nil, tail, line

    result
end

#_reduce_517(val, _values, result) ⇒ Object



11968
11969
11970
11971
# File 'lib/ruby_parser33.rb', line 11968

def _reduce_517(val, _values, result)
 push_pktbl
    result
end

#_reduce_518(val, _values, result) ⇒ Object



11973
11974
11975
11976
11977
11978
11979
11980
# File 'lib/ruby_parser33.rb', line 11973

def _reduce_518(val, _values, result)
                      _, _, expr, _ = val

                      pop_pktbl
                      result = expr

    result
end

#_reduce_519(val, _values, result) ⇒ Object



11982
11983
11984
11985
11986
11987
11988
11989
# File 'lib/ruby_parser33.rb', line 11982

def _reduce_519(val, _values, result)
                      expr, = val

                      ary = s(:array_TAIL, expr).line expr.line
                      result = new_array_pattern_tail(ary, nil, nil, nil).line expr.line

    result
end

#_reduce_52(val, _values, result) ⇒ Object



9223
9224
9225
9226
9227
# File 'lib/ruby_parser33.rb', line 9223

def _reduce_52(val, _values, result)
                      self.backref_assign_error val[0]

    result
end

#_reduce_520(val, _values, result) ⇒ Object



11991
11992
11993
11994
11995
11996
11997
# File 'lib/ruby_parser33.rb', line 11991

def _reduce_520(val, _values, result)
                      head, = val

                      result = new_array_pattern_tail head, true, nil, nil

    result
end

#_reduce_521(val, _values, result) ⇒ Object



11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
# File 'lib/ruby_parser33.rb', line 11999

def _reduce_521(val, _values, result)
                      head, tail = val

                      both = array_pat_concat head, tail

                      result = new_array_pattern_tail both, nil, nil, nil
                      result.line head.line

    result
end

#_reduce_522(val, _values, result) ⇒ Object



12010
12011
12012
12013
12014
12015
12016
# File 'lib/ruby_parser33.rb', line 12010

def _reduce_522(val, _values, result)
                      head, (rest, _) = val

                      result = new_array_pattern_tail(head, true, rest, nil).line head.line

    result
end

#_reduce_523(val, _values, result) ⇒ Object



12018
12019
12020
12021
12022
12023
12024
# File 'lib/ruby_parser33.rb', line 12018

def _reduce_523(val, _values, result)
                      head, (rest, _), _, post = val

                      result = new_array_pattern_tail(head, true, rest, post).line head.line

    result
end

#_reduce_525(val, _values, result) ⇒ Object

reduce 524 omitted



12028
12029
12030
12031
12032
12033
# File 'lib/ruby_parser33.rb', line 12028

def _reduce_525(val, _values, result)
                      arg, _ = val
                      result = arg

    result
end

#_reduce_526(val, _values, result) ⇒ Object



12035
12036
12037
12038
12039
12040
12041
12042
# File 'lib/ruby_parser33.rb', line 12035

def _reduce_526(val, _values, result)
                      head, tail, _ = val

                      result = s(:PATTERN, *head.sexp_body, *tail.sexp_body)
                      result.line head.line

    result
end

#_reduce_527(val, _values, result) ⇒ Object



12044
12045
12046
12047
12048
12049
12050
12051
# File 'lib/ruby_parser33.rb', line 12044

def _reduce_527(val, _values, result)
                      (id, line), = val

                      result = new_array_pattern_tail nil, true, id, nil
                      result.line line

    result
end

#_reduce_528(val, _values, result) ⇒ Object



12053
12054
12055
12056
12057
12058
12059
12060
# File 'lib/ruby_parser33.rb', line 12053

def _reduce_528(val, _values, result)
                      (id, line), _, rhs = val

                      result = new_array_pattern_tail nil, true, id, rhs
                      result.line line

    result
end

#_reduce_529(val, _values, result) ⇒ Object



12062
12063
12064
12065
12066
12067
12068
# File 'lib/ruby_parser33.rb', line 12062

def _reduce_529(val, _values, result)
                      lhs, _, mid, _, rhs = val

                      result = new_find_pattern_tail lhs, mid, rhs

    result
end

#_reduce_53(val, _values, result) ⇒ Object



9229
9230
9231
9232
9233
9234
# File 'lib/ruby_parser33.rb', line 9229

def _reduce_53(val, _values, result)
                      expr, = val
                      result = value_expr expr

    result
end

#_reduce_530(val, _values, result) ⇒ Object



12070
12071
12072
12073
12074
12075
12076
# File 'lib/ruby_parser33.rb', line 12070

def _reduce_530(val, _values, result)
                      _, (id, line) = val

                      result = [id.to_sym, line]

    result
end

#_reduce_531(val, _values, result) ⇒ Object



12078
12079
12080
12081
12082
12083
12084
# File 'lib/ruby_parser33.rb', line 12078

def _reduce_531(val, _values, result)
                      (_id, line), = val

                      result = [nil, line]

    result
end

#_reduce_533(val, _values, result) ⇒ Object

reduce 532 omitted



12088
12089
12090
12091
12092
12093
12094
# File 'lib/ruby_parser33.rb', line 12088

def _reduce_533(val, _values, result)
                      lhs, _, rhs = val

                      result = array_pat_concat lhs, rhs

    result
end

#_reduce_534(val, _values, result) ⇒ Object



12096
12097
12098
12099
12100
12101
12102
12103
# File 'lib/ruby_parser33.rb', line 12096

def _reduce_534(val, _values, result)
                      expr, = val
                      expr = s(:array_TAIL, expr).line expr.line unless
                        expr.sexp_type == :array_TAIL
                      result = expr

    result
end

#_reduce_535(val, _values, result) ⇒ Object



12105
12106
12107
12108
12109
12110
12111
# File 'lib/ruby_parser33.rb', line 12105

def _reduce_535(val, _values, result)
                      kw_arg, _, rest = val
                      # TODO? new_unique_key_hash(p, $1, &@$)
                      result = new_hash_pattern_tail kw_arg, rest, kw_arg.line

    result
end

#_reduce_536(val, _values, result) ⇒ Object



12113
12114
12115
12116
12117
12118
12119
# File 'lib/ruby_parser33.rb', line 12113

def _reduce_536(val, _values, result)
                      kwarg, = val
                      # TODO? new_unique_key_hash(p, $1, &@$)
                      result = new_hash_pattern_tail kwarg, nil, kwarg.line

    result
end

#_reduce_537(val, _values, result) ⇒ Object



12121
12122
12123
12124
12125
12126
12127
# File 'lib/ruby_parser33.rb', line 12121

def _reduce_537(val, _values, result)
                      kwarg, _ = val
                      # TODO? new_unique_key_hash(p, $1, &@$)
                      result = new_hash_pattern_tail kwarg, nil, kwarg.line

    result
end

#_reduce_538(val, _values, result) ⇒ Object



12129
12130
12131
12132
12133
12134
12135
# File 'lib/ruby_parser33.rb', line 12129

def _reduce_538(val, _values, result)
                      rest, = val

                      result = new_hash_pattern_tail nil, rest, rest.line

    result
end

#_reduce_54(val, _values, result) ⇒ Object



9236
9237
9238
9239
9240
9241
9242
9243
9244
# File 'lib/ruby_parser33.rb', line 9236

def _reduce_54(val, _values, result)
                      expr, (_, line), resbody = val

                      expr = value_expr expr
                      ary  = s(:array).line line
                      result = new_rescue(expr, new_resbody(ary, resbody))

    result
end

#_reduce_540(val, _values, result) ⇒ Object

reduce 539 omitted



12139
12140
12141
12142
12143
12144
12145
# File 'lib/ruby_parser33.rb', line 12139

def _reduce_540(val, _values, result)
                      kwarg, _, kw = val
                      kwarg.concat kw.sexp_body
                      result = kwarg

    result
end

#_reduce_541(val, _values, result) ⇒ Object



12147
12148
12149
12150
12151
12152
12153
12154
# File 'lib/ruby_parser33.rb', line 12147

def _reduce_541(val, _values, result)
                      # TODO: error_duplicate_pattern_key(p, get_id($1), &@1);
                      lhs, rhs = val

                      result = s(:PAIR, lhs, rhs).line lhs.line

    result
end

#_reduce_542(val, _values, result) ⇒ Object



12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
# File 'lib/ruby_parser33.rb', line 12156

def _reduce_542(val, _values, result)
                      lhs, = val

                      # TODO: error_duplicate_pattern_variable(p, get_id($1), &@1);

                      # TODO: if ($1 && !is_local_id(get_id($1))) {
                      #     yyerror1(&@1, "key must be valid as local variables");
                      # }

                      # $$ = list_append(p, NEW_LIST(NEW_LIT(ID2SYM($1), &@$), &@$),
                      #                     assignable(p, $1, 0, &@$));

                      case lhs.sexp_type
                      when :lit then
                        assignable [lhs.value, lhs.line]
                      else
                        # TODO or done?
                        debug 10
                      end

                      # TODO PAIR -> LIST ?
                      result = s(:PAIR, lhs, nil).line lhs.line

    result
end

#_reduce_543(val, _values, result) ⇒ Object



12182
12183
12184
12185
12186
# File 'lib/ruby_parser33.rb', line 12182

def _reduce_543(val, _values, result)
                      result = wrap :lit, val[0]

    result
end

#_reduce_544(val, _values, result) ⇒ Object



12188
12189
12190
12191
12192
12193
# File 'lib/ruby_parser33.rb', line 12188

def _reduce_544(val, _values, result)
                      # you can't actually get here the way I lex labels
                      debug 11

    result
end

#_reduce_545(val, _values, result) ⇒ Object



12195
12196
12197
12198
12199
12200
12201
12202
12203
# File 'lib/ruby_parser33.rb', line 12195

def _reduce_545(val, _values, result)
                      _, (id, line) = val

                      name = id.to_sym
                      self.assignable [name, line]
                      result = s(:kwrest, :"**#{name}").line line

    result
end

#_reduce_546(val, _values, result) ⇒ Object



12205
12206
12207
12208
12209
12210
12211
# File 'lib/ruby_parser33.rb', line 12205

def _reduce_546(val, _values, result)
                      (_, line), = val

                      result = s(:kwrest, :"**").line line

    result
end

#_reduce_547(val, _values, result) ⇒ Object



12213
12214
12215
12216
12217
12218
12219
12220
# File 'lib/ruby_parser33.rb', line 12213

def _reduce_547(val, _values, result)
                      (_, line), _ = val

                      # TODO: or s(:norest)? s(:**nil)?
                      result = s(:kwrest, :"**nil").line line

    result
end

#_reduce_551(val, _values, result) ⇒ Object

reduce 550 omitted



12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
# File 'lib/ruby_parser33.rb', line 12228

def _reduce_551(val, _values, result)
                      lhs, _, rhs = val

                      lhs = value_expr lhs
                      rhs = value_expr rhs

                      result = s(:dot2, lhs, rhs).line lhs.line

    result
end

#_reduce_552(val, _values, result) ⇒ Object



12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
# File 'lib/ruby_parser33.rb', line 12239

def _reduce_552(val, _values, result)
                      lhs, _, rhs = val

                      lhs = value_expr lhs
                      rhs = value_expr rhs

                      result = s(:dot3, lhs, rhs).line lhs.line

    result
end

#_reduce_553(val, _values, result) ⇒ Object



12250
12251
12252
12253
12254
12255
12256
# File 'lib/ruby_parser33.rb', line 12250

def _reduce_553(val, _values, result)
                      v1, _ = val

                      result = s(:dot2, v1, nil).line v1.line

    result
end

#_reduce_554(val, _values, result) ⇒ Object



12258
12259
12260
12261
12262
12263
12264
# File 'lib/ruby_parser33.rb', line 12258

def _reduce_554(val, _values, result)
                      v1, _ = val

                      result = s(:dot3, v1, nil).line v1.line

    result
end

#_reduce_558(val, _values, result) ⇒ Object

reduce 557 omitted



12272
12273
12274
12275
12276
12277
12278
# File 'lib/ruby_parser33.rb', line 12272

def _reduce_558(val, _values, result)
                      _, v1 = val

                      result = s(:dot2, nil, v1).line v1.line

    result
end

#_reduce_559(val, _values, result) ⇒ Object



12280
12281
12282
12283
12284
12285
12286
# File 'lib/ruby_parser33.rb', line 12280

def _reduce_559(val, _values, result)
                      _, v1 = val

                      result = s(:dot3, nil, v1).line v1.line

    result
end

#_reduce_564(val, _values, result) ⇒ Object

reduce 563 omitted



12296
12297
12298
12299
12300
# File 'lib/ruby_parser33.rb', line 12296

def _reduce_564(val, _values, result)
                      result = ary_to_pat val[0]

    result
end

#_reduce_565(val, _values, result) ⇒ Object



12302
12303
12304
12305
12306
# File 'lib/ruby_parser33.rb', line 12302

def _reduce_565(val, _values, result)
                      result = ary_to_pat val[0]

    result
end

#_reduce_566(val, _values, result) ⇒ Object



12308
12309
12310
12311
12312
# File 'lib/ruby_parser33.rb', line 12308

def _reduce_566(val, _values, result)
                      result = ary_to_pat val[0]

    result
end

#_reduce_567(val, _values, result) ⇒ Object



12314
12315
12316
12317
12318
# File 'lib/ruby_parser33.rb', line 12314

def _reduce_567(val, _values, result)
                      result = ary_to_pat val[0]

    result
end

#_reduce_568(val, _values, result) ⇒ Object



12320
12321
12322
12323
12324
12325
12326
12327
# File 'lib/ruby_parser33.rb', line 12320

def _reduce_568(val, _values, result)
                      # TODO? if (!($$ = gettable(p, $1, &@$))) $$ = NEW_BEGIN(0, &@$);
                      var, = val

                      result = var

    result
end

#_reduce_57(val, _values, result) ⇒ Object

reduce 56 omitted



9250
9251
9252
9253
9254
9255
# File 'lib/ruby_parser33.rb', line 9250

def _reduce_57(val, _values, result)
                      lhs, _, rhs = val
                      result = logical_op :and, lhs, rhs

    result
end

#_reduce_570(val, _values, result) ⇒ Object

reduce 569 omitted



12331
12332
12333
12334
12335
12336
12337
# File 'lib/ruby_parser33.rb', line 12331

def _reduce_570(val, _values, result)
                      # TODO: error_duplicate_pattern_variable(p, $1, &@1);
                      # TODO: assignable(p, $1, 0, &@$);
                      result = wrap :lasgn, val[0]

    result
end

#_reduce_571(val, _values, result) ⇒ Object



12339
12340
12341
12342
12343
12344
# File 'lib/ruby_parser33.rb', line 12339

def _reduce_571(val, _values, result)
                      # TODO: check id against env for lvar or dvar
                      result = wrap :lvar, val[1]

    result
end

#_reduce_572(val, _values, result) ⇒ Object



12346
12347
12348
12349
12350
12351
# File 'lib/ruby_parser33.rb', line 12346

def _reduce_572(val, _values, result)
                      _, var = val
                      result = var

    result
end

#_reduce_573(val, _values, result) ⇒ Object



12353
12354
12355
12356
12357
12358
# File 'lib/ruby_parser33.rb', line 12353

def _reduce_573(val, _values, result)
                      _, _, expr, _ = val
                      result = expr # TODO? s(:begin, expr).line expr.line

    result
end

#_reduce_574(val, _values, result) ⇒ Object



12360
12361
12362
12363
12364
# File 'lib/ruby_parser33.rb', line 12360

def _reduce_574(val, _values, result)
                      result = wrap :colon3, val[1]

    result
end

#_reduce_575(val, _values, result) ⇒ Object



12366
12367
12368
12369
12370
12371
12372
12373
# File 'lib/ruby_parser33.rb', line 12366

def _reduce_575(val, _values, result)
                      lhs, _, (id, _line) = val

                      l = lhs.line
                      result = s(:const, s(:colon2, lhs, id.to_sym).line(l)).line l

    result
end

#_reduce_576(val, _values, result) ⇒ Object



12375
12376
12377
12378
12379
12380
# File 'lib/ruby_parser33.rb', line 12375

def _reduce_576(val, _values, result)
                      # TODO $$ = gettable(p, $1, &@$);
                      result = wrap :const, val[0]

    result
end

#_reduce_577(val, _values, result) ⇒ Object



12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
# File 'lib/ruby_parser33.rb', line 12382

def _reduce_577(val, _values, result)
                      (_, line), klasses, var, _, body, rest = val

                      klasses ||= s(:array)
                      klasses << new_assign(var, s(:gvar, :"$!").line(var.line)) if var
                      klasses.line line

                      result = new_resbody(klasses, body)
                      result << rest if rest # UGH, rewritten above

    result
end

#_reduce_578(val, _values, result) ⇒ Object



12395
12396
12397
12398
12399
# File 'lib/ruby_parser33.rb', line 12395

def _reduce_578(val, _values, result)
                      result = nil

    result
end

#_reduce_579(val, _values, result) ⇒ Object



12401
12402
12403
12404
12405
12406
# File 'lib/ruby_parser33.rb', line 12401

def _reduce_579(val, _values, result)
                      arg, = val
                      result = s(:array, arg).line arg.line

    result
end

#_reduce_58(val, _values, result) ⇒ Object



9257
9258
9259
9260
9261
9262
# File 'lib/ruby_parser33.rb', line 9257

def _reduce_58(val, _values, result)
                      lhs, _, rhs = val
                      result = logical_op :or, lhs, rhs

    result
end

#_reduce_582(val, _values, result) ⇒ Object

reduce 581 omitted



12412
12413
12414
12415
12416
# File 'lib/ruby_parser33.rb', line 12412

def _reduce_582(val, _values, result)
                      result = val[1]

    result
end

#_reduce_584(val, _values, result) ⇒ Object

reduce 583 omitted



12420
12421
12422
12423
12424
12425
12426
# File 'lib/ruby_parser33.rb', line 12420

def _reduce_584(val, _values, result)
                      (_, line), body = val

                      result = body || s(:nil).line(line)

    result
end

#_reduce_586(val, _values, result) ⇒ Object

reduce 585 omitted



12430
12431
12432
12433
12434
12435
# File 'lib/ruby_parser33.rb', line 12430

def _reduce_586(val, _values, result)
                      (lit, line), = val
                      result = s(:lit, lit).line line

    result
end

#_reduce_588(val, _values, result) ⇒ Object

reduce 587 omitted



12439
12440
12441
12442
12443
12444
12445
# File 'lib/ruby_parser33.rb', line 12439

def _reduce_588(val, _values, result)
                      str, = val
                      str = s(:dstr, str.value) if str.sexp_type == :evstr
                      result = str

    result
end

#_reduce_589(val, _values, result) ⇒ Object



12447
12448
12449
12450
12451
# File 'lib/ruby_parser33.rb', line 12447

def _reduce_589(val, _values, result)
                      debug 12

    result
end

#_reduce_59(val, _values, result) ⇒ Object



9264
9265
9266
9267
9268
9269
9270
# File 'lib/ruby_parser33.rb', line 9264

def _reduce_59(val, _values, result)
                      (_, line), _, expr = val
                      result = new_call(expr, :"!").line line
                      # REFACTOR: call_uni_op

    result
end

#_reduce_591(val, _values, result) ⇒ Object

reduce 590 omitted



12455
12456
12457
12458
12459
# File 'lib/ruby_parser33.rb', line 12455

def _reduce_591(val, _values, result)
                      result = self.literal_concat val[0], val[1]

    result
end

#_reduce_592(val, _values, result) ⇒ Object



12461
12462
12463
12464
12465
12466
12467
12468
12469
# File 'lib/ruby_parser33.rb', line 12461

def _reduce_592(val, _values, result)
                      (_, line), str, (_, func) = val

                      str = dedent str if func =~ RubyLexer::STR_FUNC_DEDENT

                      result = str.line line

    result
end

#_reduce_593(val, _values, result) ⇒ Object



12471
12472
12473
12474
12475
# File 'lib/ruby_parser33.rb', line 12471

def _reduce_593(val, _values, result)
                      result = new_string val

    result
end

#_reduce_594(val, _values, result) ⇒ Object



12477
12478
12479
12480
12481
12482
# File 'lib/ruby_parser33.rb', line 12477

def _reduce_594(val, _values, result)
                      result = new_xstring val
                      # TODO: dedent?!?! SERIOUSLY?!?

    result
end

#_reduce_595(val, _values, result) ⇒ Object



12484
12485
12486
12487
12488
# File 'lib/ruby_parser33.rb', line 12484

def _reduce_595(val, _values, result)
                      result = new_regexp val

    result
end

#_reduce_596(val, _values, result) ⇒ Object



12490
12491
12492
12493
12494
12495
12496
12497
# File 'lib/ruby_parser33.rb', line 12490

def _reduce_596(val, _values, result)
                      (_, line), _, (_, line_max) = val

                      result = s(:array).line line
                      result.line_max = line_max

    result
end

#_reduce_597(val, _values, result) ⇒ Object



12499
12500
12501
12502
12503
12504
12505
12506
# File 'lib/ruby_parser33.rb', line 12499

def _reduce_597(val, _values, result)
                      (_, line), list, (_, line_max) = val

                      result = list.line line
                      result.line_max = line_max

    result
end

#_reduce_598(val, _values, result) ⇒ Object



12508
12509
12510
12511
12512
# File 'lib/ruby_parser33.rb', line 12508

def _reduce_598(val, _values, result)
                      result = new_word_list

    result
end

#_reduce_599(val, _values, result) ⇒ Object



12514
12515
12516
12517
12518
# File 'lib/ruby_parser33.rb', line 12514

def _reduce_599(val, _values, result)
                      result = val[0].dup << new_word_list_entry(val)

    result
end

#_reduce_6(val, _values, result) ⇒ Object

reduce 5 omitted



8922
8923
8924
8925
8926
# File 'lib/ruby_parser33.rb', line 8922

def _reduce_6(val, _values, result)
                      result = self.block_append val[0], val[2]

    result
end

#_reduce_60(val, _values, result) ⇒ Object



9272
9273
9274
9275
9276
9277
9278
9279
# File 'lib/ruby_parser33.rb', line 9272

def _reduce_60(val, _values, result)
                      _, cmd = val
                      result = new_call(cmd, :"!").line cmd.line
                      # TODO: fix line number to tBANG... but causes BAD shift/reduce conflict
                      # REFACTOR: call_uni_op -- see parse26.y

    result
end

#_reduce_601(val, _values, result) ⇒ Object

reduce 600 omitted



12522
12523
12524
12525
12526
# File 'lib/ruby_parser33.rb', line 12522

def _reduce_601(val, _values, result)
                      result = self.literal_concat val[0], val[1]

    result
end

#_reduce_602(val, _values, result) ⇒ Object



12528
12529
12530
12531
12532
12533
12534
12535
# File 'lib/ruby_parser33.rb', line 12528

def _reduce_602(val, _values, result)
                      (_, line), _, (_, line_max) = val

                      result = s(:array).line line
                      result.line_max = line_max

    result
end

#_reduce_603(val, _values, result) ⇒ Object



12537
12538
12539
12540
12541
12542
12543
12544
# File 'lib/ruby_parser33.rb', line 12537

def _reduce_603(val, _values, result)
                      (_, line), list, (_, line_max), = val

                      result = list.line line
                      result.line_max = line_max

    result
end

#_reduce_604(val, _values, result) ⇒ Object



12546
12547
12548
12549
12550
# File 'lib/ruby_parser33.rb', line 12546

def _reduce_604(val, _values, result)
                      result = new_symbol_list

    result
end

#_reduce_605(val, _values, result) ⇒ Object



12552
12553
12554
12555
12556
12557
# File 'lib/ruby_parser33.rb', line 12552

def _reduce_605(val, _values, result)
                      list, * = val
                      result = list.dup << new_symbol_list_entry(val)

    result
end

#_reduce_606(val, _values, result) ⇒ Object



12559
12560
12561
12562
12563
12564
12565
12566
# File 'lib/ruby_parser33.rb', line 12559

def _reduce_606(val, _values, result)
                      (_, line), _, (_, line_max) = val

                      result = s(:array).line line
                      result.line_max = line_max

    result
end

#_reduce_607(val, _values, result) ⇒ Object



12568
12569
12570
12571
12572
12573
12574
12575
# File 'lib/ruby_parser33.rb', line 12568

def _reduce_607(val, _values, result)
                      (_, line), list, (_, line_max) = val

                      result = list.line line
                      result.line_max = line_max

    result
end

#_reduce_608(val, _values, result) ⇒ Object



12577
12578
12579
12580
12581
12582
12583
12584
# File 'lib/ruby_parser33.rb', line 12577

def _reduce_608(val, _values, result)
                      (_, line), _, (_, line_max) = val

                      result = s(:array).line line
                      result.line_max = line_max

    result
end

#_reduce_609(val, _values, result) ⇒ Object



12586
12587
12588
12589
12590
12591
12592
12593
# File 'lib/ruby_parser33.rb', line 12586

def _reduce_609(val, _values, result)
                      (_, line), list, (_, line_max) = val

                      result = list.line line
                      result.line_max = line_max

    result
end

#_reduce_61(val, _values, result) ⇒ Object



9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
# File 'lib/ruby_parser33.rb', line 9281

def _reduce_61(val, _values, result)
                      # value_expr($1);
                      self.lexer.lex_state = EXPR_BEG|EXPR_LABEL
                      self.lexer.command_start = false
                      result = self.in_kwarg
                      self.in_kwarg = true
                      self.env.extend

    result
end

#_reduce_610(val, _values, result) ⇒ Object



12595
12596
12597
12598
12599
# File 'lib/ruby_parser33.rb', line 12595

def _reduce_610(val, _values, result)
                      result = new_qword_list

    result
end

#_reduce_611(val, _values, result) ⇒ Object



12601
12602
12603
12604
12605
# File 'lib/ruby_parser33.rb', line 12601

def _reduce_611(val, _values, result)
                      result = val[0].dup << new_qword_list_entry(val)

    result
end

#_reduce_612(val, _values, result) ⇒ Object



12607
12608
12609
12610
12611
# File 'lib/ruby_parser33.rb', line 12607

def _reduce_612(val, _values, result)
                      result = new_qsym_list

    result
end

#_reduce_613(val, _values, result) ⇒ Object



12613
12614
12615
12616
12617
# File 'lib/ruby_parser33.rb', line 12613

def _reduce_613(val, _values, result)
                      result = val[0].dup << new_qsym_list_entry(val)

    result
end

#_reduce_614(val, _values, result) ⇒ Object



12619
12620
12621
12622
12623
12624
# File 'lib/ruby_parser33.rb', line 12619

def _reduce_614(val, _values, result)
                      line = prev_value_to_lineno _values.last
                      result = s(:str, +"").line line

    result
end

#_reduce_615(val, _values, result) ⇒ Object



12626
12627
12628
12629
12630
12631
# File 'lib/ruby_parser33.rb', line 12626

def _reduce_615(val, _values, result)
                      v1, v2 = val
                      result = literal_concat v1, v2

    result
end

#_reduce_616(val, _values, result) ⇒ Object



12633
12634
12635
12636
12637
# File 'lib/ruby_parser33.rb', line 12633

def _reduce_616(val, _values, result)
                      result = nil

    result
end

#_reduce_617(val, _values, result) ⇒ Object



12639
12640
12641
12642
12643
12644
# File 'lib/ruby_parser33.rb', line 12639

def _reduce_617(val, _values, result)
                      v1, v2 = val
                      result = literal_concat v1, v2

    result
end

#_reduce_618(val, _values, result) ⇒ Object



12646
12647
12648
12649
12650
# File 'lib/ruby_parser33.rb', line 12646

def _reduce_618(val, _values, result)
                      result = nil

    result
end

#_reduce_619(val, _values, result) ⇒ Object



12652
12653
12654
12655
12656
12657
# File 'lib/ruby_parser33.rb', line 12652

def _reduce_619(val, _values, result)
                      v1, v2 = val
                      result = literal_concat v1, v2

    result
end

#_reduce_62(val, _values, result) ⇒ Object



9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
# File 'lib/ruby_parser33.rb', line 9292

def _reduce_62(val, _values, result)
                      lhs, _, in_kwarg, rhs = val

                      self.env.unextend
                      self.in_kwarg = in_kwarg

                      rhs = new_in rhs, nil, nil, rhs.line
                      result = new_case lhs, rhs, rhs.line

    result
end

#_reduce_620(val, _values, result) ⇒ Object



12659
12660
12661
12662
12663
# File 'lib/ruby_parser33.rb', line 12659

def _reduce_620(val, _values, result)
                      result = new_string val

    result
end

#_reduce_621(val, _values, result) ⇒ Object



12665
12666
12667
12668
12669
12670
12671
12672
# File 'lib/ruby_parser33.rb', line 12665

def _reduce_621(val, _values, result)
                      result = lexer.lex_strterm

                      lexer.lex_strterm = nil
                      lexer.lex_state = EXPR_BEG

    result
end

#_reduce_622(val, _values, result) ⇒ Object



12674
12675
12676
12677
12678
12679
12680
# File 'lib/ruby_parser33.rb', line 12674

def _reduce_622(val, _values, result)
                      _, strterm, str = val
                      lexer.lex_strterm = strterm
                      result = s(:evstr, str).line str.line

    result
end

#_reduce_623(val, _values, result) ⇒ Object



12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
# File 'lib/ruby_parser33.rb', line 12682

def _reduce_623(val, _values, result)
                      result = [lexer.lex_strterm,
                                lexer.brace_nest,
                                lexer.string_nest, # TODO: remove
                                lexer.lex_state,
                               ]

                      lexer.cmdarg.push false
                      lexer.cond.push false

                      lexer.lex_strterm = nil
                      lexer.brace_nest  = 0
                      lexer.string_nest = 0

                      lexer.lex_state   = EXPR_BEG

    result
end

#_reduce_624(val, _values, result) ⇒ Object



12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
# File 'lib/ruby_parser33.rb', line 12701

def _reduce_624(val, _values, result)
                      (_, line), memo, stmt, _ = val

                      lex_strterm, brace_nest, string_nest, oldlex_state = memo
                      # TODO: heredoc_indent

                      lexer.lex_strterm = lex_strterm
                      lexer.brace_nest  = brace_nest
                      lexer.string_nest = string_nest

                      lexer.cond.pop
                      lexer.cmdarg.pop

                      lexer.lex_state = oldlex_state

                      case stmt
                      when Sexp then
                        case stmt.sexp_type
                        when :str, :dstr, :evstr then
                          result = stmt
                        else
                          result = s(:evstr, stmt).line line
                        end
                      when nil then
                        result = s(:evstr).line line
                      else
                        debug 13
                        raise "unknown string body: #{stmt.inspect}"
                      end

    result
end

#_reduce_625(val, _values, result) ⇒ Object



12734
12735
12736
12737
12738
# File 'lib/ruby_parser33.rb', line 12734

def _reduce_625(val, _values, result)
                      result = wrap :gvar, val[0]

    result
end

#_reduce_626(val, _values, result) ⇒ Object



12740
12741
12742
12743
12744
# File 'lib/ruby_parser33.rb', line 12740

def _reduce_626(val, _values, result)
                      result = wrap :ivar, val[0]

    result
end

#_reduce_627(val, _values, result) ⇒ Object



12746
12747
12748
12749
12750
# File 'lib/ruby_parser33.rb', line 12746

def _reduce_627(val, _values, result)
                      result = wrap :cvar, val[0]

    result
end

#_reduce_63(val, _values, result) ⇒ Object



9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
# File 'lib/ruby_parser33.rb', line 9304

def _reduce_63(val, _values, result)
                      # TODO? value_expr($1);
                      self.lexer.lex_state = EXPR_BEG|EXPR_LABEL
                      self.lexer.command_start = false
                      result = self.in_kwarg
                      self.in_kwarg = true
                      self.env.extend

    result
end

#_reduce_631(val, _values, result) ⇒ Object

reduce 630 omitted



12758
12759
12760
12761
12762
12763
# File 'lib/ruby_parser33.rb', line 12758

def _reduce_631(val, _values, result)
                      lexer.lex_state = EXPR_END
                      result = wrap :lit, val[1]

    result
end

#_reduce_632(val, _values, result) ⇒ Object



12765
12766
12767
12768
12769
12770
# File 'lib/ruby_parser33.rb', line 12765

def _reduce_632(val, _values, result)
                      lexer.lex_state = EXPR_END
                      result = wrap :lit, val[0]

    result
end

#_reduce_637(val, _values, result) ⇒ Object

reduce 636 omitted



12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
# File 'lib/ruby_parser33.rb', line 12780

def _reduce_637(val, _values, result)
                      (_, line), result, _ = val

                      lexer.lex_state = EXPR_END

                      result ||= s(:str, "").line line

                      case result.sexp_type
                      when :dstr then
                        result.sexp_type = :dsym
                      when :str then
                        result = s(:lit, result.last.to_sym).line result.line
                      when :evstr then
                        result = s(:dsym, "", result).line result.line
                      else
                        debug 14
                      end

    result
end

#_reduce_639(val, _values, result) ⇒ Object

reduce 638 omitted



12803
12804
12805
12806
12807
12808
# File 'lib/ruby_parser33.rb', line 12803

def _reduce_639(val, _values, result)
                      _, (num, line) = val
                      result = [-num, line]

    result
end

#_reduce_64(val, _values, result) ⇒ Object



9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
# File 'lib/ruby_parser33.rb', line 9315

def _reduce_64(val, _values, result)
                      self.env.unextend

                      expr, _, old_kwarg, pat = val

                      expr = value_expr expr

                      self.in_kwarg = old_kwarg
                      pat_in = new_in pat, nil, nil, expr.line
                      result = new_case expr, pat_in, expr.line

    result
end

#_reduce_644(val, _values, result) ⇒ Object

reduce 643 omitted



12818
12819
12820
12821
# File 'lib/ruby_parser33.rb', line 12818

def _reduce_644(val, _values, result)
 result = wrap :ivar, val[0]
    result
end

#_reduce_645(val, _values, result) ⇒ Object



12823
12824
12825
12826
# File 'lib/ruby_parser33.rb', line 12823

def _reduce_645(val, _values, result)
 result = wrap :gvar, val[0]
    result
end

#_reduce_646(val, _values, result) ⇒ Object



12828
12829
12830
12831
# File 'lib/ruby_parser33.rb', line 12828

def _reduce_646(val, _values, result)
 result = wrap :cvar, val[0]
    result
end

#_reduce_652(val, _values, result) ⇒ Object

reduce 651 omitted



12843
12844
12845
12846
# File 'lib/ruby_parser33.rb', line 12843

def _reduce_652(val, _values, result)
 (_, line), = val; result = s(:nil).line line
    result
end

#_reduce_653(val, _values, result) ⇒ Object



12848
12849
12850
12851
# File 'lib/ruby_parser33.rb', line 12848

def _reduce_653(val, _values, result)
 (_, line), = val; result = s(:self).line line
    result
end

#_reduce_654(val, _values, result) ⇒ Object



12853
12854
12855
12856
# File 'lib/ruby_parser33.rb', line 12853

def _reduce_654(val, _values, result)
 (_, line), = val; result = s(:true).line line
    result
end

#_reduce_655(val, _values, result) ⇒ Object



12858
12859
12860
12861
# File 'lib/ruby_parser33.rb', line 12858

def _reduce_655(val, _values, result)
 (_, line), = val; result = s(:false).line line
    result
end

#_reduce_656(val, _values, result) ⇒ Object



12863
12864
12865
12866
# File 'lib/ruby_parser33.rb', line 12863

def _reduce_656(val, _values, result)
 (_, line), = val; result = s(:str, self.file).line line
    result
end

#_reduce_657(val, _values, result) ⇒ Object



12868
12869
12870
12871
# File 'lib/ruby_parser33.rb', line 12868

def _reduce_657(val, _values, result)
 (_, line), = val; result = s(:lit, line).line line
    result
end

#_reduce_658(val, _values, result) ⇒ Object



12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
# File 'lib/ruby_parser33.rb', line 12873

def _reduce_658(val, _values, result)
                      (_, l), = val
                      result =
                        if defined? Encoding then
                          s(:colon2, s(:const, :Encoding).line(l), :UTF_8).line l
                        else
                          s(:str, "Unsupported!").line l
                        end

    result
end

#_reduce_659(val, _values, result) ⇒ Object



12885
12886
12887
12888
12889
12890
12891
12892
12893
# File 'lib/ruby_parser33.rb', line 12885

def _reduce_659(val, _values, result)
                      raise "NO: #{val.inspect}" if Sexp === val.first
                      (var, line), = val
                      result = Sexp === var ? var : self.gettable(var)

                      result.line line

    result
end

#_reduce_66(val, _values, result) ⇒ Object

reduce 65 omitted



9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
# File 'lib/ruby_parser33.rb', line 9331

def _reduce_66(val, _values, result)
                      # TODO: numparam_name(p, fname);

                      (id, line), = val
                      old_in_def = self.in_def

                      self.in_def = true # group = local_push
                      self.env.extend
                      lexer.cmdarg.push false
                      lexer.cond.push false

                      result = [id.to_sym, line, old_in_def]

    result
end

#_reduce_660(val, _values, result) ⇒ Object



12895
12896
12897
12898
12899
12900
# File 'lib/ruby_parser33.rb', line 12895

def _reduce_660(val, _values, result)
                      var = val[0]
                      result = Sexp === var ? var : self.gettable(var)

    result
end

#_reduce_661(val, _values, result) ⇒ Object



12902
12903
12904
12905
12906
# File 'lib/ruby_parser33.rb', line 12902

def _reduce_661(val, _values, result)
                      result = self.assignable val[0]

    result
end

#_reduce_662(val, _values, result) ⇒ Object



12908
12909
12910
12911
12912
12913
# File 'lib/ruby_parser33.rb', line 12908

def _reduce_662(val, _values, result)
                      result = self.assignable val[0]
                      debug 15

    result
end

#_reduce_663(val, _values, result) ⇒ Object



12915
12916
12917
12918
12919
12920
# File 'lib/ruby_parser33.rb', line 12915

def _reduce_663(val, _values, result)
                      (ref, line), = val
                      result = s(:nth_ref, ref).line line

    result
end

#_reduce_664(val, _values, result) ⇒ Object



12922
12923
12924
12925
12926
12927
# File 'lib/ruby_parser33.rb', line 12922

def _reduce_664(val, _values, result)
                      (ref, line), = val
                      result = s(:back_ref, ref).line line

    result
end

#_reduce_665(val, _values, result) ⇒ Object



12929
12930
12931
12932
12933
12934
# File 'lib/ruby_parser33.rb', line 12929

def _reduce_665(val, _values, result)
                      lexer.lex_state = EXPR_BEG
                      lexer.command_start = true

    result
end

#_reduce_666(val, _values, result) ⇒ Object



12936
12937
12938
12939
12940
# File 'lib/ruby_parser33.rb', line 12936

def _reduce_666(val, _values, result)
                      result = val[2]

    result
end

#_reduce_667(val, _values, result) ⇒ Object



12942
12943
12944
12945
12946
# File 'lib/ruby_parser33.rb', line 12942

def _reduce_667(val, _values, result)
                      result = nil

    result
end

#_reduce_669(val, _values, result) ⇒ Object

reduce 668 omitted



12950
12951
12952
12953
12954
12955
# File 'lib/ruby_parser33.rb', line 12950

def _reduce_669(val, _values, result)
                      self.in_argdef = false
                      result = end_args val

    result
end

#_reduce_67(val, _values, result) ⇒ Object



9347
9348
9349
9350
9351
# File 'lib/ruby_parser33.rb', line 9347

def _reduce_67(val, _values, result)
                      result = val

    result
end

#_reduce_670(val, _values, result) ⇒ Object



12957
12958
12959
12960
12961
12962
# File 'lib/ruby_parser33.rb', line 12957

def _reduce_670(val, _values, result)
                      self.in_argdef = false
                      result = end_args val

    result
end

#_reduce_672(val, _values, result) ⇒ Object

reduce 671 omitted



12966
12967
12968
12969
12970
12971
12972
12973
# File 'lib/ruby_parser33.rb', line 12966

def _reduce_672(val, _values, result)
                      result = self.in_kwarg
                      self.in_kwarg = true
                      self.in_argdef = true
                      self.lexer.lex_state |= EXPR_LABEL

    result
end

#_reduce_673(val, _values, result) ⇒ Object



12975
12976
12977
12978
12979
12980
# File 'lib/ruby_parser33.rb', line 12975

def _reduce_673(val, _values, result)
                      self.in_argdef = false
                      result = end_args val

    result
end

#_reduce_674(val, _values, result) ⇒ Object



12982
12983
12984
12985
12986
# File 'lib/ruby_parser33.rb', line 12982

def _reduce_674(val, _values, result)
                      result = args val

    result
end

#_reduce_675(val, _values, result) ⇒ Object



12988
12989
12990
12991
12992
# File 'lib/ruby_parser33.rb', line 12988

def _reduce_675(val, _values, result)
                      result = args val

    result
end

#_reduce_676(val, _values, result) ⇒ Object



12994
12995
12996
12997
12998
# File 'lib/ruby_parser33.rb', line 12994

def _reduce_676(val, _values, result)
                      result = args val

    result
end

#_reduce_679(val, _values, result) ⇒ Object

reduce 678 omitted



13004
13005
13006
13007
13008
# File 'lib/ruby_parser33.rb', line 13004

def _reduce_679(val, _values, result)
                      result = val[1]

    result
end

#_reduce_68(val, _values, result) ⇒ Object



9353
9354
9355
9356
9357
9358
# File 'lib/ruby_parser33.rb', line 9353

def _reduce_68(val, _values, result)
                      lexer.lex_state = EXPR_FNAME
                      self.in_argdef = true

    result
end

#_reduce_680(val, _values, result) ⇒ Object



13010
13011
13012
13013
13014
# File 'lib/ruby_parser33.rb', line 13010

def _reduce_680(val, _values, result)
                      result = nil

    result
end

#_reduce_681(val, _values, result) ⇒ Object



13016
13017
13018
13019
13020
# File 'lib/ruby_parser33.rb', line 13016

def _reduce_681(val, _values, result)
                      result = args val

    result
end

#_reduce_682(val, _values, result) ⇒ Object



13022
13023
13024
13025
13026
# File 'lib/ruby_parser33.rb', line 13022

def _reduce_682(val, _values, result)
                      result = args val

    result
end

#_reduce_683(val, _values, result) ⇒ Object



13028
13029
13030
13031
13032
# File 'lib/ruby_parser33.rb', line 13028

def _reduce_683(val, _values, result)
                      result = args val

    result
end

#_reduce_684(val, _values, result) ⇒ Object



13034
13035
13036
13037
13038
# File 'lib/ruby_parser33.rb', line 13034

def _reduce_684(val, _values, result)
                      result = args val

    result
end

#_reduce_685(val, _values, result) ⇒ Object



13040
13041
13042
13043
13044
# File 'lib/ruby_parser33.rb', line 13040

def _reduce_685(val, _values, result)
                      result = args val

    result
end

#_reduce_686(val, _values, result) ⇒ Object



13046
13047
13048
13049
13050
# File 'lib/ruby_parser33.rb', line 13046

def _reduce_686(val, _values, result)
                      result = args val

    result
end

#_reduce_687(val, _values, result) ⇒ Object



13052
13053
13054
13055
13056
# File 'lib/ruby_parser33.rb', line 13052

def _reduce_687(val, _values, result)
                      result = args val

    result
end

#_reduce_688(val, _values, result) ⇒ Object



13058
13059
13060
13061
13062
# File 'lib/ruby_parser33.rb', line 13058

def _reduce_688(val, _values, result)
                      result = args val

    result
end

#_reduce_689(val, _values, result) ⇒ Object



13064
13065
13066
13067
13068
# File 'lib/ruby_parser33.rb', line 13064

def _reduce_689(val, _values, result)
                      result = args val

    result
end

#_reduce_69(val, _values, result) ⇒ Object



9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
# File 'lib/ruby_parser33.rb', line 9360

def _reduce_69(val, _values, result)
                      lexer.lex_state = EXPR_ENDFN|EXPR_LABEL
                      self.in_single += 1 # TODO: remove?

                      # self.in_def = true # local_push
                      # self.env.extend
                      # lexer.cmdarg.push false
                      # lexer.cond.push false

                      result = val

    result
end

#_reduce_690(val, _values, result) ⇒ Object



13070
13071
13072
13073
13074
# File 'lib/ruby_parser33.rb', line 13070

def _reduce_690(val, _values, result)
                      result = args val

    result
end

#_reduce_691(val, _values, result) ⇒ Object



13076
13077
13078
13079
13080
# File 'lib/ruby_parser33.rb', line 13076

def _reduce_691(val, _values, result)
                      result = args val

    result
end

#_reduce_692(val, _values, result) ⇒ Object



13082
13083
13084
13085
13086
# File 'lib/ruby_parser33.rb', line 13082

def _reduce_692(val, _values, result)
                      result = args val

    result
end

#_reduce_693(val, _values, result) ⇒ Object



13088
13089
13090
13091
13092
# File 'lib/ruby_parser33.rb', line 13088

def _reduce_693(val, _values, result)
                      result = args val

    result
end

#_reduce_694(val, _values, result) ⇒ Object



13094
13095
13096
13097
13098
# File 'lib/ruby_parser33.rb', line 13094

def _reduce_694(val, _values, result)
                      result = args val

    result
end

#_reduce_695(val, _values, result) ⇒ Object



13100
13101
13102
13103
13104
# File 'lib/ruby_parser33.rb', line 13100

def _reduce_695(val, _values, result)
                      result = args val

    result
end

#_reduce_696(val, _values, result) ⇒ Object



13106
13107
13108
13109
13110
13111
# File 'lib/ruby_parser33.rb', line 13106

def _reduce_696(val, _values, result)
                      (_, line), = val
                      result = s(:forward_args).line line

    result
end

#_reduce_697(val, _values, result) ⇒ Object



13113
13114
13115
13116
13117
# File 'lib/ruby_parser33.rb', line 13113

def _reduce_697(val, _values, result)
                      yyerror "formal argument cannot be a constant"

    result
end

#_reduce_698(val, _values, result) ⇒ Object



13119
13120
13121
13122
13123
# File 'lib/ruby_parser33.rb', line 13119

def _reduce_698(val, _values, result)
                      yyerror "formal argument cannot be an instance variable"

    result
end

#_reduce_699(val, _values, result) ⇒ Object



13125
13126
13127
13128
13129
# File 'lib/ruby_parser33.rb', line 13125

def _reduce_699(val, _values, result)
                      yyerror "formal argument cannot be a global variable"

    result
end

#_reduce_70(val, _values, result) ⇒ Object



9374
9375
9376
9377
9378
# File 'lib/ruby_parser33.rb', line 9374

def _reduce_70(val, _values, result)
                      result = value_expr(val[0])

    result
end

#_reduce_700(val, _values, result) ⇒ Object



13131
13132
13133
13134
13135
# File 'lib/ruby_parser33.rb', line 13131

def _reduce_700(val, _values, result)
                      yyerror "formal argument cannot be a class variable"

    result
end

#_reduce_702(val, _values, result) ⇒ Object

reduce 701 omitted



13139
13140
13141
13142
13143
13144
13145
13146
13147
# File 'lib/ruby_parser33.rb', line 13139

def _reduce_702(val, _values, result)
                      (id, line), = val
                      identifier = id.to_sym
                      self.env[identifier] = :lvar

                      result = [identifier, line]

    result
end

#_reduce_705(val, _values, result) ⇒ Object

reduce 704 omitted



13153
13154
13155
13156
13157
13158
13159
# File 'lib/ruby_parser33.rb', line 13153

def _reduce_705(val, _values, result)
                      _, margs, _ = val

                      result = margs

    result
end

#_reduce_706(val, _values, result) ⇒ Object



13161
13162
13163
13164
13165
# File 'lib/ruby_parser33.rb', line 13161

def _reduce_706(val, _values, result)
                      result = new_arg val

    result
end

#_reduce_707(val, _values, result) ⇒ Object



13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
# File 'lib/ruby_parser33.rb', line 13167

def _reduce_707(val, _values, result)
                      list, _, item = val

                      if list.sexp_type == :args then
                        result = list
                      else
                        result = s(:args, list).line list.line
                      end

                      if Sexp === item then
                        line_max = item.line_max
                      else
                        item, line_max = item
                      end

                      result << item
                      result.line_max = line_max

    result
end

#_reduce_708(val, _values, result) ⇒ Object



13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
# File 'lib/ruby_parser33.rb', line 13188

def _reduce_708(val, _values, result)
                      label, = val
                      # arg_var(p, formal_argument(p, $1));
                      # p->cur_arg = get_id($1);
                      # p->max_numparam = ORDINAL_PARAM;
                      self.in_argdef = false
                      result = label

    result
end

#_reduce_709(val, _values, result) ⇒ Object



13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
# File 'lib/ruby_parser33.rb', line 13199

def _reduce_709(val, _values, result)
                      # TODO: new_kw_arg
                      (label, line), arg = val

                      identifier = label.to_sym
                      self.env[identifier] = :lvar
                      self.in_argdef = true

                      kwarg  = s(:kwarg, identifier, arg).line line
                      result = s(:array, kwarg).line line

    result
end

#_reduce_71(val, _values, result) ⇒ Object



9380
9381
9382
9383
9384
# File 'lib/ruby_parser33.rb', line 9380

def _reduce_71(val, _values, result)
                      lexer.cond.push true

    result
end

#_reduce_710(val, _values, result) ⇒ Object



13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
# File 'lib/ruby_parser33.rb', line 13213

def _reduce_710(val, _values, result)
                      (label, line), = val

                      id = label.to_sym
                      self.env[id] = :lvar
                      self.in_argdef = true

                      result = s(:array, s(:kwarg, id).line(line)).line line

    result
end

#_reduce_711(val, _values, result) ⇒ Object



13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
# File 'lib/ruby_parser33.rb', line 13225

def _reduce_711(val, _values, result)
                      # TODO: new_kw_arg
                      (label, line), expr = val
                      id = label.to_sym
                      self.env[id] = :lvar
                      self.in_argdef = true

                      result = s(:array, s(:kwarg, id, expr).line(line)).line line

    result
end

#_reduce_712(val, _values, result) ⇒ Object



13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
# File 'lib/ruby_parser33.rb', line 13237

def _reduce_712(val, _values, result)
                      # TODO: new_kw_arg
                      (label, line), = val
                      id = label.to_sym
                      self.env[id] = :lvar
                      self.in_argdef = true

                      result = s(:array, s(:kwarg, id).line(line)).line line

    result
end

#_reduce_714(val, _values, result) ⇒ Object

reduce 713 omitted



13251
13252
13253
13254
13255
13256
# File 'lib/ruby_parser33.rb', line 13251

def _reduce_714(val, _values, result)
                      list, _, item = val
                      result = list << item.last

    result
end

#_reduce_716(val, _values, result) ⇒ Object

reduce 715 omitted



13260
13261
13262
13263
13264
# File 'lib/ruby_parser33.rb', line 13260

def _reduce_716(val, _values, result)
                      result = args val

    result
end

#_reduce_719(val, _values, result) ⇒ Object

reduce 718 omitted



13270
13271
13272
13273
13274
13275
# File 'lib/ruby_parser33.rb', line 13270

def _reduce_719(val, _values, result)
                      (_, line), _ = val
                      result = [:"**nil", line]

    result
end

#_reduce_72(val, _values, result) ⇒ Object



9386
9387
9388
9389
9390
# File 'lib/ruby_parser33.rb', line 9386

def _reduce_72(val, _values, result)
                      lexer.cond.pop

    result
end

#_reduce_720(val, _values, result) ⇒ Object



13277
13278
13279
13280
13281
13282
13283
13284
13285
# File 'lib/ruby_parser33.rb', line 13277

def _reduce_720(val, _values, result)
                      _, (id, line) = val

                      name = id.to_sym
                      self.assignable [name, line]
                      result = [:"**#{name}", line]

    result
end

#_reduce_721(val, _values, result) ⇒ Object



13287
13288
13289
13290
13291
13292
13293
13294
# File 'lib/ruby_parser33.rb', line 13287

def _reduce_721(val, _values, result)
                      (_, line), = val
                      id = :"**"
                      self.env[id] = :lvar
                      result = [id, line]

    result
end

#_reduce_722(val, _values, result) ⇒ Object



13296
13297
13298
13299
13300
13301
13302
13303
13304
# File 'lib/ruby_parser33.rb', line 13296

def _reduce_722(val, _values, result)
                      lhs, _, rhs = val
                      self.in_argdef = true
                      result = self.assignable lhs, rhs
                      # TODO: detect duplicate names
                      # TODO? p->cur_arg = 0;

    result
end

#_reduce_723(val, _values, result) ⇒ Object



13306
13307
13308
13309
13310
13311
13312
13313
# File 'lib/ruby_parser33.rb', line 13306

def _reduce_723(val, _values, result)
                      lhs, _, rhs = val
                      self.in_argdef = true
                      result = self.assignable lhs, rhs
                      # TODO? p->cur_arg = 0;

    result
end

#_reduce_724(val, _values, result) ⇒ Object



13315
13316
13317
13318
13319
13320
# File 'lib/ruby_parser33.rb', line 13315

def _reduce_724(val, _values, result)
                      optblk, = val
                      result = s(:block, optblk).line optblk.line

    result
end

#_reduce_725(val, _values, result) ⇒ Object



13322
13323
13324
13325
13326
13327
13328
# File 'lib/ruby_parser33.rb', line 13322

def _reduce_725(val, _values, result)
                      optarg, _, optblk = val
                      result = optarg
                      result << optblk

    result
end

#_reduce_726(val, _values, result) ⇒ Object



13330
13331
13332
13333
13334
13335
# File 'lib/ruby_parser33.rb', line 13330

def _reduce_726(val, _values, result)
                      opt, = val
                      result = s(:block, opt).line opt.line

    result
end

#_reduce_727(val, _values, result) ⇒ Object



13337
13338
13339
13340
13341
# File 'lib/ruby_parser33.rb', line 13337

def _reduce_727(val, _values, result)
                      result = self.block_append val[0], val[2]

    result
end

#_reduce_73(val, _values, result) ⇒ Object



9392
9393
9394
9395
9396
9397
# File 'lib/ruby_parser33.rb', line 9392

def _reduce_73(val, _values, result)
                      _, expr, _, _ = val
                      result = expr

    result
end

#_reduce_730(val, _values, result) ⇒ Object

reduce 729 omitted



13347
13348
13349
13350
13351
13352
13353
13354
13355
# File 'lib/ruby_parser33.rb', line 13347

def _reduce_730(val, _values, result)
                      # TODO: differs from parse.y - needs tests
                      _, (id, line) = val
                      name = id.to_sym
                      self.assignable [name, line]
                      result = [:"*#{name}", line]

    result
end

#_reduce_731(val, _values, result) ⇒ Object



13357
13358
13359
13360
13361
13362
13363
13364
# File 'lib/ruby_parser33.rb', line 13357

def _reduce_731(val, _values, result)
                      (_, line), = val
                      name = :"*"
                      self.env[name] = :lvar
                      result = [name, line]

    result
end

#_reduce_734(val, _values, result) ⇒ Object

reduce 733 omitted



13370
13371
13372
13373
13374
13375
13376
13377
13378
# File 'lib/ruby_parser33.rb', line 13370

def _reduce_734(val, _values, result)
                      _, (id, line) = val
                      identifier = id.to_sym

                      self.env[identifier] = :lvar
                      result = ["&#{identifier}".to_sym, line]

    result
end

#_reduce_735(val, _values, result) ⇒ Object



13380
13381
13382
13383
13384
13385
13386
# File 'lib/ruby_parser33.rb', line 13380

def _reduce_735(val, _values, result)
                      (_, line), = val

                      result = [:&, line]

    result
end

#_reduce_736(val, _values, result) ⇒ Object



13388
13389
13390
13391
13392
13393
# File 'lib/ruby_parser33.rb', line 13388

def _reduce_736(val, _values, result)
                      _, arg = val
                      result = arg

    result
end

#_reduce_737(val, _values, result) ⇒ Object



13395
13396
13397
13398
13399
# File 'lib/ruby_parser33.rb', line 13395

def _reduce_737(val, _values, result)
                      result = nil

    result
end

#_reduce_739(val, _values, result) ⇒ Object

reduce 738 omitted



13403
13404
13405
13406
13407
# File 'lib/ruby_parser33.rb', line 13403

def _reduce_739(val, _values, result)
                      lexer.lex_state = EXPR_BEG

    result
end

#_reduce_740(val, _values, result) ⇒ Object



13409
13410
13411
13412
13413
13414
13415
# File 'lib/ruby_parser33.rb', line 13409

def _reduce_740(val, _values, result)
                      result = val[2]
                      yyerror "Can't define single method for literals." if
                        result.sexp_type == :lit

    result
end

#_reduce_741(val, _values, result) ⇒ Object



13417
13418
13419
13420
13421
# File 'lib/ruby_parser33.rb', line 13417

def _reduce_741(val, _values, result)
                      result = s(:array).line lexer.lineno

    result
end

#_reduce_744(val, _values, result) ⇒ Object

reduce 743 omitted



13427
13428
13429
13430
13431
13432
13433
13434
13435
# File 'lib/ruby_parser33.rb', line 13427

def _reduce_744(val, _values, result)
                      list = val[0].dup
                      more = val[2].sexp_body
                      list.push(*more) unless more.empty?
                      result = list
                      result.sexp_type = :hash

    result
end

#_reduce_745(val, _values, result) ⇒ Object



13437
13438
13439
13440
13441
13442
# File 'lib/ruby_parser33.rb', line 13437

def _reduce_745(val, _values, result)
                      v1, _, v2 = val
                      result = s(:array, v1, v2).line v1.line

    result
end

#_reduce_746(val, _values, result) ⇒ Object



13444
13445
13446
13447
13448
13449
13450
13451
# File 'lib/ruby_parser33.rb', line 13444

def _reduce_746(val, _values, result)
                      label, arg = val

                      lit = wrap :lit, label
                      result = s(:array, lit, arg).line lit.line

    result
end

#_reduce_747(val, _values, result) ⇒ Object



13453
13454
13455
13456
13457
13458
13459
13460
# File 'lib/ruby_parser33.rb', line 13453

def _reduce_747(val, _values, result)
                      lit = wrap :lit, val[0]
                      arg = nil

                      result = s(:array, lit, arg).line lit.line

    result
end

#_reduce_748(val, _values, result) ⇒ Object



13462
13463
13464
13465
13466
13467
13468
13469
13470
# File 'lib/ruby_parser33.rb', line 13462

def _reduce_748(val, _values, result)
                      (_, line), sym, _, value = val

                      sym.sexp_type = :dsym

                      result = s(:array, sym, value).line line

    result
end

#_reduce_749(val, _values, result) ⇒ Object



13472
13473
13474
13475
13476
13477
13478
# File 'lib/ruby_parser33.rb', line 13472

def _reduce_749(val, _values, result)
                      _, arg = val
                      line = arg.line
                      result = s(:array, s(:kwsplat, arg).line(line)).line line

    result
end

#_reduce_750(val, _values, result) ⇒ Object



13480
13481
13482
13483
13484
13485
# File 'lib/ruby_parser33.rb', line 13480

def _reduce_750(val, _values, result)
                      (_, line), = val
                      result = s(:array, s(:kwsplat).line(line)).line line

    result
end

#_reduce_77(val, _values, result) ⇒ Object

reduce 76 omitted



9405
9406
9407
9408
9409
9410
# File 'lib/ruby_parser33.rb', line 9405

def _reduce_77(val, _values, result)
                      blk, _, (msg, _line), args = val
                      result = new_call(blk, msg.to_sym, args).line blk.line

    result
end

#_reduce_771(val, _values, result) ⇒ Object

reduce 770 omitted



13527
13528
13529
13530
13531
13532
# File 'lib/ruby_parser33.rb', line 13527

def _reduce_771(val, _values, result)
                      _, close = val # TODO: include lineno in close?
                      result = [close, lexer.lineno]

    result
end

#_reduce_772(val, _values, result) ⇒ Object



13534
13535
13536
13537
13538
13539
# File 'lib/ruby_parser33.rb', line 13534

def _reduce_772(val, _values, result)
                      _, close = val
                      result = [close, lexer.lineno]

    result
end

#_reduce_773(val, _values, result) ⇒ Object



13541
13542
13543
13544
13545
13546
# File 'lib/ruby_parser33.rb', line 13541

def _reduce_773(val, _values, result)
                      _, close = val
                      result = [close, lexer.lineno]

    result
end

#_reduce_777(val, _values, result) ⇒ Object

reduce 776 omitted



13554
13555
13556
13557
# File 'lib/ruby_parser33.rb', line 13554

def _reduce_777(val, _values, result)
 yyerrok
    result
end

#_reduce_78(val, _values, result) ⇒ Object



9412
9413
9414
9415
9416
9417
# File 'lib/ruby_parser33.rb', line 9412

def _reduce_78(val, _values, result)
                      # self.env.extend(:dynamic)
                      result = self.lexer.lineno

    result
end

#_reduce_780(val, _values, result) ⇒ Object

reduce 779 omitted



13563
13564
13565
13566
# File 'lib/ruby_parser33.rb', line 13563

def _reduce_780(val, _values, result)
 yyerrok
    result
end

#_reduce_781(val, _values, result) ⇒ Object



13568
13569
13570
13571
# File 'lib/ruby_parser33.rb', line 13568

def _reduce_781(val, _values, result)
 result = nil;
    result
end

#_reduce_79(val, _values, result) ⇒ Object



9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
# File 'lib/ruby_parser33.rb', line 9419

def _reduce_79(val, _values, result)
                      _, line, body, _ = val

                      result = body
                      result.line line

                      # self.env.unextend

    result
end

#_reduce_80(val, _values, result) ⇒ Object



9430
9431
9432
9433
9434
9435
# File 'lib/ruby_parser33.rb', line 9430

def _reduce_80(val, _values, result)
                      (msg, line), = val
                      result = new_call(nil, msg.to_sym).line line

    result
end

#_reduce_81(val, _values, result) ⇒ Object



9437
9438
9439
9440
9441
9442
# File 'lib/ruby_parser33.rb', line 9437

def _reduce_81(val, _values, result)
                      call, args = val
                      result = call.concat args.sexp_body

    result
end

#_reduce_82(val, _values, result) ⇒ Object



9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
# File 'lib/ruby_parser33.rb', line 9444

def _reduce_82(val, _values, result)
                      call, args, block = val

                      result = call.concat args.sexp_body

                      if block then
                        block_dup_check result, block

                        result, operation = block, result
                        result.insert 1, operation
                      end

    result
end

#_reduce_83(val, _values, result) ⇒ Object



9459
9460
9461
9462
9463
9464
9465
9466
# File 'lib/ruby_parser33.rb', line 9459

def _reduce_83(val, _values, result)
                      lhs, callop, (op, _), args = val

                      result = new_call lhs, op.to_sym, args, callop
                      result.line lhs.line

    result
end

#_reduce_84(val, _values, result) ⇒ Object



9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
# File 'lib/ruby_parser33.rb', line 9468

def _reduce_84(val, _values, result)
                      recv, _, (msg, _line), args, block = val
                      call = new_call recv, msg.to_sym, args, val[1]

                      block_dup_check call, block

                      block.insert 1, call
                      result = block

    result
end

#_reduce_85(val, _values, result) ⇒ Object



9480
9481
9482
9483
9484
9485
9486
9487
# File 'lib/ruby_parser33.rb', line 9480

def _reduce_85(val, _values, result)
                      lhs, _, (id, line), args = val

                      result = new_call lhs, id.to_sym, args
                      result.line line

    result
end

#_reduce_86(val, _values, result) ⇒ Object



9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
# File 'lib/ruby_parser33.rb', line 9489

def _reduce_86(val, _values, result)
                      recv, _, (msg, _line), args, block = val
                      call = new_call recv, msg.to_sym, args

                      block_dup_check call, block

                      block.insert 1, call
                      result = block

    result
end

#_reduce_87(val, _values, result) ⇒ Object



9501
9502
9503
9504
9505
# File 'lib/ruby_parser33.rb', line 9501

def _reduce_87(val, _values, result)
                      result = new_super val[1]

    result
end

#_reduce_88(val, _values, result) ⇒ Object



9507
9508
9509
9510
9511
9512
9513
# File 'lib/ruby_parser33.rb', line 9507

def _reduce_88(val, _values, result)
                      (_, line), args = val
                      result = new_yield args
                      result.line line # TODO: push to new_yield

    result
end

#_reduce_89(val, _values, result) ⇒ Object



9515
9516
9517
9518
9519
9520
# File 'lib/ruby_parser33.rb', line 9515

def _reduce_89(val, _values, result)
                      line = val[0].last
                      result = s(:return, ret_args(val[1])).line(line)

    result
end

#_reduce_9(val, _values, result) ⇒ Object

reduce 8 omitted



8932
8933
8934
8935
8936
8937
8938
8939
8940
# File 'lib/ruby_parser33.rb', line 8932

def _reduce_9(val, _values, result)
                      if (self.in_def || self.in_single > 0) then
                        debug 1
                        yyerror "BEGIN in method"
                      end
                      self.env.extend

    result
end

#_reduce_90(val, _values, result) ⇒ Object



9522
9523
9524
9525
9526
9527
# File 'lib/ruby_parser33.rb', line 9522

def _reduce_90(val, _values, result)
                      (_, line), args = val
                      result = s(:break, ret_args(args)).line line

    result
end

#_reduce_91(val, _values, result) ⇒ Object



9529
9530
9531
9532
9533
9534
# File 'lib/ruby_parser33.rb', line 9529

def _reduce_91(val, _values, result)
                      line = val[0].last
                      result = s(:next, ret_args(val[1])).line(line)

    result
end

#_reduce_93(val, _values, result) ⇒ Object

reduce 92 omitted



9538
9539
9540
9541
9542
# File 'lib/ruby_parser33.rb', line 9538

def _reduce_93(val, _values, result)
                      result = val[1]

    result
end

#_reduce_95(val, _values, result) ⇒ Object

reduce 94 omitted



9546
9547
9548
9549
9550
9551
9552
9553
# File 'lib/ruby_parser33.rb', line 9546

def _reduce_95(val, _values, result)
                      _, arg, _ = val
                      l = arg.line

                      result = s(:masgn, s(:array, arg).line(l)).line l

    result
end

#_reduce_96(val, _values, result) ⇒ Object



9555
9556
9557
9558
9559
9560
# File 'lib/ruby_parser33.rb', line 9555

def _reduce_96(val, _values, result)
                      head, = val
                      result = s(:masgn, head).line head.line

    result
end

#_reduce_97(val, _values, result) ⇒ Object



9562
9563
9564
9565
9566
9567
# File 'lib/ruby_parser33.rb', line 9562

def _reduce_97(val, _values, result)
                      lhs, rhs = val
                      result = s(:masgn, lhs << rhs.compact).line lhs.line

    result
end

#_reduce_98(val, _values, result) ⇒ Object



9569
9570
9571
9572
9573
9574
9575
# File 'lib/ruby_parser33.rb', line 9569

def _reduce_98(val, _values, result)
                      head, _, tail = val
                      head << s(:splat, tail).line(tail.line)
                      result = s(:masgn, head).line head.line

    result
end

#_reduce_99(val, _values, result) ⇒ Object



9577
9578
9579
9580
9581
9582
9583
9584
9585
# File 'lib/ruby_parser33.rb', line 9577

def _reduce_99(val, _values, result)
                      ary1, _, splat, _, ary2 = val

                      result = list_append ary1, s(:splat, splat).line(splat.line)
                      result.concat ary2.sexp_body
                      result = s(:masgn, result).line result.line

    result
end

#_reduce_none(val, _values, result) ⇒ Object



13573
13574
13575
# File 'lib/ruby_parser33.rb', line 13573

def _reduce_none(val, _values, result)
  val[0]
end