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



6551
6552
6553
6554
6555
# File 'lib/parser/ruby18.rb', line 6551

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

    result
end

#_reduce_10(val, _values, result) ⇒ Object



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

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



7173
7174
7175
7176
7177
# File 'lib/parser/ruby18.rb', line 7173

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

    result
end

#_reduce_103(val, _values, result) ⇒ Object



7179
7180
7181
7182
7183
# File 'lib/parser/ruby18.rb', line 7179

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

    result
end

#_reduce_104(val, _values, result) ⇒ Object



7185
7186
7187
7188
7189
# File 'lib/parser/ruby18.rb', line 7185

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

    result
end

#_reduce_11(val, _values, result) ⇒ Object



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

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



6632
6633
6634
6635
6636
# File 'lib/parser/ruby18.rb', line 6632

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

    result
end

#_reduce_13(val, _values, result) ⇒ Object



6638
6639
6640
6641
6642
# File 'lib/parser/ruby18.rb', line 6638

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

    result
end

#_reduce_14(val, _values, result) ⇒ Object



6644
6645
6646
6647
6648
6649
# File 'lib/parser/ruby18.rb', line 6644

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



6651
6652
6653
6654
6655
6656
# File 'lib/parser/ruby18.rb', line 6651

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



6658
6659
6660
6661
6662
# File 'lib/parser/ruby18.rb', line 6658

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



6664
6665
6666
6667
6668
# File 'lib/parser/ruby18.rb', line 6664

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



7323
7324
7325
7326
7327
# File 'lib/parser/ruby18.rb', line 7323

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

    result
end

#_reduce_172(val, _values, result) ⇒ Object



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

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



7341
7342
7343
7344
7345
# File 'lib/parser/ruby18.rb', line 7341

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

    result
end

#_reduce_174(val, _values, result) ⇒ Object



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

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



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

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



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

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



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

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



7383
7384
7385
7386
7387
# File 'lib/parser/ruby18.rb', line 7383

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

    result
end

#_reduce_179(val, _values, result) ⇒ Object



7389
7390
7391
7392
7393
# File 'lib/parser/ruby18.rb', line 7389

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

    result
end

#_reduce_18(val, _values, result) ⇒ Object



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

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



7395
7396
7397
7398
7399
# File 'lib/parser/ruby18.rb', line 7395

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

    result
end

#_reduce_181(val, _values, result) ⇒ Object



7401
7402
7403
7404
7405
# File 'lib/parser/ruby18.rb', line 7401

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

    result
end

#_reduce_182(val, _values, result) ⇒ Object



7407
7408
7409
7410
7411
# File 'lib/parser/ruby18.rb', line 7407

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

    result
end

#_reduce_183(val, _values, result) ⇒ Object



7413
7414
7415
7416
7417
# File 'lib/parser/ruby18.rb', line 7413

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

    result
end

#_reduce_184(val, _values, result) ⇒ Object



7419
7420
7421
7422
7423
# File 'lib/parser/ruby18.rb', line 7419

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

    result
end

#_reduce_185(val, _values, result) ⇒ Object



7425
7426
7427
7428
7429
# File 'lib/parser/ruby18.rb', line 7425

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

    result
end

#_reduce_186(val, _values, result) ⇒ Object



7431
7432
7433
7434
7435
# File 'lib/parser/ruby18.rb', line 7431

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

    result
end

#_reduce_187(val, _values, result) ⇒ Object



7437
7438
7439
7440
7441
# File 'lib/parser/ruby18.rb', line 7437

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

    result
end

#_reduce_188(val, _values, result) ⇒ Object



7443
7444
7445
7446
7447
# File 'lib/parser/ruby18.rb', line 7443

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

    result
end

#_reduce_189(val, _values, result) ⇒ Object



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

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



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

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



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

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



7467
7468
7469
7470
7471
# File 'lib/parser/ruby18.rb', line 7467

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

    result
end

#_reduce_192(val, _values, result) ⇒ Object



7473
7474
7475
7476
7477
# File 'lib/parser/ruby18.rb', line 7473

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

    result
end

#_reduce_193(val, _values, result) ⇒ Object



7479
7480
7481
7482
7483
# File 'lib/parser/ruby18.rb', line 7479

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

    result
end

#_reduce_194(val, _values, result) ⇒ Object



7485
7486
7487
7488
7489
# File 'lib/parser/ruby18.rb', line 7485

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

    result
end

#_reduce_195(val, _values, result) ⇒ Object



7491
7492
7493
7494
7495
# File 'lib/parser/ruby18.rb', line 7491

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

    result
end

#_reduce_196(val, _values, result) ⇒ Object



7497
7498
7499
7500
7501
# File 'lib/parser/ruby18.rb', line 7497

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

    result
end

#_reduce_197(val, _values, result) ⇒ Object



7503
7504
7505
7506
7507
# File 'lib/parser/ruby18.rb', line 7503

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

    result
end

#_reduce_198(val, _values, result) ⇒ Object



7509
7510
7511
7512
7513
# File 'lib/parser/ruby18.rb', line 7509

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

    result
end

#_reduce_199(val, _values, result) ⇒ Object



7515
7516
7517
7518
7519
# File 'lib/parser/ruby18.rb', line 7515

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

    result
end

#_reduce_2(val, _values, result) ⇒ Object



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

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



6690
6691
6692
6693
6694
# File 'lib/parser/ruby18.rb', line 6690

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



7521
7522
7523
7524
7525
# File 'lib/parser/ruby18.rb', line 7521

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

    result
end

#_reduce_201(val, _values, result) ⇒ Object



