Class: Parser::Ruby18

Inherits:
Base
  • Object
show all
Defined in:
lib/parser/ruby18.rb

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",
"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__",
"tIDENTIFIER",
"tFID",
"tGVAR",
"tIVAR",
"tCONSTANT",
"tCVAR",
"tNTH_REF",
"tBACK_REF",
"tSTRING_CONTENT",
"tINTEGER",
"tFLOAT",
"tUPLUS",
"tUMINUS",
"tUNARY_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",
"tREGEXP_OPT",
"tNL",
"tEH",
"tCOLON",
"tCOMMA",
"tSPACE",
"tSEMI",
"tEQL",
"tLOWEST",
"$start",
"program",
"compstmt",
"bodystmt",
"opt_rescue",
"opt_else",
"opt_ensure",
"stmts",
"opt_terms",
"stmt",
"terms",
"fitem",
"undef_list",
"expr_value",
"lhs",
"command_call",
"mlhs",
"var_lhs",
"primary_value",
"aref_args",
"backref",
"mrhs",
"arg_value",
"expr",
"@1",
"arg",
"command",
"block_command",
"call_args",
"block_call",
"operation2",
"command_args",
"cmd_brace_block",
"opt_block_var",
"@2",
"operation",
"mlhs_basic",
"mlhs_entry",
"mlhs_head",
"mlhs_item",
"mlhs_node",
"variable",
"cname",
"cpath",
"fname",
"op",
"reswords",
"fsym",
"symbol",
"dsym",
"@3",
"opt_nl",
"primary",
"none",
"args",
"trailer",
"assocs",
"paren_args",
"opt_paren_args",
"opt_block_arg",
"block_arg",
"call_args2",
"open_args",
"@4",
"@5",
"@6",
"literal",
"strings",
"xstring",
"regexp",
"words",
"qwords",
"var_ref",
"assoc_list",
"brace_block",
"method_call",
"then",
"if_tail",
"do",
"case_body",
"for_var",
"k_class",
"superclass",
"term",
"k_module",
"f_arglist",
"singleton",
"dot_or_colon",
"@7",
"@8",
"@9",
"@10",
"@11",
"@12",
"@13",
"@14",
"@15",
"@16",
"@17",
"@18",
"@19",
"block_par",
"block_var",
"do_block",
"@20",
"operation3",
"@21",
"@22",
"when_args",
"cases",
"exc_list",
"exc_var",
"numeric",
"string",
"string1",
"string_contents",
"xstring_contents",
"word_list",
"word",
"string_content",
"qword_list",
"string_dvar",
"@23",
"f_args",
"f_arg",
"f_optarg",
"f_rest_arg",
"opt_f_block_arg",
"f_block_arg",
"f_norm_arg",
"f_opt",
"restarg_mark",
"blkarg_mark",
"assoc" ]
Racc_debug_parser =
false

Instance Attribute Summary

Attributes inherited from Base

#builder, #context, #current_arg_stack, #diagnostics, #lexer, #max_numparam_stack, #pattern_hash_keys, #pattern_variables, #source_buffer, #static_env

Instance Method Summary collapse

Methods inherited from Base

default_parser, #initialize, parse, #parse, parse_file, parse_file_with_comments, parse_with_comments, #parse_with_comments, #reset, #tokenize

Constructor Details

This class inherits a constructor from Parser::Base

Instance Method Details

#_reduce_1(val, _values, result) ⇒ Object

reduce 0 omitted



6549
6550
6551
6552
6553
# File 'lib/parser/ruby18.rb', line 6549

def _reduce_1(val, _values, result)
                      result = val[0]

    result
end

#_reduce_10(val, _values, result) ⇒ Object



6614
6615
6616
6617
6618
6619
6620
# File 'lib/parser/ruby18.rb', line 6614

def _reduce_10(val, _values, result)
                      result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.gvar(val[2]))

    result
end

#_reduce_102(val, _values, result) ⇒ Object

reduce 101 omitted



7171
7172
7173
7174
7175
# File 'lib/parser/ruby18.rb', line 7171

def _reduce_102(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_103(val, _values, result) ⇒ Object



7177
7178
7179
7180
7181
# File 'lib/parser/ruby18.rb', line 7177

def _reduce_103(val, _values, result)
                      @lexer.state = :expr_fname

    result
end

#_reduce_104(val, _values, result) ⇒ Object



7183
7184
7185
7186
7187
# File 'lib/parser/ruby18.rb', line 7183

def _reduce_104(val, _values, result)
                      result = val[0] << val[3]

    result
end

#_reduce_11(val, _values, result) ⇒ Object



6622
6623
6624
6625
6626
6627
6628
# File 'lib/parser/ruby18.rb', line 6622

def _reduce_11(val, _values, result)
                      result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.back_ref(val[2]))

    result
end

#_reduce_12(val, _values, result) ⇒ Object



6630
6631
6632
6633
6634
# File 'lib/parser/ruby18.rb', line 6630

def _reduce_12(val, _values, result)
                      diagnostic :error, :nth_ref_alias, nil, val[2]

    result
end

#_reduce_13(val, _values, result) ⇒ Object



6636
6637
6638
6639
6640
# File 'lib/parser/ruby18.rb', line 6636

def _reduce_13(val, _values, result)
                      result = @builder.undef_method(val[0], val[1])

    result
end

#_reduce_14(val, _values, result) ⇒ Object



6642
6643
6644
6645
6646
6647
# File 'lib/parser/ruby18.rb', line 6642

def _reduce_14(val, _values, result)
                      result = @builder.condition_mod(val[0], nil,
                                                      val[1], val[2])

    result
end

#_reduce_15(val, _values, result) ⇒ Object



6649
6650
6651
6652
6653
6654
# File 'lib/parser/ruby18.rb', line 6649

def _reduce_15(val, _values, result)
                      result = @builder.condition_mod(nil, val[0],
                                                      val[1], val[2])

    result
end

#_reduce_16(val, _values, result) ⇒ Object



6656
6657
6658
6659
6660
# File 'lib/parser/ruby18.rb', line 6656

def _reduce_16(val, _values, result)
                      result = @builder.loop_mod(:while, val[0], val[1], val[2])

    result
end

#_reduce_17(val, _values, result) ⇒ Object



6662
6663
6664
6665
6666
# File 'lib/parser/ruby18.rb', line 6662

def _reduce_17(val, _values, result)
                      result = @builder.loop_mod(:until, val[0], val[1], val[2])

    result
end

#_reduce_171(val, _values, result) ⇒ Object

reduce 170 omitted



7321
7322
7323
7324
7325
# File 'lib/parser/ruby18.rb', line 7321

def _reduce_171(val, _values, result)
                      result = @builder.assign(val[0], val[1], val[2])

    result
end

#_reduce_172(val, _values, result) ⇒ Object



7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
# File 'lib/parser/ruby18.rb', line 7327

def _reduce_172(val, _values, result)
                      rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

                      rescue_ = @builder.begin_body(val[2], [ rescue_body ])

                      result  = @builder.assign(val[0], val[1], rescue_)

    result
end

#_reduce_173(val, _values, result) ⇒ Object



7339
7340
7341
7342
7343
# File 'lib/parser/ruby18.rb', line 7339

def _reduce_173(val, _values, result)
                      result = @builder.op_assign(val[0], val[1], val[2])

    result
end

#_reduce_174(val, _values, result) ⇒ Object



7345
7346
7347
7348
7349
7350
7351
7352
# File 'lib/parser/ruby18.rb', line 7345

def _reduce_174(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.index(
                                    val[0], val[1], val[2], val[3]),
                                  val[4], val[5])

    result
end

#_reduce_175(val, _values, result) ⇒ Object



7354
7355
7356
7357
7358
7359
7360
7361
# File 'lib/parser/ruby18.rb', line 7354

def _reduce_175(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])

    result
end

#_reduce_176(val, _values, result) ⇒ Object



7363
7364
7365
7366
7367
7368
7369
7370
# File 'lib/parser/ruby18.rb', line 7363

def _reduce_176(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])

    result
end

#_reduce_177(val, _values, result) ⇒ Object



7372
7373
7374
7375
7376
7377
7378
7379
# File 'lib/parser/ruby18.rb', line 7372

def _reduce_177(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])

    result
end

#_reduce_178(val, _values, result) ⇒ Object



7381
7382
7383
7384
7385
# File 'lib/parser/ruby18.rb', line 7381

def _reduce_178(val, _values, result)
                      diagnostic :error, :dynamic_const, nil, val[2], [ val[3] ]

    result
end

#_reduce_179(val, _values, result) ⇒ Object



7387
7388
7389
7390
7391
# File 'lib/parser/ruby18.rb', line 7387

def _reduce_179(val, _values, result)
                      diagnostic :error, :dynamic_const, nil, val[1], [ val[2] ]

    result
end

#_reduce_18(val, _values, result) ⇒ Object



6668
6669
6670
6671
6672
6673
6674
6675
6676
# File 'lib/parser/ruby18.rb', line 6668

def _reduce_18(val, _values, result)
                      rescue_body = @builder.rescue_body(val[1],
                                        nil, nil, nil,
                                        nil, val[2])

                      result = @builder.begin_body(val[0], [ rescue_body ])

    result
end

#_reduce_180(val, _values, result) ⇒ Object



7393
7394
7395
7396
7397
# File 'lib/parser/ruby18.rb', line 7393

def _reduce_180(val, _values, result)
                      result = @builder.op_assign(val[0], val[1], val[2])

    result
end

#_reduce_181(val, _values, result) ⇒ Object



7399
7400
7401
7402
7403
# File 'lib/parser/ruby18.rb', line 7399

def _reduce_181(val, _values, result)
                      result = @builder.range_inclusive(val[0], val[1], val[2])

    result
end

#_reduce_182(val, _values, result) ⇒ Object



7405
7406
7407
7408
7409
# File 'lib/parser/ruby18.rb', line 7405

def _reduce_182(val, _values, result)
                      result = @builder.range_exclusive(val[0], val[1], val[2])

    result
end

#_reduce_183(val, _values, result) ⇒ Object



7411
7412
7413
7414
7415
# File 'lib/parser/ruby18.rb', line 7411