7527
7528
7529
7530
7531
# File 'lib/parser/ruby18.rb', line 7527

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

    result
end

#_reduce_202(val, _values, result) ⇒ Object



7533
7534
7535
7536
7537
# File 'lib/parser/ruby18.rb', line 7533

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

    result
end

#_reduce_203(val, _values, result) ⇒ Object



7539
7540
7541
7542
7543
# File 'lib/parser/ruby18.rb', line 7539

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

    result
end

#_reduce_204(val, _values, result) ⇒ Object



7545
7546
7547
7548
7549
# File 'lib/parser/ruby18.rb', line 7545

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

    result
end

#_reduce_205(val, _values, result) ⇒ Object



7551
7552
7553
7554
7555
# File 'lib/parser/ruby18.rb', line 7551

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

    result
end

#_reduce_206(val, _values, result) ⇒ Object



7557
7558
7559
7560
7561
# File 'lib/parser/ruby18.rb', line 7557

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

    result
end

#_reduce_207(val, _values, result) ⇒ Object



7563
7564
7565
7566
7567
# File 'lib/parser/ruby18.rb', line 7563

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

    result
end

#_reduce_208(val, _values, result) ⇒ Object



7569
7570
7571
7572
7573
# File 'lib/parser/ruby18.rb', line 7569

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

    result
end

#_reduce_209(val, _values, result) ⇒ Object



7575
7576
7577
7578
7579
# File 'lib/parser/ruby18.rb', line 7575

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

    result
end

#_reduce_21(val, _values, result) ⇒ Object



6696
6697
6698
6699
6700
# File 'lib/parser/ruby18.rb', line 6696

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

    result
end

#_reduce_210(val, _values, result) ⇒ Object



7581
7582
7583
7584
7585
# File 'lib/parser/ruby18.rb', line 7581

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



7587
7588
7589
7590
7591
# File 'lib/parser/ruby18.rb', line 7587

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



7593
7594
7595
7596
7597
# File 'lib/parser/ruby18.rb', line 7593

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



7599
7600
7601
7602
7603
7604
# File 'lib/parser/ruby18.rb', line 7599

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



7610
7611
7612
7613
7614
# File 'lib/parser/ruby18.rb', line 7610

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

    result
end

#_reduce_217(val, _values, result) ⇒ Object



7616
7617
7618
7619
7620
# File 'lib/parser/ruby18.rb', line 7616

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

    result
end

#_reduce_218(val, _values, result) ⇒ Object



7622
7623
7624
7625
7626
# File 'lib/parser/ruby18.rb', line 7622

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

    result
end

#_reduce_219(val, _values, result) ⇒ Object



7628
7629
7630
7631
7632
# File 'lib/parser/ruby18.rb', line 7628

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

    result
end

#_reduce_22(val, _values, result) ⇒ Object



6702
6703
6704
6705
6706
# File 'lib/parser/ruby18.rb', line 6702

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

    result
end

#_reduce_220(val, _values, result) ⇒ Object



7634
7635
7636
7637
7638
# File 'lib/parser/ruby18.rb', line 7634

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

    result
end

#_reduce_221(val, _values, result) ⇒ Object



7640
7641
7642
7643
7644
# File 'lib/parser/ruby18.rb', line 7640

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

    result
end

#_reduce_222(val, _values, result) ⇒ Object



7646
7647
7648
7649
7650
# File 'lib/parser/ruby18.rb', line 7646

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

    result
end

#_reduce_223(val, _values, result) ⇒ Object



7652
7653
7654
7655
7656
# File 'lib/parser/ruby18.rb', line 7652

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

    result
end

#_reduce_224(val, _values, result) ⇒ Object



7658
7659
7660
7661
7662
# File 'lib/parser/ruby18.rb', line 7658

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

    result
end

#_reduce_225(val, _values, result) ⇒ Object



7664
7665
7666
7667
7668
# File 'lib/parser/ruby18.rb', line 7664

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

    result
end

#_reduce_226(val, _values, result) ⇒ Object



7670
7671
7672
7673
7674
# File 'lib/parser/ruby18.rb', line 7670

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

    result
end

#_reduce_228(val, _values, result) ⇒ Object

reduce 227 omitted



7678
7679
7680
7681
7682
# File 'lib/parser/ruby18.rb', line 7678

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

    result
end

#_reduce_229(val, _values, result) ⇒ Object



7684
7685
7686
7687
7688
# File 'lib/parser/ruby18.rb', line 7684

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

    result
end

#_reduce_23(val, _values, result) ⇒ Object



6708
6709
6710
6711
6712
# File 'lib/parser/ruby18.rb', line 6708

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

    result
end

#_reduce_230(val, _values, result) ⇒ Object



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

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



7698
7699
7700
7701
7702
7703
# File 'lib/parser/ruby18.rb', line 7698

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

    result
end

#_reduce_232(val, _values, result) ⇒ Object



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

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



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

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



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

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



7730
7731
7732
7733
7734
7735
# File 'lib/parser/ruby18.rb', line 7730

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

    result
end

#_reduce_236(val, _values, result) ⇒ Object



7737
7738
7739
7740
7741
# File 'lib/parser/ruby18.rb', line 7737

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

    result
end

#_reduce_237(val, _values, result) ⇒ Object



7743
7744
7745
7746
7747
# File 'lib/parser/ruby18.rb', line 7743

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

    result
end

#_reduce_238(val, _values, result) ⇒ Object



7749
7750
7751
7752
7753
# File 'lib/parser/ruby18.rb', line 7749

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

    result
end

#_reduce_239(val, _values, result) ⇒ Object



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

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



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

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



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

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



7772
7773
7774
7775
7776
7777
# File 'lib/parser/ruby18.rb', line 7772

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

    result
end

#_reduce_242(val, _values, result) ⇒ Object



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

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



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

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



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

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



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

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



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

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



7823
7824
7825
7826
7827
7828
# File 'lib/parser/ruby18.rb', line 7823

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

    result
end

#_reduce_248(val, _values, result) ⇒ Object



7830
7831
7832
7833
7834
# File 'lib/parser/ruby18.rb', line 7830

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

    result
end

#_reduce_249(val, _values, result) ⇒ Object



7836
7837
7838
7839
7840
7841
# File 'lib/parser/ruby18.rb', line 7836

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

    result
end

#_reduce_25(val, _values, result) ⇒ Object



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

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



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

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

                      result = val[1]

    result
end

#_reduce_251(val, _values, result) ⇒ Object



7851
7852
7853
7854
7855
# File 'lib/parser/ruby18.rb', line 7851

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

    result
end

#_reduce_252(val, _values, result) ⇒ Object



7857
7858
7859
7860
7861
# File 'lib/parser/ruby18.rb', line 7857

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

    result
end

#_reduce_253(val, _values, result) ⇒ Object



7863
7864
7865
7866
7867
# File 'lib/parser/ruby18.rb', line 7863

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

    result
end

#_reduce_254(val, _values, result) ⇒ Object



7869
7870
7871
7872
7873
# File 'lib/parser/ruby18.rb', line 7869

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

    result
end

#_reduce_255(val, _values, result) ⇒ Object



7875
7876
7877
7878
7879
# File 'lib/parser/ruby18.rb', line 7875

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

    result
end

#_reduce_256(val, _values, result) ⇒ Object



7881
7882
7883
7884
7885
# File 'lib/parser/ruby18.rb', line 7881

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

    result
end

#_reduce_257(val, _values, result) ⇒ Object



7887
7888
7889
7890
7891
# File 'lib/parser/ruby18.rb', line 7887

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

    result
end

#_reduce_258(val, _values, result) ⇒ Object



7893
7894
7895
7896
7897
# File 'lib/parser/ruby18.rb', line 7893

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

    result
end

#_reduce_259(val, _values, result) ⇒ Object



7899
7900
7901
7902
7903
# File 'lib/parser/ruby18.rb', line 7899

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

    result
end

#_reduce_26(val, _values, result) ⇒ Object



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

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



7905
7906
7907
7908
7909
# File 'lib/parser/ruby18.rb', line 7905

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

    result
end

#_reduce_261(val, _values, result) ⇒ Object



7911
7912
7913
7914
7915
# File 'lib/parser/ruby18.rb', line 7911

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

    result
end

#_reduce_262(val, _values, result) ⇒ Object



7917
7918
7919
7920
7921
# File 'lib/parser/ruby18.rb', line 7917

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

    result
end

#_reduce_263(val, _values, result) ⇒ Object



7923
7924
7925
7926
7927
# File 'lib/parser/ruby18.rb', line 7923

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

    result
end

#_reduce_27(val, _values, result) ⇒ Object



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

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



7945
7946
7947
7948
7949
# File 'lib/parser/ruby18.rb', line 7945

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

    result
end

#_reduce_273(val, _values, result) ⇒ Object



7951
7952
7953
7954
7955
# File 'lib/parser/ruby18.rb', line 7951

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

    result
end

#_reduce_274(val, _values, result) ⇒ Object



7957
7958
7959
7960
7961
# File 'lib/parser/ruby18.rb', line 7957

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

    result
end

#_reduce_275(val, _values, result) ⇒ Object



7963
7964
7965
7966
7967
# File 'lib/parser/ruby18.rb', line 7963

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

    result
end

#_reduce_276(val, _values, result) ⇒ Object



7969
7970
7971
7972
7973
# File 'lib/parser/ruby18.rb', line 7969

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

    result
end

#_reduce_277(val, _values, result) ⇒ Object



7975
7976
7977
7978
7979
# File 'lib/parser/ruby18.rb', line 7975

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

    result
end

#_reduce_278(val, _values, result) ⇒ Object



7981
7982
7983
7984
7985
# File 'lib/parser/ruby18.rb', line 7981

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

    result
end

#_reduce_279(val, _values, result) ⇒ Object



7987
7988
7989
7990
7991
# File 'lib/parser/ruby18.rb', line 7987

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



6750
6751
6752
6753
6754
# File 'lib/parser/ruby18.rb', line 6750

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

    result
end

#_reduce_280(val, _values, result) ⇒ Object



7993
7994
7995
7996
7997
# File 'lib/parser/ruby18.rb', line 7993

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

    result
end

#_reduce_281(val, _values, result) ⇒ Object



7999
8000
8001
8002
8003
# File 'lib/parser/ruby18.rb', line 7999

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

    result
end

#_reduce_282(val, _values, result) ⇒ Object



8005
8006
8007
8008
8009
# File 'lib/parser/ruby18.rb', line 8005

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

    result
end

#_reduce_283(val, _values, result) ⇒ Object



8011
8012
8013
8014
8015
# File 'lib/parser/ruby18.rb', line 8011

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



8017
8018
8019
8020
8021
# File 'lib/parser/ruby18.rb', line 8017

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



8023
8024
8025
8026
8027
# File 'lib/parser/ruby18.rb', line 8023

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

    result
end

#_reduce_286(val, _values, result) ⇒ Object



8029
8030
8031
8032
8033
8034
# File 'lib/parser/ruby18.rb', line 8029

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



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

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



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

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