def _reduce_183(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_184(val, _values, result) ⇒ Object



7417
7418
7419
7420
7421
# File 'lib/parser/ruby18.rb', line 7417

def _reduce_184(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_185(val, _values, result) ⇒ Object



7423
7424
7425
7426
7427
# File 'lib/parser/ruby18.rb', line 7423

def _reduce_185(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_186(val, _values, result) ⇒ Object



7429
7430
7431
7432
7433
# File 'lib/parser/ruby18.rb', line 7429

def _reduce_186(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_187(val, _values, result) ⇒ Object



7435
7436
7437
7438
7439
# File 'lib/parser/ruby18.rb', line 7435

def _reduce_187(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_188(val, _values, result) ⇒ Object



7441
7442
7443
7444
7445
# File 'lib/parser/ruby18.rb', line 7441

def _reduce_188(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_189(val, _values, result) ⇒ Object



7447
7448
7449
7450
7451
7452
7453
7454
# File 'lib/parser/ruby18.rb', line 7447

def _reduce_189(val, _values, result)
                      result = @builder.unary_op(val[0],
                                  @builder.binary_op(
                                    @builder.integer(val[1]),
                                      val[2], val[3]))

    result
end

#_reduce_19(val, _values, result) ⇒ Object



6678
6679
6680
6681
6682
6683
6684
6685
6686
# File 'lib/parser/ruby18.rb', line 6678

def _reduce_19(val, _values, result)
                      if @context.in_def
                        diagnostic :error, :begin_in_method, nil, val[0]
                      end

                      result = @builder.preexe(val[0], val[1], val[2], val[3])

    result
end

#_reduce_190(val, _values, result) ⇒ Object



7456
7457
7458
7459
7460
7461
7462
7463
# File 'lib/parser/ruby18.rb', line 7456

def _reduce_190(val, _values, result)
                      result = @builder.unary_op(val[0],
                                  @builder.binary_op(
                                    @builder.float(val[1]),
                                      val[2], val[3]))

    result
end

#_reduce_191(val, _values, result) ⇒ Object



7465
7466
7467
7468
7469
# File 'lib/parser/ruby18.rb', line 7465

def _reduce_191(val, _values, result)
                      result = @builder.unary_op(val[0], val[1])

    result
end

#_reduce_192(val, _values, result) ⇒ Object



7471
7472
7473
7474
7475
# File 'lib/parser/ruby18.rb', line 7471

def _reduce_192(val, _values, result)
                      result = @builder.unary_op(val[0], val[1])

    result
end

#_reduce_193(val, _values, result) ⇒ Object



7477
7478
7479
7480
7481
# File 'lib/parser/ruby18.rb', line 7477

def _reduce_193(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_194(val, _values, result) ⇒ Object



7483
7484
7485
7486
7487
# File 'lib/parser/ruby18.rb', line 7483

def _reduce_194(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_195(val, _values, result) ⇒ Object



7489
7490
7491
7492
7493
# File 'lib/parser/ruby18.rb', line 7489

def _reduce_195(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_196(val, _values, result) ⇒ Object



7495
7496
7497
7498
7499
# File 'lib/parser/ruby18.rb', line 7495

def _reduce_196(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_197(val, _values, result) ⇒ Object



7501
7502
7503
7504
7505
# File 'lib/parser/ruby18.rb', line 7501

def _reduce_197(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_198(val, _values, result) ⇒ Object



7507
7508
7509
7510
7511
# File 'lib/parser/ruby18.rb', line 7507

def _reduce_198(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_199(val, _values, result) ⇒ Object



7513
7514
7515
7516
7517
# File 'lib/parser/ruby18.rb', line 7513

def _reduce_199(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_2(val, _values, result) ⇒ Object



6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
# File 'lib/parser/ruby18.rb', line 6555

def _reduce_2(val, _values, result)
                      rescue_bodies     = val[1]
                      else_t,   else_   = val[2]
                      ensure_t, ensure_ = val[3]

                      if rescue_bodies.empty? && !else_t.nil?
                        diagnostic :warning, :useless_else, nil, else_t
                      end

                      result = @builder.begin_body(val[0],
                                  rescue_bodies,
                                  else_t,   else_,
                                  ensure_t, ensure_)

    result
end

#_reduce_20(val, _values, result) ⇒ Object



6688
6689
6690
6691
6692
# File 'lib/parser/ruby18.rb', line 6688

def _reduce_20(val, _values, result)
                      result = @builder.postexe(val[0], val[1], val[2], val[3])

    result
end

#_reduce_200(val, _values, result) ⇒ Object



7519
7520
7521
7522
7523
# File 'lib/parser/ruby18.rb', line 7519

def _reduce_200(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_201(val, _values, result) ⇒ Object



7525
7526
7527
7528
7529
# File 'lib/parser/ruby18.rb', line 7525

def _reduce_201(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_202(val, _values, result) ⇒ Object



7531
7532
7533
7534
7535
# File 'lib/parser/ruby18.rb', line 7531

def _reduce_202(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_203(val, _values, result) ⇒ Object



7537
7538
7539
7540
7541
# File 'lib/parser/ruby18.rb', line 7537

def _reduce_203(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_204(val, _values, result) ⇒ Object



7543
7544
7545
7546
7547
# File 'lib/parser/ruby18.rb', line 7543

def _reduce_204(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_205(val, _values, result) ⇒ Object



7549
7550
7551
7552
7553
# File 'lib/parser/ruby18.rb', line 7549

def _reduce_205(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_206(val, _values, result) ⇒ Object



7555
7556
7557
7558
7559
# File 'lib/parser/ruby18.rb', line 7555

def _reduce_206(val, _values, result)
                      result = @builder.not_op(val[0], nil, val[1], nil)

    result
end

#_reduce_207(val, _values, result) ⇒ Object



7561
7562
7563
7564
7565
# File 'lib/parser/ruby18.rb', line 7561

def _reduce_207(val, _values, result)
                      result = @builder.unary_op(val[0], val[1])

    result
end

#_reduce_208(val, _values, result) ⇒ Object



7567
7568
7569
7570
7571
# File 'lib/parser/ruby18.rb', line 7567

def _reduce_208(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_209(val, _values, result) ⇒ Object



7573
7574
7575
7576
7577
# File 'lib/parser/ruby18.rb', line 7573

def _reduce_209(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])

    result
end

#_reduce_21(val, _values, result) ⇒ Object



6694
6695
6696
6697
6698
# File 'lib/parser/ruby18.rb', line 6694

def _reduce_21(val, _values, result)
                      result = @builder.assign(val[0], val[1], val[2])

    result
end

#_reduce_210(val, _values, result) ⇒ Object



7579
7580
7581
7582
7583
# File 'lib/parser/ruby18.rb', line 7579

def _reduce_210(val, _values, result)
                      result = @builder.logical_op(:and, val[0], val[1], val[2])

    result
end

#_reduce_211(val, _values, result) ⇒ Object



7585
7586
7587
7588
7589
# File 'lib/parser/ruby18.rb', line 7585

def _reduce_211(val, _values, result)
                      result = @builder.logical_op(:or, val[0], val[1], val[2])

    result
end

#_reduce_212(val, _values, result) ⇒ Object



7591
7592
7593
7594
7595
# File 'lib/parser/ruby18.rb', line 7591

def _reduce_212(val, _values, result)
                      result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)

    result
end

#_reduce_213(val, _values, result) ⇒ Object



7597
7598
7599
7600
7601
7602
# File 'lib/parser/ruby18.rb', line 7597

def _reduce_213(val, _values, result)
                      result = @builder.ternary(val[0], val[1],
                                                val[2], val[3], val[4])

    result
end

#_reduce_216(val, _values, result) ⇒ Object

reduce 215 omitted



7608
7609
7610
7611
7612
# File 'lib/parser/ruby18.rb', line 7608

def _reduce_216(val, _values, result)
                      result = []

    result
end

#_reduce_217(val, _values, result) ⇒ Object



7614
7615
7616
7617
7618
# File 'lib/parser/ruby18.rb', line 7614

def _reduce_217(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_218(val, _values, result) ⇒ Object



7620
7621
7622
7623
7624
# File 'lib/parser/ruby18.rb', line 7620

def _reduce_218(val, _values, result)
                      result = val[0]

    result
end

#_reduce_219(val, _values, result) ⇒ Object



7626
7627
7628
7629
7630
# File 'lib/parser/ruby18.rb', line 7626

def _reduce_219(val, _values, result)
                      result = val[0] << @builder.splat(val[2], val[3])

    result
end

#_reduce_22(val, _values, result) ⇒ Object



6700
6701
6702
6703
6704
# File 'lib/parser/ruby18.rb', line 6700

def _reduce_22(val, _values, result)
                      result = @builder.multi_assign(val[0], val[1], val[2])

    result
end

#_reduce_220(val, _values, result) ⇒ Object



7632
7633
7634
7635
7636
# File 'lib/parser/ruby18.rb', line 7632

def _reduce_220(val, _values, result)
                      result = [ @builder.associate(nil, val[0], nil) ]

    result
end

#_reduce_221(val, _values, result) ⇒ Object



7638
7639
7640
7641
7642
# File 'lib/parser/ruby18.rb', line 7638

def _reduce_221(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]) ]

    result
end

#_reduce_222(val, _values, result) ⇒ Object



7644
7645
7646
7647
7648
# File 'lib/parser/ruby18.rb', line 7644

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

    result
end

#_reduce_223(val, _values, result) ⇒ Object



7650
7651
7652
7653
7654
# File 'lib/parser/ruby18.rb', line 7650

def _reduce_223(val, _values, result)
                      result = [ val[0], val[1], val[3] ]

    result
end

#_reduce_224(val, _values, result) ⇒ Object



7656
7657
7658
7659
7660
# File 'lib/parser/ruby18.rb', line 7656

def _reduce_224(val, _values, result)
                      result = [ val[0], [ val[1] ], val[3] ]

    result
end

#_reduce_225(val, _values, result) ⇒ Object



7662
7663
7664
7665
7666
# File 'lib/parser/ruby18.rb', line 7662

def _reduce_225(val, _values, result)
                      result = [ val[0], val[1] << val[3], val[5] ]

    result
end

#_reduce_226(val, _values, result) ⇒ Object



7668
7669
7670
7671
7672
# File 'lib/parser/ruby18.rb', line 7668

def _reduce_226(val, _values, result)
                      result = [ nil, [], nil ]

    result
end

#_reduce_228(val, _values, result) ⇒ Object

reduce 227 omitted



7676
7677
7678
7679
7680
# File 'lib/parser/ruby18.rb', line 7676

def _reduce_228(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_229(val, _values, result) ⇒ Object



7682
7683
7684
7685
7686
# File 'lib/parser/ruby18.rb', line 7682

def _reduce_229(val, _values, result)
                      result = val[0].concat(val[1])

    result
end

#_reduce_23(val, _values, result) ⇒ Object



6706
6707
6708
6709
6710
# File 'lib/parser/ruby18.rb', line 6706

def _reduce_23(val, _values, result)
                      result = @builder.op_assign(val[0], val[1], val[2])

    result
end

#_reduce_230(val, _values, result) ⇒ Object



7688
7689
7690
7691
7692
7693
7694
# File 'lib/parser/ruby18.rb', line 7688

def _reduce_230(val, _values, result)
                      result = val[0].concat(
                                [ @builder.splat(val[2], val[3]),
                                   *val[4] ])

    result
end

#_reduce_231(val, _values, result) ⇒ Object



7696
7697
7698
7699
7700
7701
# File 'lib/parser/ruby18.rb', line 7696

def _reduce_231(val, _values, result)
                      result =  [ @builder.associate(nil, val[0], nil),
                                  *val[1] ]

    result
end

#_reduce_232(val, _values, result) ⇒ Object



7703
7704
7705
7706
7707
7708
7709
# File 'lib/parser/ruby18.rb', line 7703

def _reduce_232(val, _values, result)
                      result =  [ @builder.associate(nil, val[0], nil),
                                  @builder.splat(val[2], val[3]),
                                  *val[4] ]

    result
end

#_reduce_233(val, _values, result) ⇒ Object



7711
7712
7713
7714
7715
7716
7717
# File 'lib/parser/ruby18.rb', line 7711

def _reduce_233(val, _values, result)
                      result = val[0].concat(
                                [ @builder.associate(nil, val[2], nil),
                                  *val[3] ])

    result
end

#_reduce_234(val, _values, result) ⇒ Object



7719
7720
7721
7722
7723
7724
7725
7726
# File 'lib/parser/ruby18.rb', line 7719

def _reduce_234(val, _values, result)
                      result = val[0].concat(
                                [ @builder.associate(nil, val[2], nil),
                                  @builder.splat(val[4], val[5]),
                                  *val[6] ])

    result
end

#_reduce_235(val, _values, result) ⇒ Object



7728
7729
7730
7731
7732
7733
# File 'lib/parser/ruby18.rb', line 7728

def _reduce_235(val, _values, result)
                      result =  [ @builder.splat(val[0], val[1]),
                                  *val[2] ]

    result
end

#_reduce_236(val, _values, result) ⇒ Object



7735
7736
7737
7738
7739
# File 'lib/parser/ruby18.rb', line 7735

def _reduce_236(val, _values, result)
                      result =  [ val[0] ]

    result
end

#_reduce_237(val, _values, result) ⇒ Object



7741
7742
7743
7744
7745
# File 'lib/parser/ruby18.rb', line 7741

def _reduce_237(val, _values, result)
                      result = [ val[0], *val[2].concat(val[3]) ]

    result
end

#_reduce_238(val, _values, result) ⇒ Object



7747
7748
7749
7750
7751
# File 'lib/parser/ruby18.rb', line 7747

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

    result
end

#_reduce_239(val, _values, result) ⇒ Object



7753
7754
7755
7756
7757
7758
7759
# File 'lib/parser/ruby18.rb', line 7753

def _reduce_239(val, _values, result)
                      result =  [ val[0],
                                  @builder.splat(val[2], val[3]),
                                  *val[4] ]

    result
end

#_reduce_24(val, _values, result) ⇒ Object



6712
6713
6714
6715
6716
6717
6718
6719
# File 'lib/parser/ruby18.rb', line 6712

def _reduce_24(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.index(
                                    val[0], val[1], val[2], val[3]),
                                  val[4], val[5])

    result
end

#_reduce_240(val, _values, result) ⇒ Object



7761
7762
7763
7764
7765
7766
7767
7768
# File 'lib/parser/ruby18.rb', line 7761

def _reduce_240(val, _values, result)
                      result =  [ val[0],
                                  *val[2].
                                    push(@builder.splat(val[4], val[5])).
                                    concat(val[6]) ]

    result
end

#_reduce_241(val, _values, result) ⇒ Object



7770
7771
7772
7773
7774
7775
# File 'lib/parser/ruby18.rb', line 7770

def _reduce_241(val, _values, result)
                      result =  [ @builder.associate(nil, val[0], nil),
                                  *val[1] ]

    result
end

#_reduce_242(val, _values, result) ⇒ Object



7777
7778
7779
7780
7781
7782
7783
# File 'lib/parser/ruby18.rb', line 7777

def _reduce_242(val, _values, result)
                      result =  [ @builder.associate(nil, val[0], nil),
                                  @builder.splat(val[2], val[3]),
                                  *val[4] ]

    result
end

#_reduce_243(val, _values, result) ⇒ Object



7785
7786
7787
7788
7789
7790
7791
# File 'lib/parser/ruby18.rb', line 7785

def _reduce_243(val, _values, result)
                      result =  [ val[0],
                                  @builder.associate(nil, val[2], nil),
                                  *val[3] ]

    result
end

#_reduce_244(val, _values, result) ⇒ Object



7793
7794
7795
7796
7797
7798
7799
7800
# File 'lib/parser/ruby18.rb', line 7793

def _reduce_244(val, _values, result)
                      result =  [ val[0],
                                  *val[2].
                                    push(@builder.associate(nil, val[4], nil)).
                                    concat(val[5]) ]

    result
end

#_reduce_245(val, _values, result) ⇒ Object



7802
7803
7804
7805
7806
7807
7808
7809
# File 'lib/parser/ruby18.rb', line 7802

def _reduce_245(val, _values, result)
                      result =  [ val[0],
                                  @builder.associate(nil, val[2], nil),
                                  @builder.splat(val[4], val[5]),
                                  *val[6] ]

    result
end

#_reduce_246(val, _values, result) ⇒ Object



7811
7812
7813
7814
7815
7816
7817
7818
7819
# File 'lib/parser/ruby18.rb', line 7811

def _reduce_246(val, _values, result)
                      result =  [ val[0],
                                  *val[2].
                                    push(@builder.associate(nil, val[4], nil)).
                                    push(@builder.splat(val[6], val[7])).
                                    concat(val[8]) ]

    result
end

#_reduce_247(val, _values, result) ⇒ Object



7821
7822
7823
7824
7825
7826
# File 'lib/parser/ruby18.rb', line 7821

def _reduce_247(val, _values, result)
                      result =  [ @builder.splat(val[0], val[1]),
                                  *val[2] ]

    result
end

#_reduce_248(val, _values, result) ⇒ Object



7828
7829
7830
7831
7832
# File 'lib/parser/ruby18.rb', line 7828

def _reduce_248(val, _values, result)
                      result =  [ val[0] ]

    result
end

#_reduce_249(val, _values, result) ⇒ Object



7834
7835
7836
7837
7838
7839
# File 'lib/parser/ruby18.rb', line 7834

def _reduce_249(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.push(true)

    result
end

#_reduce_25(val, _values, result) ⇒ Object



6721
6722
6723
6724
6725
6726
6727
6728
# File 'lib/parser/ruby18.rb', line 6721

def _reduce_25(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])

    result
end

#_reduce_250(val, _values, result) ⇒ Object



7841
7842
7843
7844
7845
7846
7847
# File 'lib/parser/ruby18.rb', line 7841

def _reduce_250(val, _values, result)
                      @lexer.cmdarg = val[0]

                      result = val[1]

    result
end

#_reduce_251(val, _values, result) ⇒ Object



7849
7850
7851
7852
7853
# File 'lib/parser/ruby18.rb', line 7849

def _reduce_251(val, _values, result)
                      result = [ nil, val[0], nil ]

    result
end

#_reduce_252(val, _values, result) ⇒ Object



7855
7856
7857
7858
7859
# File 'lib/parser/ruby18.rb', line 7855

def _reduce_252(val, _values, result)
                      @lexer.state = :expr_endarg

    result
end

#_reduce_253(val, _values, result) ⇒ Object



7861
7862
7863
7864
7865
# File 'lib/parser/ruby18.rb', line 7861

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

    result
end

#_reduce_254(val, _values, result) ⇒ Object



7867
7868
7869
7870
7871
# File 'lib/parser/ruby18.rb', line 7867

def _reduce_254(val, _values, result)
                      @lexer.state = :expr_endarg

    result
end

#_reduce_255(val, _values, result) ⇒ Object



7873
7874
7875
7876
7877
# File 'lib/parser/ruby18.rb', line 7873

def _reduce_255(val, _values, result)
                      result = [ val[0], val[1], val[3] ]

    result
end

#_reduce_256(val, _values, result) ⇒ Object



7879
7880
7881
7882
7883
# File 'lib/parser/ruby18.rb', line 7879

def _reduce_256(val, _values, result)
                      result = @builder.block_pass(val[0], val[1])

    result
end

#_reduce_257(val, _values, result) ⇒ Object



7885
7886
7887
7888
7889
# File 'lib/parser/ruby18.rb', line 7885

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

    result
end

#_reduce_258(val, _values, result) ⇒ Object



7891
7892
7893
7894
7895
# File 'lib/parser/ruby18.rb', line 7891

def _reduce_258(val, _values, result)
                      result = []

    result
end

#_reduce_259(val, _values, result) ⇒ Object



7897
7898
7899
7900
7901
# File 'lib/parser/ruby18.rb', line 7897

def _reduce_259(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_26(val, _values, result) ⇒ Object



6730
6731
6732
6733
6734
6735
6736
6737
# File 'lib/parser/ruby18.rb', line 6730

def _reduce_26(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])

    result
end

#_reduce_260(val, _values, result) ⇒ Object



7903
7904
7905
7906
7907
# File 'lib/parser/ruby18.rb', line 7903

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

    result
end

#_reduce_261(val, _values, result) ⇒ Object



7909
7910
7911
7912
7913
# File 'lib/parser/ruby18.rb', line 7909

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

    result
end

#_reduce_262(val, _values, result) ⇒ Object



7915
7916
7917
7918
7919
# File 'lib/parser/ruby18.rb', line 7915

def _reduce_262(val, _values, result)
                      result = val[0] << @builder.splat(val[2], val[3])

    result
end

#_reduce_263(val, _values, result) ⇒ Object



7921
7922
7923
7924
7925
# File 'lib/parser/ruby18.rb', line 7921

def _reduce_263(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]) ]

    result
end

#_reduce_27(val, _values, result) ⇒ Object



6739
6740
6741
6742
6743
6744
6745
6746
# File 'lib/parser/ruby18.rb', line 6739

def _reduce_27(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])

    result
end

#_reduce_272(val, _values, result) ⇒ Object

reduce 271 omitted



7943
7944
7945
7946
7947
# File 'lib/parser/ruby18.rb', line 7943

def _reduce_272(val, _values, result)
                      result = @builder.call_method(nil, nil, val[0])

    result
end

#_reduce_273(val, _values, result) ⇒ Object



7949
7950
7951
7952
7953
# File 'lib/parser/ruby18.rb', line 7949

def _reduce_273(val, _values, result)
                      result = @builder.begin_keyword(val[0], val[1], val[2])

    result
end

#_reduce_274(val, _values, result) ⇒ Object



7955
7956
7957
7958
7959
# File 'lib/parser/ruby18.rb', line 7955

def _reduce_274(val, _values, result)
                      @lexer.state = :expr_endarg

    result
end

#_reduce_275(val, _values, result) ⇒ Object



7961
7962
7963
7964
7965
# File 'lib/parser/ruby18.rb', line 7961

def _reduce_275(val, _values, result)
                      result = @builder.begin(val[0], val[1], val[4])

    result
end

#_reduce_276(val, _values, result) ⇒ Object



7967
7968
7969
7970
7971
# File 'lib/parser/ruby18.rb', line 7967

def _reduce_276(val, _values, result)
                      result = @builder.begin(val[0], val[1], val[2])

    result
end

#_reduce_277(val, _values, result) ⇒ Object



7973
7974
7975
7976
7977
# File 'lib/parser/ruby18.rb', line 7973

def _reduce_277(val, _values, result)
                      result = @builder.const_fetch(val[0], val[1], val[2])

    result
end

#_reduce_278(val, _values, result) ⇒ Object



7979
7980
7981
7982
7983
# File 'lib/parser/ruby18.rb', line 7979

def _reduce_278(val, _values, result)
                      result = @builder.const_global(val[0], val[1])

    result
end

#_reduce_279(val, _values, result) ⇒ Object



7985
7986
7987
7988
7989
# File 'lib/parser/ruby18.rb', line 7985

def _reduce_279(val, _values, result)
                      result = @builder.index(val[0], val[1], val[2], val[3])

    result
end

#_reduce_28(val, _values, result) ⇒ Object



6748
6749
6750
6751
6752
# File 'lib/parser/ruby18.rb', line 6748

def _reduce_28(val, _values, result)
                      @builder.op_assign(val[0], val[1], val[2])

    result
end

#_reduce_280(val, _values, result) ⇒ Object



7991
7992
7993
7994
7995
# File 'lib/parser/ruby18.rb', line 7991

def _reduce_280(val, _values, result)
                      result = @builder.array(val[0], val[1], val[2])

    result
end

#_reduce_281(val, _values, result) ⇒ Object



7997
7998
7999
8000
8001
# File 'lib/parser/ruby18.rb', line 7997

def _reduce_281(val, _values, result)
                      result = @builder.associate(val[0], val[1], val[2])

    result
end

#_reduce_282(val, _values, result) ⇒ Object



8003
8004
8005
8006
8007
# File 'lib/parser/ruby18.rb', line 8003

def _reduce_282(val, _values, result)
                      result = @builder.keyword_cmd(:return, val[0])

    result
end

#_reduce_283(val, _values, result) ⇒ Object



8009
8010
8011
8012
8013
# File 'lib/parser/ruby18.rb', line 8009

def _reduce_283(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])

    result
end

#_reduce_284(val, _values, result) ⇒ Object



8015
8016
8017
8018
8019
# File 'lib/parser/ruby18.rb', line 8015

def _reduce_284(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])

    result
end

#_reduce_285(val, _values, result) ⇒ Object



8021
8022
8023
8024
8025
# File 'lib/parser/ruby18.rb', line 8021

def _reduce_285(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0])

    result
end

#_reduce_286(val, _values, result) ⇒ Object



8027
8028
8029
8030
8031
8032
# File 'lib/parser/ruby18.rb', line 8027

def _reduce_286(val, _values, result)
                      result = @builder.keyword_cmd(:defined?, val[0],
                                                    val[2], [ val[3] ], val[4])

    result
end

#_reduce_287(val, _values, result) ⇒ Object



8034
8035
8036
8037
8038
8039
8040
8041
8042
# File 'lib/parser/ruby18.rb', line 8034

def _reduce_287(val, _values, result)
                      method_call = @builder.call_method(nil, nil, val[0])

                      begin_t, args, body, end_t = val[1]
                      result      = @builder.block(method_call,
                                      begin_t, args, body, end_t)

    result
end

#_reduce_289(val, _values, result) ⇒ Object

reduce 288 omitted



8046
8047
8048
8049
8050
8051
8052
# File 'lib/parser/ruby18.rb', line 8046

def _reduce_289(val, _values, result)
                      begin_t, args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, args, body, end_t)

    result
end

#_reduce_29(val, _values, result) ⇒ Object



6754
6755
6756
6757
6758
6759
# File 'lib/parser/ruby18.rb', line 6754

def _reduce_29(val, _values, result)
                      result = @builder.assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))

    result
end

#_reduce_290(val, _values, result) ⇒ Object



8054
8055
8056
8057
8058
8059
8060
8061
# File 'lib/parser/ruby18.rb', line 8054

def _reduce_290(val, _values, result)
                      else_t, else_ = val[4]
                      result = @builder.condition(val[0], val[1], val[2],
                                                  val[3], else_t,
                                                  else_,  val[5])

    result
end

#_reduce_291(val, _values, result) ⇒ Object



8063
8064
8065
8066
8067
8068
8069
8070
# File 'lib/parser/ruby18.rb', line 8063

def _reduce_291(val, _values, result)
                      else_t, else_ = val[4]
                      result = @builder.condition(val[0], val[1], val[2],
                                                  else_,  else_t,
                                                  val[3], val[5])

    result
end

#_reduce_292(val, _values, result) ⇒ Object



8072
8073
8074
8075
8076
# File 'lib/parser/ruby18.rb', line 8072

def _reduce_292(val, _values, result)
                      @lexer.cond.push(true)

    result
end

#_reduce_293(val, _values, result) ⇒ Object



8078
8079
8080
8081
8082
# File 'lib/parser/ruby18.rb', line 8078

def _reduce_293(val, _values, result)
                      @lexer.cond.pop

    result
end

#_reduce_294(val, _values, result) ⇒ Object



8084
8085
8086
8087
8088
8089
# File 'lib/parser/ruby18.rb', line 8084

def _reduce_294(val, _values, result)
                      result = @builder.loop(:while, val[0], val[2], val[3],
                                             val[5], val[6])

    result
end

#_reduce_295(val, _values, result) ⇒ Object



8091
8092
8093
8094
8095
# File 'lib/parser/ruby18.rb', line 8091

def _reduce_295(val, _values, result)
                      @lexer.cond.push(true)

    result
end

#_reduce_296(val, _values, result) ⇒ Object



8097
8098
8099
8100
8101
# File 'lib/parser/ruby18.rb', line 8097

def _reduce_296(val, _values, result)
                      @lexer.cond.pop

    result
end

#_reduce_297(val, _values, result) ⇒ Object



8103
8104
8105
8106
8107
8108
# File 'lib/parser/ruby18.rb', line 8103

def _reduce_297(val, _values, result)
                      result = @builder.loop(:until, val[0], val[2], val[3],
                                             val[5], val[6])

    result
end

#_reduce_298(val, _values, result) ⇒ Object



8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
# File 'lib/parser/ruby18.rb', line 8110

def _reduce_298(val, _values, result)
                      when_bodies       = val[3][0..-2]
                      else_t, else_body = val[3][-1]

                      result = @builder.case(val[0], val[1],
                                             when_bodies, else_t, else_body,
                                             val[4])

    result
end

#_reduce_299(val, _values, result) ⇒ Object



8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
# File 'lib/parser/ruby18.rb', line 8121

def _reduce_299(val, _values, result)
                      when_bodies       = val[2][0..-2]
                      else_t, else_body = val[2][-1]

                      result = @builder.case(val[0], nil,
                                             when_bodies, else_t, else_body,
                                             val[3])

    result
end

#_reduce_3(val, _values, result) ⇒ Object



6572
6573
6574
6575
6576
# File 'lib/parser/ruby18.rb', line 6572

def _reduce_3(val, _values, result)
                      result = @builder.compstmt(val[0])

    result
end

#_reduce_30(val, _values, result) ⇒ Object



6761
6762
6763
6764
6765
# File 'lib/parser/ruby18.rb', line 6761

def _reduce_30(val, _values, result)
                      result = @builder.multi_assign(val[0], val[1], val[2])

    result
end

#_reduce_300(val, _values, result) ⇒ Object



8132
8133
8134
8135
8136
8137
8138
# File 'lib/parser/ruby18.rb', line 8132

def _reduce_300(val, _values, result)
                      result = @builder.case(val[0], nil,
                                             [], val[2], val[3],
                                             val[4])

    result
end

#_reduce_301(val, _values, result) ⇒ Object



8140
8141
8142
8143
8144
# File 'lib/parser/ruby18.rb', line 8140

def _reduce_301(val, _values, result)
                      @lexer.cond.push(true)

    result
end

#_reduce_302(val, _values, result) ⇒ Object



8146
8147
8148
8149
8150
# File 'lib/parser/ruby18.rb', line 8146

def _reduce_302(val, _values, result)
                      @lexer.cond.pop

    result
end

#_reduce_303(val, _values, result) ⇒ Object



8152
8153
8154
8155
8156
8157
8158
# File 'lib/parser/ruby18.rb', line 8152

def _reduce_303(val, _values, result)
                      result = @builder.for(val[0], val[1],
                                            val[2], val[4],
                                            val[5], val[7], val[8])

    result
end

#_reduce_304(val, _values, result) ⇒ Object



8160
8161
8162
8163
8164
8165
# File 'lib/parser/ruby18.rb', line 8160

def _reduce_304(val, _values, result)
                      local_push
                      @context.in_class = true

    result
end

#_reduce_305(val, _values, result) ⇒ Object



8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
# File 'lib/parser/ruby18.rb', line 8167

def _reduce_305(val, _values, result)
                      k_class, ctx = val[0]
                      if @context.in_def
                        diagnostic :error, :class_in_def, nil, k_class
                      end

                      lt_t, superclass = val[2]
                      result = @builder.def_class(k_class, val[1],
                                                  lt_t, superclass,
                                                  val[4], val[5])

                      local_pop
                      @context.in_class = ctx.in_class

    result
end

#_reduce_306(val, _values, result) ⇒ Object



8184
8185
8186
8187
8188
8189
8190
# File 'lib/parser/ruby18.rb', line 8184

def _reduce_306(val, _values, result)
                      @context.in_def = false
                      @context.in_class = false
                      local_push

    result
end

#_reduce_307(val, _values, result) ⇒ Object



8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
# File 'lib/parser/ruby18.rb', line 8192

def _reduce_307(val, _values, result)
                      k_class, ctx = val[0]
                      result = @builder.def_sclass(k_class, val[1], val[2],
                                                   val[5], val[6])

                      local_pop
                      @context.in_def = ctx.in_def
                      @context.in_class = ctx.in_class

    result
end

#_reduce_308(val, _values, result) ⇒ Object



8204
8205
8206
8207
8208
8209
# File 'lib/parser/ruby18.rb', line 8204

def _reduce_308(val, _values, result)
                      @context.in_class = true
                      local_push

    result
end

#_reduce_309(val, _values, result) ⇒ Object



8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
# File 'lib/parser/ruby18.rb', line 8211

def _reduce_309(val, _values, result)
                      k_mod, ctx = val[0]
                      if @context.in_def
                        diagnostic :error, :module_in_def, nil, k_mod
                      end

                      result = @builder.def_module(k_mod, val[1],
                                                   val[3], val[4])

                      local_pop
                      @context.in_class = ctx.in_class

    result
end

#_reduce_31(val, _values, result) ⇒ Object



6767
6768
6769
6770
6771
6772
# File 'lib/parser/ruby18.rb', line 6767

def _reduce_31(val, _values, result)
                      result = @builder.multi_assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))

    result
end

#_reduce_310(val, _values, result) ⇒ Object



8226
8227
8228
8229
8230
8231
8232
# File 'lib/parser/ruby18.rb', line 8226

def _reduce_310(val, _values, result)
                      local_push
                      result = context.dup
                      @context.in_def = true

    result
end

#_reduce_311(val, _values, result) ⇒ Object



8234
8235
8236
8237
8238
8239
8240
8241
8242
# File 'lib/parser/ruby18.rb', line 8234

def _reduce_311(val, _values, result)
                      result = @builder.def_method(val[0], val[1],
                                  val[3], val[4], val[5])

                      local_pop
                      @context.in_def = val[2].in_def

    result
end

#_reduce_312(val, _values, result) ⇒ Object



8244
8245
8246
8247
8248
# File 'lib/parser/ruby18.rb', line 8244

def _reduce_312(val, _values, result)
                      @lexer.state = :expr_fname

    result
end

#_reduce_313(val, _values, result) ⇒ Object



8250
8251
8252
8253
8254
8255
8256
# File 'lib/parser/ruby18.rb', line 8250

def _reduce_313(val, _values, result)
                      local_push
                      result = context.dup
                      @context.in_def = true

    result
end

#_reduce_314(val, _values, result) ⇒ Object



8258
8259
8260
8261
8262
8263
8264
8265
8266
# File 'lib/parser/ruby18.rb', line 8258

def _reduce_314(val, _values, result)
                      result = @builder.def_singleton(val[0], val[1], val[2],
                                  val[4], val[6], val[7], val[8])

                      local_pop
                      @context.in_def = val[5].in_def

    result
end

#_reduce_315(val, _values, result) ⇒ Object



8268
8269
8270
8271
8272
# File 'lib/parser/ruby18.rb', line 8268

def _reduce_315(val, _values, result)
                      result = @builder.keyword_cmd(:break, val[0])

    result
end

#_reduce_316(val, _values, result) ⇒ Object



8274
8275
8276
8277
8278
# File 'lib/parser/ruby18.rb', line 8274

def _reduce_316(val, _values, result)
                      result = @builder.keyword_cmd(:next, val[0])

    result
end

#_reduce_317(val, _values, result) ⇒ Object



8280
8281
8282
8283
8284
# File 'lib/parser/ruby18.rb', line 8280

def _reduce_317(val, _values, result)
                      result = @builder.keyword_cmd(:redo, val[0])

    result
end

#_reduce_318(val, _values, result) ⇒ Object



8286
8287
8288
8289
8290
# File 'lib/parser/ruby18.rb', line 8286

def _reduce_318(val, _values, result)
                      result = @builder.keyword_cmd(:retry, val[0])

    result
end

#_reduce_320(val, _values, result) ⇒ Object

reduce 319 omitted



8294
8295
8296
8297
8298
# File 'lib/parser/ruby18.rb', line 8294

def _reduce_320(val, _values, result)
                      result = [ val[0], @context.dup ]

    result
end

#_reduce_321(val, _values, result) ⇒ Object



8300
8301
8302
8303
8304
# File 'lib/parser/ruby18.rb', line 8300

def _reduce_321(val, _values, result)
                      result = [ val[0], @context.dup ]

    result
end

#_reduce_325(val, _values, result) ⇒ Object

reduce 324 omitted



8312
8313
8314
8315
8316
# File 'lib/parser/ruby18.rb', line 8312

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

    result
end

#_reduce_330(val, _values, result) ⇒ Object

reduce 329 omitted



8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
# File 'lib/parser/ruby18.rb', line 8326

def _reduce_330(val, _values, result)
                      else_t, else_ = val[4]
                      result = [ val[0],
                                 @builder.condition(val[0], val[1], val[2],
                                                    val[3], else_t,
                                                    else_,  nil),
                               ]

    result
end

#_reduce_332(val, _values, result) ⇒ Object

reduce 331 omitted



8339
8340
8341
8342
8343
# File 'lib/parser/ruby18.rb', line 8339

def _reduce_332(val, _values, result)
                      result = val

    result
end

#_reduce_335(val, _values, result) ⇒ Object

reduce 334 omitted



8349
8350
8351
8352
8353
# File 'lib/parser/ruby18.rb', line 8349

def _reduce_335(val, _values, result)
                      result = [ @builder.arg_expr(val[0]) ]

    result
end

#_reduce_336(val, _values, result) ⇒ Object



8355
8356
8357
8358
8359
# File 'lib/parser/ruby18.rb', line 8355

def _reduce_336(val, _values, result)
                      result = val[0] << @builder.arg_expr(val[2])

    result
end

#_reduce_339(val, _values, result) ⇒ Object

reduce 338 omitted



8365
8366
8367
8368
8369
8370
# File 'lib/parser/ruby18.rb', line 8365

def _reduce_339(val, _values, result)
                      result =  val[0].
                                  push(@builder.blockarg_expr(val[2], val[3]))

    result
end

#_reduce_34(val, _values, result) ⇒ Object

reduce 33 omitted



6778
6779
6780
6781
6782
# File 'lib/parser/ruby18.rb', line 6778

def _reduce_34(val, _values, result)
                      result = @builder.logical_op(:and, val[0], val[1], val[2])

    result
end

#_reduce_340(val, _values, result) ⇒ Object



8372
8373
8374
8375
8376
8377
8378
# File 'lib/parser/ruby18.rb', line 8372

def _reduce_340(val, _values, result)
                      result =  val[0].
                                  push(@builder.restarg_expr(val[2], val[3])).
                                  push(@builder.blockarg_expr(val[5], val[6]))

    result
end

#_reduce_341(val, _values, result) ⇒ Object



8380
8381
8382
8383
8384
8385
8386
# File 'lib/parser/ruby18.rb', line 8380

def _reduce_341(val, _values, result)
                      result =  val[0].
                                  push(@builder.restarg_expr(val[2])).
                                  push(@builder.blockarg_expr(val[4], val[5]))

    result
end

#_reduce_342(val, _values, result) ⇒ Object



8388
8389
8390
8391
8392
8393
# File 'lib/parser/ruby18.rb', line 8388

def _reduce_342(val, _values, result)
                      result =  val[0].
                                  push(@builder.restarg_expr(val[2], val[3]))

    result
end

#_reduce_343(val, _values, result) ⇒ Object



8395
8396
8397
8398
8399
8400
# File 'lib/parser/ruby18.rb', line 8395

def _reduce_343(val, _values, result)
                      result =  val[0].
                                  push(@builder.restarg_expr(val[2]))

    result
end

#_reduce_344(val, _values, result) ⇒ Object



8402
8403
8404
8405
8406
8407
# File 'lib/parser/ruby18.rb', line 8402

def _reduce_344(val, _values, result)
                      result =  [ @builder.restarg_expr(val[0], val[1]),
                                  @builder.blockarg_expr(val[3], val[4]) ]

    result
end

#_reduce_345(val, _values, result) ⇒ Object



8409
8410
8411
8412
8413
8414
# File 'lib/parser/ruby18.rb', line 8409

def _reduce_345(val, _values, result)
                      result =  [ @builder.restarg_expr(val[0]),
                                  @builder.blockarg_expr(val[2], val[3]) ]

    result
end

#_reduce_346(val, _values, result) ⇒ Object



8416
8417
8418
8419
8420
# File 'lib/parser/ruby18.rb', line 8416

def _reduce_346(val, _values, result)
                      result =  [ @builder.restarg_expr(val[0], val[1]) ]

    result
end

#_reduce_347(val, _values, result) ⇒ Object



8422
8423
8424
8425
8426
# File 'lib/parser/ruby18.rb', line 8422

def _reduce_347(val, _values, result)
                      result =  [ @builder.restarg_expr(val[0]) ]

    result
end

#_reduce_348(val, _values, result) ⇒ Object



8428
8429
8430
8431
8432
# File 'lib/parser/ruby18.rb', line 8428

def _reduce_348(val, _values, result)
                      result =  [ @builder.blockarg_expr(val[0], val[1]) ]

    result
end

#_reduce_349(val, _values, result) ⇒ Object



8434
8435
8436
8437
8438
# File 'lib/parser/ruby18.rb', line 8434

def _reduce_349(val, _values, result)
                      result = @builder.args(nil, [], nil)

    result
end

#_reduce_35(val, _values, result) ⇒ Object



6784
6785
6786
6787
6788
# File 'lib/parser/ruby18.rb', line 6784

def _reduce_35(val, _values, result)
                      result = @builder.logical_op(:or, val[0], val[1], val[2])

    result
end

#_reduce_350(val, _values, result) ⇒ Object



8440
8441
8442
8443
8444
# File 'lib/parser/ruby18.rb', line 8440

def _reduce_350(val, _values, result)
                      result = @builder.args(val[0], [], val[1])

    result
end

#_reduce_351(val, _values, result) ⇒ Object



8446
8447
8448
8449
8450
# File 'lib/parser/ruby18.rb', line 8446

def _reduce_351(val, _values, result)
                      result = @builder.args(val[0], [], val[0])

    result
end

#_reduce_352(val, _values, result) ⇒ Object



8452
8453
8454
8455
8456
# File 'lib/parser/ruby18.rb', line 8452

def _reduce_352(val, _values, result)
                      result = @builder.args(val[0], val[1], val[2], false)

    result
end

#_reduce_353(val, _values, result) ⇒ Object



8458
8459
8460
8461
8462
8463
8464
# File 'lib/parser/ruby18.rb', line 8458

def _reduce_353(val, _values, result)
                      @static_env.extend_dynamic
                      result = @context.dup
                      @context.in_block = true

    result
end

#_reduce_354(val, _values, result) ⇒ Object



8466
8467
8468
8469
8470
8471
8472
8473
# File 'lib/parser/ruby18.rb', line 8466

def _reduce_354(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                      @context.in_block = val[1].in_block

    result
end

#_reduce_355(val, _values, result) ⇒ Object



8475
8476
8477
8478
8479
8480
8481
# File 'lib/parser/ruby18.rb', line 8475

def _reduce_355(val, _values, result)
                      begin_t, block_args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, block_args, body, end_t)

    result
end

#_reduce_356(val, _values, result) ⇒ Object



8483
8484
8485
8486
8487
8488
8489
# File 'lib/parser/ruby18.rb', line 8483

def _reduce_356(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_357(val, _values, result) ⇒ Object



8491
8492
8493
8494
8495
8496
8497
# File 'lib/parser/ruby18.rb', line 8491

def _reduce_357(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_358(val, _values, result) ⇒ Object



8499
8500
8501
8502
8503
8504
8505
# File 'lib/parser/ruby18.rb', line 8499

def _reduce_358(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.call_method(nil, nil, val[0],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_359(val, _values, result) ⇒ Object



8507
8508
8509
8510
8511
8512
8513
# File 'lib/parser/ruby18.rb', line 8507

def _reduce_359(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_36(val, _values, result) ⇒ Object



6790
6791
6792
6793
6794
# File 'lib/parser/ruby18.rb', line 6790

def _reduce_36(val, _values, result)
                      result = @builder.not_op(val[0], nil, val[1], nil)

    result
end

#_reduce_360(val, _values, result) ⇒ Object



8515
8516
8517
8518
8519
8520
8521
# File 'lib/parser/ruby18.rb', line 8515

def _reduce_360(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_361(val, _values, result) ⇒ Object



8523
8524
8525
8526
8527
# File 'lib/parser/ruby18.rb', line 8523

def _reduce_361(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2])

    result
end

#_reduce_362(val, _values, result) ⇒ Object



8529
8530
8531
8532
8533
8534
8535
# File 'lib/parser/ruby18.rb', line 8529

def _reduce_362(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.keyword_cmd(:super, val[0],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_363(val, _values, result) ⇒ Object



8537
8538
8539
8540
8541
# File 'lib/parser/ruby18.rb', line 8537

def _reduce_363(val, _values, result)
                      result = @builder.keyword_cmd(:zsuper, val[0])

    result
end

#_reduce_364(val, _values, result) ⇒ Object



8543
8544
8545
8546
8547
8548
8549
# File 'lib/parser/ruby18.rb', line 8543

def _reduce_364(val, _values, result)
                      @static_env.extend_dynamic
                      result = @context.dup
                      @context.in_block = true

    result
end

#_reduce_365(val, _values, result) ⇒ Object



8551
8552
8553
8554
8555
8556
8557
8558
# File 'lib/parser/ruby18.rb', line 8551

def _reduce_365(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                      @context.in_block = val[1].in_block

    result
end

#_reduce_366(val, _values, result) ⇒ Object



8560
8561
8562
8563
8564
8565
8566
# File 'lib/parser/ruby18.rb', line 8560

def _reduce_366(val, _values, result)
                      @static_env.extend_dynamic
                      result = @context.dup
                      @context.in_block = true

    result
end

#_reduce_367(val, _values, result) ⇒ Object



8568
8569
8570
8571
8572
8573
8574
8575
# File 'lib/parser/ruby18.rb', line 8568

def _reduce_367(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                      @context.in_block = val[1].in_block

    result
end

#_reduce_368(val, _values, result) ⇒ Object



8577
8578
8579
8580
8581
8582
# File 'lib/parser/ruby18.rb', line 8577

def _reduce_368(val, _values, result)
                      result = [ @builder.when(val[0], val[1], val[2], val[3]),
                                 *val[4] ]

    result
end

#_reduce_37(val, _values, result) ⇒ Object



6796
6797
6798
6799
6800
# File 'lib/parser/ruby18.rb', line 6796

def _reduce_37(val, _values, result)
                      result = @builder.not_op(val[0], nil, val[1], nil)

    result
end

#_reduce_370(val, _values, result) ⇒ Object

reduce 369 omitted



8586
8587
8588
8589
8590
# File 'lib/parser/ruby18.rb', line 8586

def _reduce_370(val, _values, result)
                      result = val[0] << @builder.splat(val[2], val[3])

    result
end

#_reduce_371(val, _values, result) ⇒ Object



8592
8593
8594
8595
8596
# File 'lib/parser/ruby18.rb', line 8592

def _reduce_371(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]) ]

    result
end

#_reduce_372(val, _values, result) ⇒ Object



8598
8599
8600
8601
8602
# File 'lib/parser/ruby18.rb', line 8598

def _reduce_372(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_374(val, _values, result) ⇒ Object

reduce 373 omitted



8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
# File 'lib/parser/ruby18.rb', line 8606

def _reduce_374(val, _values, result)
                      assoc_t, exc_var = val[2]

                      if val[1]
                        exc_list = @builder.array(nil, val[1], nil)
                      end

                      result = [ @builder.rescue_body(val[0],
                                      exc_list, assoc_t, exc_var,
                                      val[3], val[4]),
                                 *val[5] ]

    result
end

#_reduce_375(val, _values, result) ⇒ Object



8621
8622
8623
8624
8625
# File 'lib/parser/ruby18.rb', line 8621

def _reduce_375(val, _values, result)
                      result = []

    result
end

#_reduce_376(val, _values, result) ⇒ Object



8627
8628
8629
8630
8631
# File 'lib/parser/ruby18.rb', line 8627

def _reduce_376(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_379(val, _values, result) ⇒ Object

reduce 378 omitted



8637
8638
8639
8640
8641
# File 'lib/parser/ruby18.rb', line 8637

def _reduce_379(val, _values, result)
                      result = [ val[0], val[1] ]

    result
end

#_reduce_381(val, _values, result) ⇒ Object

reduce 380 omitted



8645
8646
8647
8648
8649
# File 'lib/parser/ruby18.rb', line 8645

def _reduce_381(val, _values, result)
                      result = [ val[0], val[1] ]

    result
end

#_reduce_386(val, _values, result) ⇒ Object

reduce 385 omitted



8659
8660
8661
8662
8663
# File 'lib/parser/ruby18.rb', line 8659

def _reduce_386(val, _values, result)
                      result = @builder.string_compose(nil, val[0], nil)

    result
end

#_reduce_387(val, _values, result) ⇒ Object



8665
8666
8667
8668
8669
# File 'lib/parser/ruby18.rb', line 8665

def _reduce_387(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_388(val, _values, result) ⇒ Object



8671
8672
8673
8674
8675
# File 'lib/parser/ruby18.rb', line 8671

def _reduce_388(val, _values, result)
                      result = val[0] << val[1]

    result
end

#_reduce_389(val, _values, result) ⇒ Object



8677
8678
8679
8680
8681
# File 'lib/parser/ruby18.rb', line 8677

def _reduce_389(val, _values, result)
                      result = @builder.string_compose(val[0], val[1], val[2])

    result
end

#_reduce_390(val, _values, result) ⇒ Object



8683
8684
8685
8686
8687
# File 'lib/parser/ruby18.rb', line 8683

def _reduce_390(val, _values, result)
                      result = @builder.string(val[0])

    result
end

#_reduce_391(val, _values, result) ⇒ Object



8689
8690
8691
8692
8693
# File 'lib/parser/ruby18.rb', line 8689

def _reduce_391(val, _values, result)
                      result = @builder.xstring_compose(val[0], val[1], val[2])

    result
end

#_reduce_392(val, _values, result) ⇒ Object



8695
8696
8697
8698
8699
8700
# File 'lib/parser/ruby18.rb', line 8695

def _reduce_392(val, _values, result)
                      opts   = @builder.regexp_options(val[3])
                      result = @builder.regexp_compose(val[0], val[1], val[2], opts)

    result
end

#_reduce_393(val, _values, result) ⇒ Object



8702
8703
8704
8705
8706
# File 'lib/parser/ruby18.rb', line 8702

def _reduce_393(val, _values, result)
                      result = @builder.words_compose(val[0], val[1], val[2])

    result
end

#_reduce_394(val, _values, result) ⇒ Object



8708
8709
8710
8711
8712
# File 'lib/parser/ruby18.rb', line 8708

def _reduce_394(val, _values, result)
                      result = []

    result
end

#_reduce_395(val, _values, result) ⇒ Object



8714
8715
8716
8717
8718
# File 'lib/parser/ruby18.rb', line 8714

def _reduce_395(val, _values, result)
                      result = val[0] << @builder.word(val[1])

    result
end

#_reduce_396(val, _values, result) ⇒ Object



8720
8721
8722
8723
8724
# File 'lib/parser/ruby18.rb', line 8720

def _reduce_396(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_397(val, _values, result) ⇒ Object



8726
8727
8728
8729
8730
# File 'lib/parser/ruby18.rb', line 8726

def _reduce_397(val, _values, result)
                      result = val[0] << val[1]

    result
end

#_reduce_398(val, _values, result) ⇒ Object



8732
8733
8734
8735
8736
# File 'lib/parser/ruby18.rb', line 8732

def _reduce_398(val, _values, result)
                      result = @builder.words_compose(val[0], val[1], val[2])

    result
end

#_reduce_399(val, _values, result) ⇒ Object



8738
8739
8740
8741
8742
# File 'lib/parser/ruby18.rb', line 8738

def _reduce_399(val, _values, result)
                      result = []

    result
end

#_reduce_4(val, _values, result) ⇒ Object



6578
6579
6580
6581
6582
# File 'lib/parser/ruby18.rb', line 6578

def _reduce_4(val, _values, result)
                      result = []

    result
end

#_reduce_400(val, _values, result) ⇒ Object



8744
8745
8746
8747
8748
# File 'lib/parser/ruby18.rb', line 8744

def _reduce_400(val, _values, result)
                      result = val[0] << @builder.string_internal(val[1])

    result
end

#_reduce_401(val, _values, result) ⇒ Object



8750
8751
8752
8753
8754
# File 'lib/parser/ruby18.rb', line 8750

def _reduce_401(val, _values, result)
                      result = []

    result
end

#_reduce_402(val, _values, result) ⇒ Object



8756
8757
8758
8759
8760
# File 'lib/parser/ruby18.rb', line 8756

def _reduce_402(val, _values, result)
                      result = val[0] << val[1]

    result
end

#_reduce_403(val, _values, result) ⇒ Object



8762
8763
8764
8765
8766
# File 'lib/parser/ruby18.rb', line 8762

def _reduce_403(val, _values, result)
                      result = []

    result
end

#_reduce_404(val, _values, result) ⇒ Object



8768
8769
8770
8771
8772
# File 'lib/parser/ruby18.rb', line 8768

def _reduce_404(val, _values, result)
                      result = val[0] << val[1]

    result
end

#_reduce_405(val, _values, result) ⇒ Object



8774
8775
8776
8777
8778
# File 'lib/parser/ruby18.rb', line 8774

def _reduce_405(val, _values, result)
                      result = @builder.string_internal(val[0])

    result
end

#_reduce_406(val, _values, result) ⇒ Object



8780
8781
8782
8783
8784
# File 'lib/parser/ruby18.rb', line 8780

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

    result
end

#_reduce_407(val, _values, result) ⇒ Object



8786
8787
8788
8789
8790
8791
# File 'lib/parser/ruby18.rb', line 8786

def _reduce_407(val, _values, result)
                      @lexer.cond.push(false)
                      @lexer.cmdarg.push(false)

    result
end

#_reduce_408(val, _values, result) ⇒ Object



8793
8794
8795
8796
8797
8798
8799
8800
# File 'lib/parser/ruby18.rb', line 8793

def _reduce_408(val, _values, result)
                      @lexer.cond.lexpop
                      @lexer.cmdarg.lexpop

                      result = @builder.begin(val[0], val[2], val[3])

    result
end

#_reduce_409(val, _values, result) ⇒ Object



8802
8803
8804
8805
8806
# File 'lib/parser/ruby18.rb', line 8802

def _reduce_409(val, _values, result)
                      result = @builder.gvar(val[0])

    result
end

#_reduce_410(val, _values, result) ⇒ Object



8808
8809
8810
8811
8812
# File 'lib/parser/ruby18.rb', line 8808

def _reduce_410(val, _values, result)
                      result = @builder.ivar(val[0])

    result
end

#_reduce_411(val, _values, result) ⇒ Object



8814
8815
8816
8817
8818
# File 'lib/parser/ruby18.rb', line 8814

def _reduce_411(val, _values, result)
                      result = @builder.cvar(val[0])

    result
end

#_reduce_413(val, _values, result) ⇒ Object

reduce 412 omitted



8822
8823
8824
8825
8826
# File 'lib/parser/ruby18.rb', line 8822

def _reduce_413(val, _values, result)
                      result = @builder.symbol(val[0])

    result
end

#_reduce_414(val, _values, result) ⇒ Object



8828
8829
8830
8831
8832
# File 'lib/parser/ruby18.rb', line 8828

def _reduce_414(val, _values, result)
                      result = @builder.symbol_compose(val[0], val[1], val[2])

    result
end

#_reduce_415(val, _values, result) ⇒ Object



8834
8835
8836
8837
8838
# File 'lib/parser/ruby18.rb', line 8834

def _reduce_415(val, _values, result)
                      result = @builder.integer(val[0])

    result
end

#_reduce_416(val, _values, result) ⇒ Object



8840
8841
8842
8843
8844
# File 'lib/parser/ruby18.rb', line 8840

def _reduce_416(val, _values, result)
                      result = @builder.float(val[0])

    result
end

#_reduce_417(val, _values, result) ⇒ Object



8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
# File 'lib/parser/ruby18.rb', line 8846

def _reduce_417(val, _values, result)
                      num = @builder.integer(val[1])
                      if @builder.respond_to? :negate
                        # AST builder interface compatibility
                        result = @builder.negate(val[0], num)
                      else
                        result = @builder.unary_num(val[0], num)
                      end

    result
end

#_reduce_418(val, _values, result) ⇒ Object



8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
# File 'lib/parser/ruby18.rb', line 8858

def _reduce_418(val, _values, result)
                      num = @builder.float(val[1])
                      if @builder.respond_to? :negate
                        # AST builder interface compatibility
                        result = @builder.negate(val[0], num)
                      else
                        result = @builder.unary_num(val[0], num)
                      end

    result
end

#_reduce_419(val, _values, result) ⇒ Object



8870
8871
8872
8873
8874
# File 'lib/parser/ruby18.rb', line 8870

def _reduce_419(val, _values, result)
                      result = @builder.ident(val[0])

    result
end

#_reduce_42(val, _values, result) ⇒ Object

reduce 41 omitted



6810
6811
6812
6813
6814
6815
# File 'lib/parser/ruby18.rb', line 6810

def _reduce_42(val, _values, result)
                      result = @builder.keyword_cmd(:return, val[0],
                                  nil, val[1], nil)

    result
end

#_reduce_420(val, _values, result) ⇒ Object



8876
8877
8878
8879
8880
# File 'lib/parser/ruby18.rb', line 8876

def _reduce_420(val, _values, result)
                      result = @builder.ivar(val[0])

    result
end

#_reduce_421(val, _values, result) ⇒ Object



8882
8883
8884
8885
8886
# File 'lib/parser/ruby18.rb', line 8882

def _reduce_421(val, _values, result)
                      result = @builder.gvar(val[0])

    result
end

#_reduce_422(val, _values, result) ⇒ Object



8888
8889
8890
8891
8892
# File 'lib/parser/ruby18.rb', line 8888

def _reduce_422(val, _values, result)
                      result = @builder.cvar(val[0])

    result
end

#_reduce_423(val, _values, result) ⇒ Object



8894
8895
8896
8897
8898
# File 'lib/parser/ruby18.rb', line 8894

def _reduce_423(val, _values, result)
                      result = @builder.const(val[0])

    result
end

#_reduce_424(val, _values, result) ⇒ Object



8900
8901
8902
8903
8904
# File 'lib/parser/ruby18.rb', line 8900

def _reduce_424(val, _values, result)
                      result = @builder.nil(val[0])

    result
end

#_reduce_425(val, _values, result) ⇒ Object



8906
8907
8908
8909
8910
# File 'lib/parser/ruby18.rb', line 8906

def _reduce_425(val, _values, result)
                      result = @builder.self(val[0])

    result
end

#_reduce_426(val, _values, result) ⇒ Object



8912
8913
8914
8915
8916
# File 'lib/parser/ruby18.rb', line 8912

def _reduce_426(val, _values, result)
                      result = @builder.true(val[0])

    result
end

#_reduce_427(val, _values, result) ⇒ Object



8918
8919
8920
8921
8922
# File 'lib/parser/ruby18.rb', line 8918

def _reduce_427(val, _values, result)
                      result = @builder.false(val[0])

    result
end

#_reduce_428(val, _values, result) ⇒ Object



8924
8925
8926
8927
8928
# File 'lib/parser/ruby18.rb', line 8924

def _reduce_428(val, _values, result)
                      result = @builder.__FILE__(val[0])

    result
end

#_reduce_429(val, _values, result) ⇒ Object



8930
8931
8932
8933
8934
# File 'lib/parser/ruby18.rb', line 8930

def _reduce_429(val, _values, result)
                      result = @builder.__LINE__(val[0])

    result
end

#_reduce_43(val, _values, result) ⇒ Object



6817
6818
6819
6820
6821
6822
# File 'lib/parser/ruby18.rb', line 6817

def _reduce_43(val, _values, result)
                      result = @builder.keyword_cmd(:break, val[0],
                                  nil, val[1], nil)

    result
end

#_reduce_430(val, _values, result) ⇒ Object



8936
8937
8938
8939
8940
# File 'lib/parser/ruby18.rb', line 8936

def _reduce_430(val, _values, result)
                      result = @builder.accessible(val[0])

    result
end

#_reduce_431(val, _values, result) ⇒ Object



8942
8943
8944
8945
8946
# File 'lib/parser/ruby18.rb', line 8942

def _reduce_431(val, _values, result)
                      result = @builder.assignable(val[0])

    result
end

#_reduce_432(val, _values, result) ⇒ Object



8948
8949
8950
8951
8952
# File 'lib/parser/ruby18.rb', line 8948

def _reduce_432(val, _values, result)
                      result = @builder.nth_ref(val[0])

    result
end

#_reduce_433(val, _values, result) ⇒ Object



8954
8955
8956
8957
8958
# File 'lib/parser/ruby18.rb', line 8954

def _reduce_433(val, _values, result)
                      result = @builder.back_ref(val[0])

    result
end

#_reduce_434(val, _values, result) ⇒ Object



8960
8961
8962
8963
8964
# File 'lib/parser/ruby18.rb', line 8960

def _reduce_434(val, _values, result)
                      result = nil

    result
end

#_reduce_435(val, _values, result) ⇒ Object



8966
8967
8968
8969
8970
# File 'lib/parser/ruby18.rb', line 8966

def _reduce_435(val, _values, result)
                      result = [ val[0], val[1] ]

    result
end

#_reduce_436(val, _values, result) ⇒ Object



8972
8973
8974
8975
8976
8977
# File 'lib/parser/ruby18.rb', line 8972

def _reduce_436(val, _values, result)
                      yyerrok
                      result = nil

    result
end

#_reduce_437(val, _values, result) ⇒ Object



8979
8980
8981
8982
8983
8984
8985
# File 'lib/parser/ruby18.rb', line 8979

def _reduce_437(val, _values, result)
                      result = @builder.args(val[0], val[1], val[3])

                      @lexer.state = :expr_beg

    result
end

#_reduce_438(val, _values, result) ⇒ Object



8987
8988
8989
8990
8991
# File 'lib/parser/ruby18.rb', line 8987

def _reduce_438(val, _values, result)
                      result = @builder.args(nil, val[0], nil)

    result
end

#_reduce_439(val, _values, result) ⇒ Object



8993
8994
8995
8996
8997
8998
8999
9000
# File 'lib/parser/ruby18.rb', line 8993

def _reduce_439(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])

    result
end

#_reduce_44(val, _values, result) ⇒ Object



6824
6825
6826
6827
6828
6829
# File 'lib/parser/ruby18.rb', line 6824

def _reduce_44(val, _values, result)
                      result = @builder.keyword_cmd(:next, val[0],
                                  nil, val[1], nil)

    result
end

#_reduce_440(val, _values, result) ⇒ Object



9002
9003
9004
9005
9006
9007
9008
# File 'lib/parser/ruby18.rb', line 9002

def _reduce_440(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])

    result
end

#_reduce_441(val, _values, result) ⇒ Object



9010
9011
9012
9013
9014
9015
9016
# File 'lib/parser/ruby18.rb', line 9010

def _reduce_441(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])

    result
end

#_reduce_442(val, _values, result) ⇒ Object



9018
9019
9020
9021
9022
9023
# File 'lib/parser/ruby18.rb', line 9018

def _reduce_442(val, _values, result)
                      result = val[0].
                                  concat(val[1])

    result
end

#_reduce_443(val, _values, result) ⇒ Object



9025
9026
9027
9028
9029
9030
9031
# File 'lib/parser/ruby18.rb', line 9025

def _reduce_443(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])

    result
end

#_reduce_444(val, _values, result) ⇒ Object



9033
9034
9035
9036
9037
9038
# File 'lib/parser/ruby18.rb', line 9033

def _reduce_444(val, _values, result)
                      result = val[0].
                                  concat(val[1])

    result
end

#_reduce_445(val, _values, result) ⇒ Object



9040
9041
9042
9043
9044
9045
# File 'lib/parser/ruby18.rb', line 9040

def _reduce_445(val, _values, result)
                      result = val[0].
                                  concat(val[1])

    result
end

#_reduce_446(val, _values, result) ⇒ Object



9047
9048
9049
9050
9051
# File 'lib/parser/ruby18.rb', line 9047

def _reduce_446(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_447(val, _values, result) ⇒ Object



9053
9054
9055
9056
9057
# File 'lib/parser/ruby18.rb', line 9053

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

    result
end

#_reduce_448(val, _values, result) ⇒ Object



9059
9060
9061
9062
9063
# File 'lib/parser/ruby18.rb', line 9059

def _reduce_448(val, _values, result)
                      diagnostic :error, :argument_const, nil, val[0]

    result
end

#_reduce_449(val, _values, result) ⇒ Object



9065
9066
9067
9068
9069
# File 'lib/parser/ruby18.rb', line 9065

def _reduce_449(val, _values, result)
                      diagnostic :error, :argument_ivar, nil, val[0]

    result
end

#_reduce_450(val, _values, result) ⇒ Object



9071
9072
9073
9074
9075
# File 'lib/parser/ruby18.rb', line 9071

def _reduce_450(val, _values, result)
                      diagnostic :error, :argument_gvar, nil, val[0]

    result
end

#_reduce_451(val, _values, result) ⇒ Object



9077
9078
9079
9080
9081
# File 'lib/parser/ruby18.rb', line 9077

def _reduce_451(val, _values, result)
                      diagnostic :error, :argument_cvar, nil, val[0]

    result
end

#_reduce_452(val, _values, result) ⇒ Object



9083
9084
9085
9086
9087
9088
9089
# File 'lib/parser/ruby18.rb', line 9083

def _reduce_452(val, _values, result)
                      @static_env.declare val[0][0]

                      result = @builder.arg(val[0])

    result
end

#_reduce_453(val, _values, result) ⇒ Object



9091
9092
9093
9094
9095
# File 'lib/parser/ruby18.rb', line 9091

def _reduce_453(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_454(val, _values, result) ⇒ Object



9097
9098
9099
9100
9101
# File 'lib/parser/ruby18.rb', line 9097

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

    result
end

#_reduce_455(val, _values, result) ⇒ Object



9103
9104
9105
9106
9107
9108
9109
# File 'lib/parser/ruby18.rb', line 9103

def _reduce_455(val, _values, result)
                      @static_env.declare val[0][0]

                      result = @builder.optarg(val[0], val[1], val[2])

    result
end

#_reduce_456(val, _values, result) ⇒ Object



9111
9112
9113
9114
9115
# File 'lib/parser/ruby18.rb', line 9111

def _reduce_456(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_457(val, _values, result) ⇒ Object



9117
9118
9119
9120
9121
# File 'lib/parser/ruby18.rb', line 9117

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

    result
end

#_reduce_46(val, _values, result) ⇒ Object

reduce 45 omitted



6833
6834
6835
6836
6837
6838
6839
# File 'lib/parser/ruby18.rb', line 6833

def _reduce_46(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_460(val, _values, result) ⇒ Object

reduce 459 omitted



9127
9128
9129
9130
9131
9132
9133
# File 'lib/parser/ruby18.rb', line 9127

def _reduce_460(val, _values, result)
                      @static_env.declare val[1][0]

                      result = [ @builder.restarg(val[0], val[1]) ]

    result
end

#_reduce_461(val, _values, result) ⇒ Object



9135
9136
9137
9138
9139
# File 'lib/parser/ruby18.rb', line 9135

def _reduce_461(val, _values, result)
                      result = [ @builder.restarg(val[0]) ]

    result
end

#_reduce_464(val, _values, result) ⇒ Object

reduce 463 omitted



9145
9146
9147
9148
9149
9150
9151
# File 'lib/parser/ruby18.rb', line 9145

def _reduce_464(val, _values, result)
                      @static_env.declare val[1][0]

                      result = @builder.blockarg(val[0], val[1])

    result
end

#_reduce_465(val, _values, result) ⇒ Object



9153
9154
9155
9156
9157
# File 'lib/parser/ruby18.rb', line 9153

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

    result
end

#_reduce_466(val, _values, result) ⇒ Object



9159
9160
9161
9162
9163
# File 'lib/parser/ruby18.rb', line 9159

def _reduce_466(val, _values, result)
                      result = []

    result
end

#_reduce_468(val, _values, result) ⇒ Object

reduce 467 omitted



9167
9168
9169
9170
9171
# File 'lib/parser/ruby18.rb', line 9167

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

    result
end

#_reduce_469(val, _values, result) ⇒ Object



9173
9174
9175
9176
9177
# File 'lib/parser/ruby18.rb', line 9173

def _reduce_469(val, _values, result)
                      result = []

    result
end

#_reduce_47(val, _values, result) ⇒ Object



6841
6842
6843
6844
6845
6846
6847
# File 'lib/parser/ruby18.rb', line 6841

def _reduce_47(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_470(val, _values, result) ⇒ Object



9179
9180
9181
9182
9183
# File 'lib/parser/ruby18.rb', line 9179

def _reduce_470(val, _values, result)
                      result = val[0]

    result
end

#_reduce_471(val, _values, result) ⇒ Object



9185
9186
9187
9188
9189
# File 'lib/parser/ruby18.rb', line 9185

def _reduce_471(val, _values, result)
                      result = @builder.pair_list_18(val[0])

    result
end

#_reduce_472(val, _values, result) ⇒ Object



9191
9192
9193
9194
9195
# File 'lib/parser/ruby18.rb', line 9191

def _reduce_472(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_473(val, _values, result) ⇒ Object



9197
9198
9199
9200
9201
# File 'lib/parser/ruby18.rb', line 9197

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

    result
end

#_reduce_474(val, _values, result) ⇒ Object



9203
9204
9205
9206
9207
# File 'lib/parser/ruby18.rb', line 9203

def _reduce_474(val, _values, result)
                      result = @builder.pair(val[0], val[1], val[2])

    result
end

#_reduce_48(val, _values, result) ⇒ Object



6849
6850
6851
6852
6853
6854
6855
# File 'lib/parser/ruby18.rb', line 6849

def _reduce_48(val, _values, result)
                      @static_env.extend_dynamic
                      result = @context.dup
                      @context.in_block = true

    result
end

#_reduce_49(val, _values, result) ⇒ Object



6857
6858
6859
6860
6861
6862
6863
6864
# File 'lib/parser/ruby18.rb', line 6857

def _reduce_49(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                      @context.in_block = val[1].in_block

    result
end

#_reduce_494(val, _values, result) ⇒ Object

reduce 493 omitted



9247
9248
9249
9250
9251
# File 'lib/parser/ruby18.rb', line 9247

def _reduce_494(val, _values, result)
                      yyerrok

    result
end

#_reduce_498(val, _values, result) ⇒ Object

reduce 497 omitted



9259
9260
9261
9262
9263
# File 'lib/parser/ruby18.rb', line 9259

def _reduce_498(val, _values, result)
                      result = nil

    result
end

#_reduce_5(val, _values, result) ⇒ Object



6584
6585
6586
6587
6588
# File 'lib/parser/ruby18.rb', line 6584

def _reduce_5(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_50(val, _values, result) ⇒ Object



6866
6867
6868
6869
6870
6871
6872
# File 'lib/parser/ruby18.rb', line 6866

def _reduce_50(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.call_method(nil, nil, val[0],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_51(val, _values, result) ⇒ Object



6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
# File 'lib/parser/ruby18.rb', line 6874

def _reduce_51(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      method_call = @builder.call_method(nil, nil, val[0],
                                      lparen_t, args, rparen_t)

                      begin_t, block_args, body, end_t = val[2]
                      result      = @builder.block(method_call,
                                      begin_t, block_args, body, end_t)

    result
end

#_reduce_52(val, _values, result) ⇒ Object



6886
6887
6888
6889
6890
6891
6892
6893
# File 'lib/parser/ruby18.rb', line 6886

def _reduce_52(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)


    result
end

#_reduce_53(val, _values, result) ⇒ Object



6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
# File 'lib/parser/ruby18.rb', line 6895

def _reduce_53(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                      lparen_t, args, rparen_t)

                      begin_t, block_args, body, end_t = val[4]
                      result      = @builder.block(method_call,
                                      begin_t, block_args, body, end_t)

    result
end

#_reduce_54(val, _values, result) ⇒ Object



6907
6908
6909
6910
6911
6912
6913
# File 'lib/parser/ruby18.rb', line 6907

def _reduce_54(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_55(val, _values, result) ⇒ Object



6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
# File 'lib/parser/ruby18.rb', line 6915

def _reduce_55(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                      lparen_t, args, rparen_t)

                      begin_t, block_args, body, end_t = val[4]
                      result      = @builder.block(method_call,
                                      begin_t, block_args, body, end_t)

    result
end

#_reduce_56(val, _values, result) ⇒ Object



6927
6928
6929
6930
6931
6932
6933
# File 'lib/parser/ruby18.rb', line 6927

def _reduce_56(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.keyword_cmd(:super, val[0],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_57(val, _values, result) ⇒ Object



6935
6936
6937
6938
6939
6940
6941
# File 'lib/parser/ruby18.rb', line 6935

def _reduce_57(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.keyword_cmd(:yield, val[0],
                                  lparen_t, args, rparen_t)

    result
end

#_reduce_58(val, _values, result) ⇒ Object



6943
6944
6945
6946
6947
# File 'lib/parser/ruby18.rb', line 6943

def _reduce_58(val, _values, result)
                      result = @builder.multi_lhs(nil, val[0], nil)

    result
end

#_reduce_59(val, _values, result) ⇒ Object



6949
6950
6951
6952
6953
# File 'lib/parser/ruby18.rb', line 6949

def _reduce_59(val, _values, result)
                      result = @builder.begin(val[0], val[1], val[2])

    result
end

#_reduce_6(val, _values, result) ⇒ Object



6590
6591
6592
6593
6594
# File 'lib/parser/ruby18.rb', line 6590

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

    result
end

#_reduce_60(val, _values, result) ⇒ Object



6955
6956
6957
6958
6959
# File 'lib/parser/ruby18.rb', line 6955

def _reduce_60(val, _values, result)
                      result = @builder.multi_lhs(nil, val[0], nil)

    result
end

#_reduce_61(val, _values, result) ⇒ Object



6961
6962
6963
6964
6965
# File 'lib/parser/ruby18.rb', line 6961

def _reduce_61(val, _values, result)
                      result = @builder.multi_lhs(val[0], val[1], val[2])

    result
end

#_reduce_62(val, _values, result) ⇒ Object



6967
6968
6969
6970
6971
# File 'lib/parser/ruby18.rb', line 6967

def _reduce_62(val, _values, result)
                      result = val[0]

    result
end

#_reduce_63(val, _values, result) ⇒ Object



6973
6974
6975
6976
6977
# File 'lib/parser/ruby18.rb', line 6973

def _reduce_63(val, _values, result)
                      result = val[0] << val[1]

    result
end

#_reduce_64(val, _values, result) ⇒ Object



6979
6980
6981
6982
6983
# File 'lib/parser/ruby18.rb', line 6979

def _reduce_64(val, _values, result)
                      result = val[0] << @builder.splat(val[1], val[2])

    result
end

#_reduce_65(val, _values, result) ⇒ Object



6985
6986
6987
6988
6989
# File 'lib/parser/ruby18.rb', line 6985

def _reduce_65(val, _values, result)
                      result = val[0] << @builder.splat(val[1])

    result
end

#_reduce_66(val, _values, result) ⇒ Object



6991
6992
6993
6994
6995
# File 'lib/parser/ruby18.rb', line 6991

def _reduce_66(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]) ]

    result
end

#_reduce_67(val, _values, result) ⇒ Object



6997
6998
6999
7000
7001
# File 'lib/parser/ruby18.rb', line 6997

def _reduce_67(val, _values, result)
                      result = [ @builder.splat(val[0]) ]

    result
end

#_reduce_69(val, _values, result) ⇒ Object

reduce 68 omitted



7005
7006
7007
7008
7009
# File 'lib/parser/ruby18.rb', line 7005

def _reduce_69(val, _values, result)
                      result = @builder.begin(val[0], val[1], val[2])

    result
end

#_reduce_7(val, _values, result) ⇒ Object



6596
6597
6598
6599
6600
# File 'lib/parser/ruby18.rb', line 6596

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

    result
end

#_reduce_70(val, _values, result) ⇒ Object



7011
7012
7013
7014
7015
# File 'lib/parser/ruby18.rb', line 7011

def _reduce_70(val, _values, result)
                      result = [ val[0] ]

    result
end

#_reduce_71(val, _values, result) ⇒ Object



7017
7018
7019
7020
7021
# File 'lib/parser/ruby18.rb', line 7017

def _reduce_71(val, _values, result)
                      result = val[0] << val[1]

    result
end

#_reduce_72(val, _values, result) ⇒ Object



7023
7024
7025
7026
7027
# File 'lib/parser/ruby18.rb', line 7023

def _reduce_72(val, _values, result)
                      result = @builder.assignable(val[0])

    result
end

#_reduce_73(val, _values, result) ⇒ Object



7029
7030
7031
7032
7033
# File 'lib/parser/ruby18.rb', line 7029

def _reduce_73(val, _values, result)
                      result = @builder.index_asgn(val[0], val[1], val[2], val[3])

    result
end

#_reduce_74(val, _values, result) ⇒ Object



7035
7036
7037
7038
7039
# File 'lib/parser/ruby18.rb', line 7035

def _reduce_74(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])

    result
end

#_reduce_75(val, _values, result) ⇒ Object



7041
7042
7043
7044
7045
# File 'lib/parser/ruby18.rb', line 7041

def _reduce_75(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])

    result
end

#_reduce_76(val, _values, result) ⇒ Object



7047
7048
7049
7050
7051
# File 'lib/parser/ruby18.rb', line 7047

def _reduce_76(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])

    result
end

#_reduce_77(val, _values, result) ⇒ Object



7053
7054
7055
7056
7057
7058
# File 'lib/parser/ruby18.rb', line 7053

def _reduce_77(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))

    result
end

#_reduce_78(val, _values, result) ⇒ Object



7060
7061
7062
7063
7064
7065
# File 'lib/parser/ruby18.rb', line 7060

def _reduce_78(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))

    result
end

#_reduce_79(val, _values, result) ⇒ Object



7067
7068
7069
7070
7071
# File 'lib/parser/ruby18.rb', line 7067

def _reduce_79(val, _values, result)
                      result = @builder.assignable(val[0])

    result
end

#_reduce_8(val, _values, result) ⇒ Object



6602
6603
6604
6605
6606
# File 'lib/parser/ruby18.rb', line 6602

def _reduce_8(val, _values, result)
                      @lexer.state = :expr_fname

    result
end

#_reduce_80(val, _values, result) ⇒ Object



7073
7074
7075
7076
7077
# File 'lib/parser/ruby18.rb', line 7073

def _reduce_80(val, _values, result)
                      result = @builder.assignable(val[0])

    result
end

#_reduce_81(val, _values, result) ⇒ Object



7079
7080
7081
7082
7083
# File 'lib/parser/ruby18.rb', line 7079

def _reduce_81(val, _values, result)
                      result = @builder.index_asgn(val[0], val[1], val[2], val[3])

    result
end

#_reduce_82(val, _values, result) ⇒ Object



7085
7086
7087
7088
7089
# File 'lib/parser/ruby18.rb', line 7085

def _reduce_82(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])

    result
end

#_reduce_83(val, _values, result) ⇒ Object



7091
7092
7093
7094
7095
# File 'lib/parser/ruby18.rb', line 7091

def _reduce_83(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])

    result
end

#_reduce_84(val, _values, result) ⇒ Object



7097
7098
7099
7100
7101
# File 'lib/parser/ruby18.rb', line 7097

def _reduce_84(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])

    result
end

#_reduce_85(val, _values, result) ⇒ Object



7103
7104
7105
7106
7107
7108
# File 'lib/parser/ruby18.rb', line 7103

def _reduce_85(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))

    result
end

#_reduce_86(val, _values, result) ⇒ Object



7110
7111
7112
7113
7114
7115
# File 'lib/parser/ruby18.rb', line 7110

def _reduce_86(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))

    result
end

#_reduce_87(val, _values, result) ⇒ Object



7117
7118
7119
7120
7121
# File 'lib/parser/ruby18.rb', line 7117

def _reduce_87(val, _values, result)
                      result = @builder.assignable(val[0])

    result
end

#_reduce_88(val, _values, result) ⇒ Object



7123
7124
7125
7126
7127
# File 'lib/parser/ruby18.rb', line 7123

def _reduce_88(val, _values, result)
                      diagnostic :error, :module_name_const, nil, val[0]

    result
end

#_reduce_9(val, _values, result) ⇒ Object



6608
6609
6610
6611
6612
# File 'lib/parser/ruby18.rb', line 6608

def _reduce_9(val, _values, result)
                      result = @builder.alias(val[0], val[1], val[3])

    result
end

#_reduce_90(val, _values, result) ⇒ Object

reduce 89 omitted



7131
7132
7133
7134
7135
# File 'lib/parser/ruby18.rb', line 7131

def _reduce_90(val, _values, result)
                      result = @builder.const_global(val[0], val[1])

    result
end

#_reduce_91(val, _values, result) ⇒ Object



7137
7138
7139
7140
7141
# File 'lib/parser/ruby18.rb', line 7137

def _reduce_91(val, _values, result)
                      result = @builder.const(val[0])

    result
end

#_reduce_92(val, _values, result) ⇒ Object



7143
7144
7145
7146
7147
# File 'lib/parser/ruby18.rb', line 7143

def _reduce_92(val, _values, result)
                      result = @builder.const_fetch(val[0], val[1], val[2])

    result
end

#_reduce_98(val, _values, result) ⇒ Object

reduce 97 omitted



7159
7160
7161
7162
7163
# File 'lib/parser/ruby18.rb', line 7159

def _reduce_98(val, _values, result)
                      result = @builder.symbol_internal(val[0])

    result
end

#_reduce_none(val, _values, result) ⇒ Object



9265
9266
9267
# File 'lib/parser/ruby18.rb', line 9265

def _reduce_none(val, _values, result)
  val[0]
end

#default_encodingObject



21
22
23
# File 'lib/parser/ruby18.rb', line 21

def default_encoding
  Encoding::BINARY
end

#local_popObject



31
32
33
34
35
# File 'lib/parser/ruby18.rb', line 31

def local_pop
  @static_env.unextend
  @lexer.cmdarg.pop
  @lexer.cond.pop
end

#local_pushObject



25
26
27
28
29
# File 'lib/parser/ruby18.rb', line 25

def local_push
  @static_env.extend_static
  @lexer.cmdarg.push(false)
  @lexer.cond.push(false)
end

#versionObject



17
18
19
# File 'lib/parser/ruby18.rb', line 17

def version
  18
end