6756
6757
6758
6759
6760
6761
# File 'lib/parser/ruby18.rb', line 6756

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



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

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



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

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



8074
8075
8076
8077
8078
# File 'lib/parser/ruby18.rb', line 8074

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

    result
end

#_reduce_293(val, _values, result) ⇒ Object



8080
8081
8082
8083
8084
# File 'lib/parser/ruby18.rb', line 8080

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

    result
end

#_reduce_294(val, _values, result) ⇒ Object



8086
8087
8088
8089
8090
8091
# File 'lib/parser/ruby18.rb', line 8086

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



8093
8094
8095
8096
8097
# File 'lib/parser/ruby18.rb', line 8093

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

    result
end

#_reduce_296(val, _values, result) ⇒ Object



8099
8100
8101
8102
8103
# File 'lib/parser/ruby18.rb', line 8099

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

    result
end

#_reduce_297(val, _values, result) ⇒ Object



8105
8106
8107
8108
8109
8110
# File 'lib/parser/ruby18.rb', line 8105

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



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

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



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

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



6574
6575
6576
6577
6578
# File 'lib/parser/ruby18.rb', line 6574

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

    result
end

#_reduce_30(val, _values, result) ⇒ Object



6763
6764
6765
6766
6767
# File 'lib/parser/ruby18.rb', line 6763

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

    result
end

#_reduce_300(val, _values, result) ⇒ Object



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

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



8142
8143
8144
8145
8146
# File 'lib/parser/ruby18.rb', line 8142

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

    result
end

#_reduce_302(val, _values, result) ⇒ Object



8148
8149
8150
8151
8152
# File 'lib/parser/ruby18.rb', line 8148

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

    result
end

#_reduce_303(val, _values, result) ⇒ Object



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

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



8162
8163
8164
8165
8166
8167
# File 'lib/parser/ruby18.rb', line 8162

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

    result
end

#_reduce_305(val, _values, result) ⇒ Object



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

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



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

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

    result
end

#_reduce_307(val, _values, result) ⇒ Object



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

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



8206
8207
8208
8209
8210
8211
# File 'lib/parser/ruby18.rb', line 8206

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

    result
end

#_reduce_309(val, _values, result) ⇒ Object



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

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



6769
6770
6771
6772
6773
6774
# File 'lib/parser/ruby18.rb', line 6769

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



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

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

    result
end

#_reduce_311(val, _values, result) ⇒ Object



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

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



8246
8247
8248
8249
8250
# File 'lib/parser/ruby18.rb', line 8246

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

    result
end

#_reduce_313(val, _values, result) ⇒ Object



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

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

    result
end

#_reduce_314(val, _values, result) ⇒ Object



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

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



8270
8271
8272
8273
8274
# File 'lib/parser/ruby18.rb', line 8270

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

    result
end

#_reduce_316(val, _values, result) ⇒ Object



8276
8277
8278
8279
8280
# File 'lib/parser/ruby18.rb', line 8276

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

    result
end

#_reduce_317(val, _values, result) ⇒ Object



8282
8283
8284
8285
8286
# File 'lib/parser/ruby18.rb', line 8282

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

    result
end

#_reduce_318(val, _values, result) ⇒ Object



8288
8289
8290
8291
8292
# File 'lib/parser/ruby18.rb', line 8288

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

    result
end

#_reduce_320(val, _values, result) ⇒ Object

reduce 319 omitted



8296
8297
8298
8299
8300
# File 'lib/parser/ruby18.rb', line 8296

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

    result
end

#_reduce_321(val, _values, result) ⇒ Object



8302
8303
8304
8305
8306
# File 'lib/parser/ruby18.rb', line 8302

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

    result
end

#_reduce_325(val, _values, result) ⇒ Object

reduce 324 omitted



8314
8315
8316
8317
8318
# File 'lib/parser/ruby18.rb', line 8314

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

    result
end

#_reduce_330(val, _values, result) ⇒ Object

reduce 329 omitted



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

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



8341
8342
8343
8344
8345
# File 'lib/parser/ruby18.rb', line 8341

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

    result
end

#_reduce_335(val, _values, result) ⇒ Object

reduce 334 omitted



8351
8352
8353
8354
8355
# File 'lib/parser/ruby18.rb', line 8351

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

    result
end

#_reduce_336(val, _values, result) ⇒ Object



8357
8358
8359
8360
8361
# File 'lib/parser/ruby18.rb', line 8357

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



8367
8368
8369
8370
8371
8372
# File 'lib/parser/ruby18.rb', line 8367

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



6780
6781
6782
6783
6784
# File 'lib/parser/ruby18.rb', line 6780

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



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

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



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

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



8390
8391
8392
8393
8394
8395
# File 'lib/parser/ruby18.rb', line 8390

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



8397
8398
8399
8400
8401
8402
# File 'lib/parser/ruby18.rb', line 8397

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

    result
end

#_reduce_344(val, _values, result) ⇒ Object



8404
8405
8406
8407
8408
8409
# File 'lib/parser/ruby18.rb', line 8404

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



8411
8412
8413
8414
8415
8416
# File 'lib/parser/ruby18.rb', line 8411

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



8418
8419
8420
8421
8422
# File 'lib/parser/ruby18.rb', line 8418

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

    result
end

#_reduce_347(val, _values, result) ⇒ Object



8424
8425
8426
8427
8428
# File 'lib/parser/ruby18.rb', line 8424

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

    result
end

#_reduce_348(val, _values, result) ⇒ Object



8430
8431
8432
8433
8434
# File 'lib/parser/ruby18.rb', line 8430

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

    result
end

#_reduce_349(val, _values, result) ⇒ Object



8436
8437
8438
8439
8440
# File 'lib/parser/ruby18.rb', line 8436

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

    result
end

#_reduce_35(val, _values, result) ⇒ Object



6786
6787
6788
6789
6790
# File 'lib/parser/ruby18.rb', line 6786

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



8442
8443
8444
8445
8446
# File 'lib/parser/ruby18.rb', line 8442

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

    result
end

#_reduce_351(val, _values, result) ⇒ Object



8448
8449
8450
8451
8452
# File 'lib/parser/ruby18.rb', line 8448

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

    result
end

#_reduce_352(val, _values, result) ⇒ Object



8454
8455
8456
8457
8458
# File 'lib/parser/ruby18.rb', line 8454

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

    result
end

#_reduce_353(val, _values, result) ⇒ Object



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

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



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

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



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

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



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

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



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

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



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

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



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

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



6792
6793
6794
6795
6796
# File 'lib/parser/ruby18.rb', line 6792

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

    result
end

#_reduce_360(val, _values, result) ⇒ Object



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

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



8525
8526
8527
8528
8529
# File 'lib/parser/ruby18.rb', line 8525

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

    result
end

#_reduce_362(val, _values, result) ⇒ Object



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

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



8539
8540
8541
8542
8543
# File 'lib/parser/ruby18.rb', line 8539

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

    result
end

#_reduce_364(val, _values, result) ⇒ Object



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

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



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

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



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

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



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

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



8579
8580
8581
8582
8583
8584
# File 'lib/parser/ruby18.rb', line 8579

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



6798
6799
6800
6801
6802
# File 'lib/parser/ruby18.rb', line 6798

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



8588
8589
8590
8591
8592
# File 'lib/parser/ruby18.rb', line 8588

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

    result
end

#_reduce_371(val, _values, result) ⇒ Object



8594
8595
8596
8597
8598
# File 'lib/parser/ruby18.rb', line 8594

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

    result
end

#_reduce_372(val, _values, result) ⇒ Object



8600
8601
8602
8603
8604
# File 'lib/parser/ruby18.rb', line 8600

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

    result
end

#_reduce_374(val, _values, result) ⇒ Object

reduce 373 omitted



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

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



8623
8624
8625
8626
8627
# File 'lib/parser/ruby18.rb', line 8623

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

    result
end

#_reduce_376(val, _values, result) ⇒ Object



8629
8630
8631
8632
8633
# File 'lib/parser/ruby18.rb', line 8629

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

    result
end

#_reduce_379(val, _values, result) ⇒ Object

reduce 378 omitted



8639
8640
8641
8642
8643
# File 'lib/parser/ruby18.rb', line 8639

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

    result
end

#_reduce_381(val, _values, result) ⇒ Object

reduce 380 omitted



8647
8648
8649
8650
8651
# File 'lib/parser/ruby18.rb', line 8647

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

    result
end

#_reduce_386(val, _values, result) ⇒ Object

reduce 385 omitted



8661
8662
8663
8664
8665
# File 'lib/parser/ruby18.rb', line 8661

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

    result
end

#_reduce_387(val, _values, result) ⇒ Object



8667
8668
8669
8670
8671
# File 'lib/parser/ruby18.rb', line 8667

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

    result
end

#_reduce_388(val, _values, result) ⇒ Object



8673
8674
8675
8676
8677
# File 'lib/parser/ruby18.rb', line 8673

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

    result
end

#_reduce_389(val, _values, result) ⇒ Object



8679
8680
8681
8682
8683
# File 'lib/parser/ruby18.rb', line 8679

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

    result
end

#_reduce_390(val, _values, result) ⇒ Object



8685
8686
8687
8688
8689
# File 'lib/parser/ruby18.rb', line 8685

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

    result
end

#_reduce_391(val, _values, result) ⇒ Object



8691
8692
8693
8694
8695
# File 'lib/parser/ruby18.rb', line 8691

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

    result
end

#_reduce_392(val, _values, result) ⇒ Object



8697
8698
8699
8700
8701
8702
# File 'lib/parser/ruby18.rb', line 8697

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



8704
8705
8706
8707
8708
# File 'lib/parser/ruby18.rb', line 8704

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

    result
end

#_reduce_394(val, _values, result) ⇒ Object



8710
8711
8712
8713
8714
# File 'lib/parser/ruby18.rb', line 8710

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

    result
end

#_reduce_395(val, _values, result) ⇒ Object



8716
8717
8718
8719
8720
# File 'lib/parser/ruby18.rb', line 8716

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

    result
end

#_reduce_396(val, _values, result) ⇒ Object



8722
8723
8724
8725
8726
# File 'lib/parser/ruby18.rb', line 8722

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

    result
end

#_reduce_397(val, _values, result) ⇒ Object



8728
8729
8730
8731
8732
# File 'lib/parser/ruby18.rb', line 8728

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

    result
end

#_reduce_398(val, _values, result) ⇒ Object



8734
8735
8736
8737
8738
# File 'lib/parser/ruby18.rb', line 8734

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

    result
end

#_reduce_399(val, _values, result) ⇒ Object



8740
8741
8742
8743
8744
# File 'lib/parser/ruby18.rb', line 8740

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

    result
end

#_reduce_4(val, _values, result) ⇒ Object



6580
6581
6582
6583
6584
# File 'lib/parser/ruby18.rb', line 6580

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

    result
end

#_reduce_400(val, _values, result) ⇒ Object



8746
8747
8748
8749
8750
# File 'lib/parser/ruby18.rb', line 8746

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

    result
end

#_reduce_401(val, _values, result) ⇒ Object



8752
8753
8754
8755
8756
# File 'lib/parser/ruby18.rb', line 8752

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

    result
end

#_reduce_402(val, _values, result) ⇒ Object



8758
8759
8760
8761
8762
# File 'lib/parser/ruby18.rb', line 8758

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

    result
end

#_reduce_403(val, _values, result) ⇒ Object



8764
8765
8766
8767
8768
# File 'lib/parser/ruby18.rb', line 8764

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

    result
end

#_reduce_404(val, _values, result) ⇒ Object



8770
8771
8772
8773
8774
# File 'lib/parser/ruby18.rb', line 8770

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

    result
end

#_reduce_405(val, _values, result) ⇒ Object



8776
8777
8778
8779
8780
# File 'lib/parser/ruby18.rb', line 8776

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

    result
end

#_reduce_406(val, _values, result) ⇒ Object



8782
8783
8784
8785
8786
# File 'lib/parser/ruby18.rb', line 8782

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

    result
end

#_reduce_407(val, _values, result) ⇒ Object



8788
8789
8790
8791
8792
8793
# File 'lib/parser/ruby18.rb', line 8788

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

    result
end

#_reduce_408(val, _values, result) ⇒ Object



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

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



8804
8805
8806
8807
8808
# File 'lib/parser/ruby18.rb', line 8804

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

    result
end

#_reduce_410(val, _values, result) ⇒ Object



8810
8811
8812
8813
8814
# File 'lib/parser/ruby18.rb', line 8810

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

    result
end

#_reduce_411(val, _values, result) ⇒ Object



8816
8817
8818
8819
8820
# File 'lib/parser/ruby18.rb', line 8816

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

    result
end

#_reduce_413(val, _values, result) ⇒ Object

reduce 412 omitted



8824
8825
8826
8827
8828
# File 'lib/parser/ruby18.rb', line 8824

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

    result
end

#_reduce_414(val, _values, result) ⇒ Object



8830
8831
8832
8833
8834
# File 'lib/parser/ruby18.rb', line 8830

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

    result
end

#_reduce_415(val, _values, result) ⇒ Object



8836
8837
8838
8839
8840
# File 'lib/parser/ruby18.rb', line 8836

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

    result
end

#_reduce_416(val, _values, result) ⇒ Object



8842
8843
8844
8845
8846
# File 'lib/parser/ruby18.rb', line 8842

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

    result
end

#_reduce_417(val, _values, result) ⇒ Object



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

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



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

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



8872
8873
8874
8875
8876
# File 'lib/parser/ruby18.rb', line 8872

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

    result
end

#_reduce_42(val, _values, result) ⇒ Object

reduce 41 omitted



6812
6813
6814
6815
6816
6817
# File 'lib/parser/ruby18.rb', line 6812

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



8878
8879
8880
8881
8882
# File 'lib/parser/ruby18.rb', line 8878

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

    result
end

#_reduce_421(val, _values, result) ⇒ Object



8884
8885
8886
8887
8888
# File 'lib/parser/ruby18.rb', line 8884

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

    result
end

#_reduce_422(val, _values, result) ⇒ Object



8890
8891
8892
8893
8894
# File 'lib/parser/ruby18.rb', line 8890

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

    result
end

#_reduce_423(val, _values, result) ⇒ Object



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

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

    result
end

#_reduce_424(val, _values, result) ⇒ Object



8902
8903
8904
8905
8906
# File 'lib/parser/ruby18.rb', line 8902

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

    result
end

#_reduce_425(val, _values, result) ⇒ Object



8908
8909
8910
8911
8912
# File 'lib/parser/ruby18.rb', line 8908

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

    result
end

#_reduce_426(val, _values, result) ⇒ Object



8914
8915
8916
8917
8918
# File 'lib/parser/ruby18.rb', line 8914

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

    result
end

#_reduce_427(val, _values, result) ⇒ Object



8920
8921
8922
8923
8924
# File 'lib/parser/ruby18.rb', line 8920

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

    result
end

#_reduce_428(val, _values, result) ⇒ Object



8926
8927
8928
8929
8930
# File 'lib/parser/ruby18.rb', line 8926

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

    result
end

#_reduce_429(val, _values, result) ⇒ Object



8932
8933
8934
8935
8936
# File 'lib/parser/ruby18.rb', line 8932

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

    result
end

#_reduce_43(val, _values, result) ⇒ Object



6819
6820
6821
6822
6823
6824
# File 'lib/parser/ruby18.rb', line 6819

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



8938
8939
8940
8941
8942
# File 'lib/parser/ruby18.rb', line 8938

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

    result
end

#_reduce_431(val, _values, result) ⇒ Object



8944
8945
8946
8947
8948
# File 'lib/parser/ruby18.rb', line 8944

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

    result
end

#_reduce_432(val, _values, result) ⇒ Object



8950
8951
8952
8953
8954
# File 'lib/parser/ruby18.rb', line 8950

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

    result
end

#_reduce_433(val, _values, result) ⇒ Object



8956
8957
8958
8959
8960
# File 'lib/parser/ruby18.rb', line 8956

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

    result
end

#_reduce_434(val, _values, result) ⇒ Object



8962
8963
8964
8965
8966
# File 'lib/parser/ruby18.rb', line 8962

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

    result
end

#_reduce_435(val, _values, result) ⇒ Object



8968
8969
8970
8971
8972
# File 'lib/parser/ruby18.rb', line 8968

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

    result
end

#_reduce_436(val, _values, result) ⇒ Object



8974
8975
8976
8977
8978
8979
# File 'lib/parser/ruby18.rb', line 8974

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

    result
end

#_reduce_437(val, _values, result) ⇒ Object



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

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



8989
8990
8991
8992
8993
# File 'lib/parser/ruby18.rb', line 8989

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

    result
end

#_reduce_439(val, _values, result) ⇒ Object



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

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



6826
6827
6828
6829
6830
6831
# File 'lib/parser/ruby18.rb', line 6826

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



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

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

    result
end

#_reduce_441(val, _values, result) ⇒ Object



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

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

    result
end

#_reduce_442(val, _values, result) ⇒ Object



9020
9021
9022
9023
9024
9025
# File 'lib/parser/ruby18.rb', line 9020

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

    result
end

#_reduce_443(val, _values, result) ⇒ Object



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

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

    result
end

#_reduce_444(val, _values, result) ⇒ Object



9035
9036
9037
9038
9039
9040
# File 'lib/parser/ruby18.rb', line 9035

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

    result
end

#_reduce_445(val, _values, result) ⇒ Object



9042
9043
9044
9045
9046
9047
# File 'lib/parser/ruby18.rb', line 9042

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

    result
end

#_reduce_446(val, _values, result) ⇒ Object



9049
9050
9051
9052
9053
# File 'lib/parser/ruby18.rb', line 9049

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

    result
end

#_reduce_447(val, _values, result) ⇒ Object



9055
9056
9057
9058
9059
# File 'lib/parser/ruby18.rb', line 9055

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

    result
end

#_reduce_448(val, _values, result) ⇒ Object



9061
9062
9063
9064
9065
# File 'lib/parser/ruby18.rb', line 9061

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

    result
end

#_reduce_449(val, _values, result) ⇒ Object



9067
9068
9069
9070
9071
# File 'lib/parser/ruby18.rb', line 9067

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

    result
end

#_reduce_450(val, _values, result) ⇒ Object



9073
9074
9075
9076
9077
# File 'lib/parser/ruby18.rb', line 9073

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

    result
end

#_reduce_451(val, _values, result) ⇒ Object



9079
9080
9081
9082
9083
# File 'lib/parser/ruby18.rb', line 9079

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

    result
end

#_reduce_452(val, _values, result) ⇒ Object



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

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



9093
9094
9095
9096
9097
# File 'lib/parser/ruby18.rb', line 9093

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

    result
end

#_reduce_454(val, _values, result) ⇒ Object



9099
9100
9101
9102
9103
# File 'lib/parser/ruby18.rb', line 9099

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

    result
end

#_reduce_455(val, _values, result) ⇒ Object



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

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



9113
9114
9115
9116
9117
# File 'lib/parser/ruby18.rb', line 9113

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

    result
end

#_reduce_457(val, _values, result) ⇒ Object



9119
9120
9121
9122
9123
# File 'lib/parser/ruby18.rb', line 9119

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

    result
end

#_reduce_46(val, _values, result) ⇒ Object

reduce 45 omitted



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

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



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

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



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

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

    result
end

#_reduce_464(val, _values, result) ⇒ Object

reduce 463 omitted



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

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



9155
9156
9157
9158
9159
# File 'lib/parser/ruby18.rb', line 9155

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

    result
end

#_reduce_466(val, _values, result) ⇒ Object



9161
9162
9163
9164
9165
# File 'lib/parser/ruby18.rb', line 9161

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

    result
end

#_reduce_468(val, _values, result) ⇒ Object

reduce 467 omitted



9169
9170
9171
9172
9173
# File 'lib/parser/ruby18.rb', line 9169

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

    result
end

#_reduce_469(val, _values, result) ⇒ Object



9175
9176
9177
9178
9179
# File 'lib/parser/ruby18.rb', line 9175

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

    result
end

#_reduce_47(val, _values, result) ⇒ Object



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

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



9181
9182
9183
9184
9185
# File 'lib/parser/ruby18.rb', line 9181

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

    result
end

#_reduce_471(val, _values, result) ⇒ Object



9187
9188
9189
9190
9191
# File 'lib/parser/ruby18.rb', line 9187

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

    result
end

#_reduce_472(val, _values, result) ⇒ Object



9193
9194
9195
9196
9197
# File 'lib/parser/ruby18.rb', line 9193

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

    result
end

#_reduce_473(val, _values, result) ⇒ Object



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

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

    result
end

#_reduce_474(val, _values, result) ⇒ Object



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

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

    result
end

#_reduce_48(val, _values, result) ⇒ Object



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

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



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

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



9249
9250
9251
9252
9253
# File 'lib/parser/ruby18.rb', line 9249

def _reduce_494(val, _values, result)
                      yyerrok

    result
end

#_reduce_498(val, _values, result) ⇒ Object

reduce 497 omitted



9261
9262
9263
9264
9265
# File 'lib/parser/ruby18.rb', line 9261

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

    result
end

#_reduce_5(val, _values, result) ⇒ Object



6586
6587
6588
6589
6590
# File 'lib/parser/ruby18.rb', line 6586

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

    result
end

#_reduce_50(val, _values, result) ⇒ Object



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



6945
6946
6947
6948
6949
# File 'lib/parser/ruby18.rb', line 6945

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

    result
end

#_reduce_59(val, _values, result) ⇒ Object



6951
6952
6953
6954
6955
# File 'lib/parser/ruby18.rb', line 6951

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

    result
end

#_reduce_6(val, _values, result) ⇒ Object



6592
6593
6594
6595
6596
# File 'lib/parser/ruby18.rb', line 6592

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

    result
end

#_reduce_60(val, _values, result) ⇒ Object



6957
6958
6959
6960
6961
# File 'lib/parser/ruby18.rb', line 6957

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

    result
end

#_reduce_61(val, _values, result) ⇒ Object



6963
6964
6965
6966
6967
# File 'lib/parser/ruby18.rb', line 6963

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

    result
end

#_reduce_62(val, _values, result) ⇒ Object



6969
6970
6971
6972
6973
# File 'lib/parser/ruby18.rb', line 6969

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

    result
end

#_reduce_63(val, _values, result) ⇒ Object



6975
6976
6977
6978
6979
# File 'lib/parser/ruby18.rb', line 6975

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

    result
end

#_reduce_64(val, _values, result) ⇒ Object



6981
6982
6983
6984
6985
# File 'lib/parser/ruby18.rb', line 6981

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

    result
end

#_reduce_65(val, _values, result) ⇒ Object



6987
6988
6989
6990
6991
# File 'lib/parser/ruby18.rb', line 6987

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

    result
end

#_reduce_66(val, _values, result) ⇒ Object



6993
6994
6995
6996
6997
# File 'lib/parser/ruby18.rb', line 6993

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

    result
end

#_reduce_67(val, _values, result) ⇒ Object



6999
7000
7001
7002
7003
# File 'lib/parser/ruby18.rb', line 6999

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

    result
end

#_reduce_69(val, _values, result) ⇒ Object

reduce 68 omitted



7007
7008
7009
7010
7011
# File 'lib/parser/ruby18.rb', line 7007

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

    result
end

#_reduce_7(val, _values, result) ⇒ Object



6598
6599
6600
6601
6602
# File 'lib/parser/ruby18.rb', line 6598

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

    result
end

#_reduce_70(val, _values, result) ⇒ Object



7013
7014
7015
7016
7017
# File 'lib/parser/ruby18.rb', line 7013

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

    result
end

#_reduce_71(val, _values, result) ⇒ Object



7019
7020
7021
7022
7023
# File 'lib/parser/ruby18.rb', line 7019

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

    result
end

#_reduce_72(val, _values, result) ⇒ Object



7025
7026
7027
7028
7029
# File 'lib/parser/ruby18.rb', line 7025

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

    result
end

#_reduce_73(val, _values, result) ⇒ Object



7031
7032
7033
7034
7035
# File 'lib/parser/ruby18.rb', line 7031

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



7037
7038
7039
7040
7041
# File 'lib/parser/ruby18.rb', line 7037

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

    result
end

#_reduce_75(val, _values, result) ⇒ Object



7043
7044
7045
7046
7047
# File 'lib/parser/ruby18.rb', line 7043

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

    result
end

#_reduce_76(val, _values, result) ⇒ Object



7049
7050
7051
7052
7053
# File 'lib/parser/ruby18.rb', line 7049

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

    result
end

#_reduce_77(val, _values, result) ⇒ Object



7055
7056
7057
7058
7059
7060
# File 'lib/parser/ruby18.rb', line 7055

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



7062
7063
7064
7065
7066
7067
# File 'lib/parser/ruby18.rb', line 7062

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

    result
end

#_reduce_79(val, _values, result) ⇒ Object



7069
7070
7071
7072
7073
# File 'lib/parser/ruby18.rb', line 7069

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

    result
end

#_reduce_8(val, _values, result) ⇒ Object



6604
6605
6606
6607
6608
# File 'lib/parser/ruby18.rb', line 6604

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

    result
end

#_reduce_80(val, _values, result) ⇒ Object



7075
7076
7077
7078
7079
# File 'lib/parser/ruby18.rb', line 7075

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

    result
end

#_reduce_81(val, _values, result) ⇒ Object



7081
7082
7083
7084
7085
# File 'lib/parser/ruby18.rb', line 7081

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



7087
7088
7089
7090
7091
# File 'lib/parser/ruby18.rb', line 7087

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

    result
end

#_reduce_83(val, _values, result) ⇒ Object



7093
7094
7095
7096
7097
# File 'lib/parser/ruby18.rb', line 7093

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

    result
end

#_reduce_84(val, _values, result) ⇒ Object



7099
7100
7101
7102
7103
# File 'lib/parser/ruby18.rb', line 7099

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

    result
end

#_reduce_85(val, _values, result) ⇒ Object



7105
7106
7107
7108
7109
7110
# File 'lib/parser/ruby18.rb', line 7105

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



7112
7113
7114
7115
7116
7117
# File 'lib/parser/ruby18.rb', line 7112

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

    result
end

#_reduce_87(val, _values, result) ⇒ Object



7119
7120
7121
7122
7123
# File 'lib/parser/ruby18.rb', line 7119

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

    result
end

#_reduce_88(val, _values, result) ⇒ Object



7125
7126
7127
7128
7129
# File 'lib/parser/ruby18.rb', line 7125

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

    result
end

#_reduce_9(val, _values, result) ⇒ Object



6610
6611
6612
6613
6614
# File 'lib/parser/ruby18.rb', line 6610

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



7133
7134
7135
7136
7137
# File 'lib/parser/ruby18.rb', line 7133

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

    result
end

#_reduce_91(val, _values, result) ⇒ Object



7139
7140
7141
7142
7143
# File 'lib/parser/ruby18.rb', line 7139

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

    result
end

#_reduce_92(val, _values, result) ⇒ Object



7145
7146
7147
7148
7149
# File 'lib/parser/ruby18.rb', line 7145

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



7161
7162
7163
7164
7165
# File 'lib/parser/ruby18.rb', line 7161

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

    result
end

#_reduce_none(val, _values, result) ⇒ Object



9267
9268
9269
# File 'lib/parser/ruby18.rb', line 9267

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