Class: RubyParser
- Inherits:
-
Racc::Parser
- Object
- Racc::Parser
- RubyParser
- Defined in:
- lib/ruby_parser.rb,
lib/ruby_parser_extras.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', 'tREGEXP_END', 'tUPLUS', 'tUMINUS', 'tUMINUS_NUM', 'tPOW', 'tCMP', 'tEQ', 'tEQQ', 'tNEQ', 'tGEQ', 'tLEQ', 'tANDOP', 'tOROP', 'tMATCH', 'tNMATCH', 'tDOT', 'tDOT2', 'tDOT3', 'tAREF', 'tASET', 'tLSHFT', 'tRSHFT', 'tCOLON2', 'tCOLON3', 'tOP_ASGN', 'tASSOC', 'tLPAREN', 'tLPAREN2', 'tRPAREN', 'tLPAREN_ARG', 'tLBRACK', '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', 'tAWORDS_BEG', 'tSTRING_DBEG', 'tSTRING_DVAR', 'tSTRING_END', 'tLAST_TOKEN', '"?"', '":"', '"="', 'tLOWEST', '"["', '","', '" "', '"\n"', '";"', '$start', 'program', 'compstmt', 'bodystmt', '@1', 'opt_rescue', 'opt_else', 'opt_ensure', 'stmts', 'opt_terms', 'none', 'stmt', 'terms', 'fitem', 'undef_list', 'expr_value', 'lhs', 'command_call', 'mlhs', 'var_lhs', 'primary_value', 'aref_args', 'backref', 'mrhs', 'arg_value', 'expr', '@2', '@3', 'arg', 'command', 'block_command', 'call_args', 'block_call', 'operation2', 'command_args', 'cmd_brace_block', 'opt_block_var', '@4', '@5', 'operation', 'mlhs_basic', 'mlhs_entry', 'mlhs_head', 'mlhs_item', 'mlhs_node', 'variable', 'cname', 'cpath', 'fname', 'op', 'reswords', 'symbol', '@6', 'opt_nl', 'primary', 'args', 'trailer', 'assocs', 'paren_args', 'opt_paren_args', 'opt_block_arg', 'block_arg', 'call_args2', 'open_args', '@7', '@8', '@9', 'none_block_pass', 'literal', 'strings', 'xstring', 'regexp', 'words', 'awords', 'var_ref', 'assoc_list', 'brace_block', 'method_call', 'then', 'if_tail', 'do', 'case_body', 'block_var', 'superclass', 'term', 'f_arglist', 'singleton', 'dot_or_colon', '@10', '@11', '@12', '@13', '@14', '@15', '@16', '@17', '@18', '@19', '@20', '@21', '@22', '@23', 'do_block', '@24', '@25', 'operation3', '@26', '@27', '@28', '@29', 'when_args', 'cases', 'exc_list', 'exc_var', 'numeric', 'dsym', 'string', 'string1', 'string_contents', 'xstring_contents', 'word_list', 'word', 'string_content', 'qword_list', 'string_dvar', '@30', '@31', 'sym', '@32', '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', '@33', 'assoc']
- Racc_debug_parser =
false
- VERSION =
'1.0.1'
Instance Attribute Summary collapse
-
#comments ⇒ Object
readonly
Returns the value of attribute comments.
-
#env ⇒ Object
readonly
Returns the value of attribute env.
-
#file ⇒ Object
Returns the value of attribute file.
-
#in_def ⇒ Object
Returns the value of attribute in_def.
-
#in_single ⇒ Object
Returns the value of attribute in_single.
-
#lexer ⇒ Object
Returns the value of attribute lexer.
Instance Method Summary collapse
-
#_reduce_1(val, _values, result) ⇒ Object
reduce 0 omitted.
- #_reduce_10(val, _values, result) ⇒ Object
- #_reduce_100(val, _values, result) ⇒ Object
- #_reduce_101(val, _values, result) ⇒ Object
- #_reduce_102(val, _values, result) ⇒ Object
- #_reduce_103(val, _values, result) ⇒ Object
- #_reduce_104(val, _values, result) ⇒ Object
- #_reduce_105(val, _values, result) ⇒ Object
- #_reduce_11(val, _values, result) ⇒ Object
- #_reduce_12(val, _values, result) ⇒ Object
- #_reduce_13(val, _values, result) ⇒ Object
- #_reduce_14(val, _values, result) ⇒ Object
- #_reduce_15(val, _values, result) ⇒ Object
- #_reduce_16(val, _values, result) ⇒ Object
- #_reduce_17(val, _values, result) ⇒ Object
-
#_reduce_173(val, _values, result) ⇒ Object
reduce 172 omitted.
- #_reduce_174(val, _values, result) ⇒ Object
- #_reduce_175(val, _values, result) ⇒ Object
- #_reduce_176(val, _values, result) ⇒ Object
- #_reduce_177(val, _values, result) ⇒ Object
- #_reduce_178(val, _values, result) ⇒ Object
- #_reduce_179(val, _values, result) ⇒ Object
- #_reduce_18(val, _values, result) ⇒ Object
- #_reduce_180(val, _values, result) ⇒ Object
- #_reduce_181(val, _values, result) ⇒ Object
- #_reduce_182(val, _values, result) ⇒ Object
- #_reduce_183(val, _values, result) ⇒ Object
- #_reduce_184(val, _values, result) ⇒ Object
- #_reduce_185(val, _values, result) ⇒ Object
- #_reduce_186(val, _values, result) ⇒ Object
- #_reduce_187(val, _values, result) ⇒ Object
- #_reduce_188(val, _values, result) ⇒ Object
- #_reduce_189(val, _values, result) ⇒ Object
- #_reduce_19(val, _values, result) ⇒ Object
- #_reduce_190(val, _values, result) ⇒ Object
- #_reduce_191(val, _values, result) ⇒ Object
- #_reduce_192(val, _values, result) ⇒ Object
- #_reduce_193(val, _values, result) ⇒ Object
- #_reduce_194(val, _values, result) ⇒ Object
- #_reduce_195(val, _values, result) ⇒ Object
- #_reduce_196(val, _values, result) ⇒ Object
- #_reduce_197(val, _values, result) ⇒ Object
- #_reduce_198(val, _values, result) ⇒ Object
- #_reduce_199(val, _values, result) ⇒ Object
- #_reduce_2(val, _values, result) ⇒ Object
- #_reduce_20(val, _values, result) ⇒ Object
- #_reduce_200(val, _values, result) ⇒ Object
- #_reduce_201(val, _values, result) ⇒ Object
- #_reduce_202(val, _values, result) ⇒ Object
- #_reduce_203(val, _values, result) ⇒ Object
- #_reduce_204(val, _values, result) ⇒ Object
- #_reduce_205(val, _values, result) ⇒ Object
- #_reduce_206(val, _values, result) ⇒ Object
- #_reduce_207(val, _values, result) ⇒ Object
- #_reduce_208(val, _values, result) ⇒ Object
- #_reduce_209(val, _values, result) ⇒ Object
- #_reduce_21(val, _values, result) ⇒ Object
- #_reduce_210(val, _values, result) ⇒ Object
- #_reduce_211(val, _values, result) ⇒ Object
- #_reduce_212(val, _values, result) ⇒ Object
- #_reduce_213(val, _values, result) ⇒ Object
- #_reduce_214(val, _values, result) ⇒ Object
- #_reduce_215(val, _values, result) ⇒ Object
-
#_reduce_217(val, _values, result) ⇒ Object
reduce 216 omitted.
-
#_reduce_219(val, _values, result) ⇒ Object
reduce 218 omitted.
- #_reduce_22(val, _values, result) ⇒ Object
- #_reduce_220(val, _values, result) ⇒ Object
- #_reduce_221(val, _values, result) ⇒ Object
- #_reduce_222(val, _values, result) ⇒ Object
- #_reduce_223(val, _values, result) ⇒ Object
- #_reduce_224(val, _values, result) ⇒ Object
- #_reduce_225(val, _values, result) ⇒ Object
- #_reduce_226(val, _values, result) ⇒ Object
- #_reduce_227(val, _values, result) ⇒ Object
- #_reduce_23(val, _values, result) ⇒ Object
-
#_reduce_230(val, _values, result) ⇒ Object
reduce 229 omitted.
- #_reduce_231(val, _values, result) ⇒ Object
- #_reduce_232(val, _values, result) ⇒ Object
- #_reduce_233(val, _values, result) ⇒ Object
- #_reduce_234(val, _values, result) ⇒ Object
- #_reduce_235(val, _values, result) ⇒ Object
- #_reduce_236(val, _values, result) ⇒ Object
- #_reduce_237(val, _values, result) ⇒ Object
-
#_reduce_239(val, _values, result) ⇒ Object
reduce 238 omitted.
- #_reduce_24(val, _values, result) ⇒ Object
- #_reduce_240(val, _values, result) ⇒ Object
- #_reduce_241(val, _values, result) ⇒ Object
- #_reduce_242(val, _values, result) ⇒ Object
- #_reduce_243(val, _values, result) ⇒ Object
- #_reduce_244(val, _values, result) ⇒ Object
- #_reduce_245(val, _values, result) ⇒ Object
- #_reduce_246(val, _values, result) ⇒ Object
- #_reduce_247(val, _values, result) ⇒ Object
- #_reduce_248(val, _values, result) ⇒ Object
- #_reduce_249(val, _values, result) ⇒ Object
- #_reduce_25(val, _values, result) ⇒ Object
-
#_reduce_251(val, _values, result) ⇒ Object
reduce 250 omitted.
- #_reduce_252(val, _values, result) ⇒ Object
-
#_reduce_254(val, _values, result) ⇒ Object
reduce 253 omitted.
- #_reduce_255(val, _values, result) ⇒ Object
- #_reduce_256(val, _values, result) ⇒ Object
- #_reduce_257(val, _values, result) ⇒ Object
- #_reduce_258(val, _values, result) ⇒ Object
- #_reduce_259(val, _values, result) ⇒ Object
- #_reduce_26(val, _values, result) ⇒ Object
-
#_reduce_261(val, _values, result) ⇒ Object
reduce 260 omitted.
- #_reduce_262(val, _values, result) ⇒ Object
- #_reduce_263(val, _values, result) ⇒ Object
- #_reduce_264(val, _values, result) ⇒ Object
- #_reduce_265(val, _values, result) ⇒ Object
- #_reduce_27(val, _values, result) ⇒ Object
-
#_reduce_274(val, _values, result) ⇒ Object
reduce 273 omitted.
- #_reduce_275(val, _values, result) ⇒ Object
- #_reduce_276(val, _values, result) ⇒ Object
- #_reduce_277(val, _values, result) ⇒ Object
- #_reduce_278(val, _values, result) ⇒ Object
- #_reduce_279(val, _values, result) ⇒ Object
- #_reduce_28(val, _values, result) ⇒ Object
- #_reduce_280(val, _values, result) ⇒ Object
- #_reduce_281(val, _values, result) ⇒ Object
- #_reduce_282(val, _values, result) ⇒ Object
- #_reduce_283(val, _values, result) ⇒ Object
- #_reduce_284(val, _values, result) ⇒ Object
- #_reduce_285(val, _values, result) ⇒ Object
- #_reduce_286(val, _values, result) ⇒ Object
- #_reduce_287(val, _values, result) ⇒ Object
- #_reduce_288(val, _values, result) ⇒ Object
- #_reduce_289(val, _values, result) ⇒ Object
- #_reduce_29(val, _values, result) ⇒ Object
-
#_reduce_291(val, _values, result) ⇒ Object
reduce 290 omitted.
- #_reduce_292(val, _values, result) ⇒ Object
- #_reduce_293(val, _values, result) ⇒ Object
- #_reduce_294(val, _values, result) ⇒ Object
- #_reduce_295(val, _values, result) ⇒ Object
- #_reduce_296(val, _values, result) ⇒ Object
- #_reduce_297(val, _values, result) ⇒ Object
- #_reduce_298(val, _values, result) ⇒ Object
- #_reduce_299(val, _values, result) ⇒ Object
- #_reduce_3(val, _values, result) ⇒ Object
- #_reduce_30(val, _values, result) ⇒ Object
- #_reduce_300(val, _values, result) ⇒ Object
- #_reduce_301(val, _values, result) ⇒ Object
- #_reduce_302(val, _values, result) ⇒ Object
- #_reduce_303(val, _values, result) ⇒ Object
- #_reduce_304(val, _values, result) ⇒ Object
- #_reduce_305(val, _values, result) ⇒ Object
- #_reduce_306(val, _values, result) ⇒ Object
- #_reduce_307(val, _values, result) ⇒ Object
- #_reduce_308(val, _values, result) ⇒ Object
- #_reduce_309(val, _values, result) ⇒ Object
- #_reduce_31(val, _values, result) ⇒ Object
- #_reduce_310(val, _values, result) ⇒ Object
- #_reduce_311(val, _values, result) ⇒ Object
- #_reduce_312(val, _values, result) ⇒ Object
- #_reduce_313(val, _values, result) ⇒ Object
- #_reduce_314(val, _values, result) ⇒ Object
- #_reduce_315(val, _values, result) ⇒ Object
- #_reduce_316(val, _values, result) ⇒ Object
- #_reduce_317(val, _values, result) ⇒ Object
- #_reduce_318(val, _values, result) ⇒ Object
- #_reduce_319(val, _values, result) ⇒ Object
- #_reduce_32(val, _values, result) ⇒ Object
- #_reduce_320(val, _values, result) ⇒ Object
- #_reduce_321(val, _values, result) ⇒ Object
- #_reduce_322(val, _values, result) ⇒ Object
- #_reduce_33(val, _values, result) ⇒ Object
-
#_reduce_331(val, _values, result) ⇒ Object
reduce 330 omitted.
-
#_reduce_333(val, _values, result) ⇒ Object
reduce 332 omitted.
-
#_reduce_335(val, _values, result) ⇒ Object
reduce 334 omitted.
-
#_reduce_337(val, _values, result) ⇒ Object
reduce 336 omitted.
- #_reduce_338(val, _values, result) ⇒ Object
- #_reduce_339(val, _values, result) ⇒ Object
- #_reduce_340(val, _values, result) ⇒ Object
- #_reduce_341(val, _values, result) ⇒ Object
- #_reduce_342(val, _values, result) ⇒ Object
- #_reduce_343(val, _values, result) ⇒ Object
- #_reduce_344(val, _values, result) ⇒ Object
- #_reduce_345(val, _values, result) ⇒ Object
- #_reduce_346(val, _values, result) ⇒ Object
- #_reduce_347(val, _values, result) ⇒ Object
- #_reduce_348(val, _values, result) ⇒ Object
- #_reduce_349(val, _values, result) ⇒ Object
- #_reduce_350(val, _values, result) ⇒ Object
- #_reduce_351(val, _values, result) ⇒ Object
- #_reduce_352(val, _values, result) ⇒ Object
- #_reduce_353(val, _values, result) ⇒ Object
- #_reduce_354(val, _values, result) ⇒ Object
- #_reduce_355(val, _values, result) ⇒ Object
- #_reduce_356(val, _values, result) ⇒ Object
- #_reduce_357(val, _values, result) ⇒ Object
- #_reduce_358(val, _values, result) ⇒ Object
-
#_reduce_36(val, _values, result) ⇒ Object
reduce 35 omitted.
-
#_reduce_360(val, _values, result) ⇒ Object
reduce 359 omitted.
- #_reduce_361(val, _values, result) ⇒ Object
-
#_reduce_364(val, _values, result) ⇒ Object
reduce 363 omitted.
- #_reduce_365(val, _values, result) ⇒ Object
- #_reduce_366(val, _values, result) ⇒ Object
-
#_reduce_369(val, _values, result) ⇒ Object
reduce 368 omitted.
- #_reduce_37(val, _values, result) ⇒ Object
-
#_reduce_371(val, _values, result) ⇒ Object
reduce 370 omitted.
-
#_reduce_373(val, _values, result) ⇒ Object
reduce 372 omitted.
- #_reduce_374(val, _values, result) ⇒ Object
-
#_reduce_376(val, _values, result) ⇒ Object
reduce 375 omitted.
-
#_reduce_378(val, _values, result) ⇒ Object
reduce 377 omitted.
- #_reduce_379(val, _values, result) ⇒ Object
- #_reduce_38(val, _values, result) ⇒ Object
- #_reduce_380(val, _values, result) ⇒ Object
- #_reduce_381(val, _values, result) ⇒ Object
- #_reduce_382(val, _values, result) ⇒ Object
- #_reduce_383(val, _values, result) ⇒ Object
- #_reduce_384(val, _values, result) ⇒ Object
- #_reduce_385(val, _values, result) ⇒ Object
-
#_reduce_387(val, _values, result) ⇒ Object
reduce 386 omitted.
- #_reduce_388(val, _values, result) ⇒ Object
- #_reduce_389(val, _values, result) ⇒ Object
- #_reduce_39(val, _values, result) ⇒ Object
- #_reduce_390(val, _values, result) ⇒ Object
- #_reduce_391(val, _values, result) ⇒ Object
- #_reduce_392(val, _values, result) ⇒ Object
- #_reduce_393(val, _values, result) ⇒ Object
- #_reduce_394(val, _values, result) ⇒ Object
- #_reduce_395(val, _values, result) ⇒ Object
-
#_reduce_397(val, _values, result) ⇒ Object
reduce 396 omitted.
- #_reduce_398(val, _values, result) ⇒ Object
- #_reduce_399(val, _values, result) ⇒ Object
- #_reduce_4(val, _values, result) ⇒ Object
- #_reduce_400(val, _values, result) ⇒ Object
- #_reduce_401(val, _values, result) ⇒ Object
- #_reduce_402(val, _values, result) ⇒ Object
- #_reduce_403(val, _values, result) ⇒ Object
-
#_reduce_405(val, _values, result) ⇒ Object
reduce 404 omitted.
-
#_reduce_41(val, _values, result) ⇒ Object
reduce 40 omitted.
-
#_reduce_410(val, _values, result) ⇒ Object
reduce 409 omitted.
-
#_reduce_413(val, _values, result) ⇒ Object
reduce 412 omitted.
- #_reduce_414(val, _values, result) ⇒ Object
-
#_reduce_420(val, _values, result) ⇒ Object
reduce 419 omitted.
- #_reduce_421(val, _values, result) ⇒ Object
- #_reduce_422(val, _values, result) ⇒ Object
- #_reduce_423(val, _values, result) ⇒ Object
- #_reduce_424(val, _values, result) ⇒ Object
- #_reduce_425(val, _values, result) ⇒ Object
- #_reduce_426(val, _values, result) ⇒ Object
- #_reduce_427(val, _values, result) ⇒ Object
-
#_reduce_430(val, _values, result) ⇒ Object
reduce 429 omitted.
- #_reduce_431(val, _values, result) ⇒ Object
- #_reduce_432(val, _values, result) ⇒ Object
- #_reduce_433(val, _values, result) ⇒ Object
- #_reduce_434(val, _values, result) ⇒ Object
- #_reduce_435(val, _values, result) ⇒ Object
- #_reduce_436(val, _values, result) ⇒ Object
- #_reduce_437(val, _values, result) ⇒ Object
- #_reduce_438(val, _values, result) ⇒ Object
- #_reduce_439(val, _values, result) ⇒ Object
-
#_reduce_44(val, _values, result) ⇒ Object
reduce 43 omitted.
- #_reduce_440(val, _values, result) ⇒ Object
- #_reduce_441(val, _values, result) ⇒ Object
- #_reduce_442(val, _values, result) ⇒ Object
- #_reduce_443(val, _values, result) ⇒ Object
- #_reduce_444(val, _values, result) ⇒ Object
- #_reduce_445(val, _values, result) ⇒ Object
- #_reduce_446(val, _values, result) ⇒ Object
- #_reduce_447(val, _values, result) ⇒ Object
- #_reduce_448(val, _values, result) ⇒ Object
- #_reduce_449(val, _values, result) ⇒ Object
- #_reduce_45(val, _values, result) ⇒ Object
- #_reduce_450(val, _values, result) ⇒ Object
- #_reduce_451(val, _values, result) ⇒ Object
- #_reduce_452(val, _values, result) ⇒ Object
- #_reduce_453(val, _values, result) ⇒ Object
-
#_reduce_456(val, _values, result) ⇒ Object
reduce 455 omitted.
- #_reduce_457(val, _values, result) ⇒ Object
- #_reduce_46(val, _values, result) ⇒ Object
-
#_reduce_460(val, _values, result) ⇒ Object
reduce 459 omitted.
- #_reduce_461(val, _values, result) ⇒ Object
- #_reduce_462(val, _values, result) ⇒ Object
-
#_reduce_464(val, _values, result) ⇒ Object
reduce 463 omitted.
- #_reduce_465(val, _values, result) ⇒ Object
- #_reduce_466(val, _values, result) ⇒ Object
- #_reduce_467(val, _values, result) ⇒ Object
- #_reduce_468(val, _values, result) ⇒ Object
-
#_reduce_470(val, _values, result) ⇒ Object
reduce 469 omitted.
- #_reduce_471(val, _values, result) ⇒ Object
-
#_reduce_48(val, _values, result) ⇒ Object
reduce 47 omitted.
- #_reduce_49(val, _values, result) ⇒ Object
-
#_reduce_491(val, _values, result) ⇒ Object
reduce 490 omitted.
-
#_reduce_494(val, _values, result) ⇒ Object
reduce 493 omitted.
- #_reduce_495(val, _values, result) ⇒ Object
- #_reduce_496(val, _values, result) ⇒ Object
- #_reduce_50(val, _values, result) ⇒ Object
- #_reduce_51(val, _values, result) ⇒ Object
- #_reduce_52(val, _values, result) ⇒ Object
- #_reduce_53(val, _values, result) ⇒ Object
- #_reduce_54(val, _values, result) ⇒ Object
- #_reduce_55(val, _values, result) ⇒ Object
- #_reduce_56(val, _values, result) ⇒ Object
- #_reduce_57(val, _values, result) ⇒ Object
- #_reduce_58(val, _values, result) ⇒ Object
- #_reduce_59(val, _values, result) ⇒ Object
- #_reduce_60(val, _values, result) ⇒ Object
-
#_reduce_62(val, _values, result) ⇒ Object
reduce 61 omitted.
-
#_reduce_64(val, _values, result) ⇒ Object
reduce 63 omitted.
- #_reduce_65(val, _values, result) ⇒ Object
- #_reduce_66(val, _values, result) ⇒ Object
- #_reduce_67(val, _values, result) ⇒ Object
- #_reduce_68(val, _values, result) ⇒ Object
- #_reduce_69(val, _values, result) ⇒ Object
-
#_reduce_7(val, _values, result) ⇒ Object
reduce 6 omitted.
- #_reduce_70(val, _values, result) ⇒ Object
-
#_reduce_72(val, _values, result) ⇒ Object
reduce 71 omitted.
- #_reduce_73(val, _values, result) ⇒ Object
- #_reduce_74(val, _values, result) ⇒ Object
- #_reduce_75(val, _values, result) ⇒ Object
- #_reduce_76(val, _values, result) ⇒ Object
- #_reduce_77(val, _values, result) ⇒ Object
- #_reduce_78(val, _values, result) ⇒ Object
- #_reduce_79(val, _values, result) ⇒ Object
- #_reduce_8(val, _values, result) ⇒ Object
- #_reduce_80(val, _values, result) ⇒ Object
- #_reduce_81(val, _values, result) ⇒ Object
- #_reduce_82(val, _values, result) ⇒ Object
- #_reduce_83(val, _values, result) ⇒ Object
- #_reduce_84(val, _values, result) ⇒ Object
- #_reduce_85(val, _values, result) ⇒ Object
- #_reduce_86(val, _values, result) ⇒ Object
- #_reduce_87(val, _values, result) ⇒ Object
- #_reduce_88(val, _values, result) ⇒ Object
- #_reduce_89(val, _values, result) ⇒ Object
- #_reduce_9(val, _values, result) ⇒ Object
- #_reduce_90(val, _values, result) ⇒ Object
- #_reduce_91(val, _values, result) ⇒ Object
-
#_reduce_93(val, _values, result) ⇒ Object
reduce 92 omitted.
- #_reduce_94(val, _values, result) ⇒ Object
- #_reduce_95(val, _values, result) ⇒ Object
-
#_reduce_99(val, _values, result) ⇒ Object
reduce 98 omitted.
- #_reduce_none(val, _values, result) ⇒ Object
-
#append_to_block(head, tail) ⇒ Object
FIX: wtf is this?!? switch to block_append.
- #arg_add(node1, node2) ⇒ Object
- #arg_blk_pass(node1, node2) ⇒ Object
- #arg_concat(node1, node2) ⇒ Object
- #aryset(receiver, index) ⇒ Object
- #assignable(lhs, value = nil) ⇒ Object
- #block_append(head, tail, strip_tail_block = false) ⇒ Object
- #cond(node) ⇒ Object
-
#do_parse ⇒ Object
for pure ruby systems only.
- #get_match_node(lhs, rhs) ⇒ Object
- #gettable(id) ⇒ Object
-
#initialize ⇒ RubyParser
constructor
A new instance of RubyParser.
-
#list_append(list, item) ⇒ Object
TODO: nuke me sigh.
- #literal_concat(head, tail) ⇒ Object
-
#logop(type, left, right) ⇒ Object
TODO: rename logical_op.
-
#new_call(recv, meth, args = nil) ⇒ Object
REFACTOR - merge with fcall.
- #new_fcall(meth, args) ⇒ Object
- #new_super(args) ⇒ Object
- #new_yield(node) ⇒ Object
- #next_token ⇒ Object
- #node_assign(lhs, rhs) ⇒ Object
- #parse(str, file = "(string)") ⇒ Object
- #remove_begin(node) ⇒ Object
- #ret_args(node) ⇒ Object
-
#value_expr(node) ⇒ Object
HACK.
- #void_stmts(node) ⇒ Object
- #warning(s) ⇒ Object
Constructor Details
#initialize ⇒ RubyParser
Returns a new instance of RubyParser.
251 252 253 254 255 256 257 258 |
# File 'lib/ruby_parser_extras.rb', line 251 def initialize super self.lexer = RubyLexer.new self.in_def = false self.in_single = 0 @env = Environment.new @comments = [] end |
Instance Attribute Details
#comments ⇒ Object (readonly)
Returns the value of attribute comments.
58 59 60 |
# File 'lib/ruby_parser_extras.rb', line 58 def comments @comments end |
#env ⇒ Object (readonly)
Returns the value of attribute env.
58 59 60 |
# File 'lib/ruby_parser_extras.rb', line 58 def env @env end |
#file ⇒ Object
Returns the value of attribute file.
57 58 59 |
# File 'lib/ruby_parser_extras.rb', line 57 def file @file end |
#in_def ⇒ Object
Returns the value of attribute in_def.
57 58 59 |
# File 'lib/ruby_parser_extras.rb', line 57 def in_def @in_def end |
#in_single ⇒ Object
Returns the value of attribute in_single.
57 58 59 |
# File 'lib/ruby_parser_extras.rb', line 57 def in_single @in_single end |
#lexer ⇒ Object
Returns the value of attribute lexer.
57 58 59 |
# File 'lib/ruby_parser_extras.rb', line 57 def lexer @lexer end |
Instance Method Details
#_reduce_1(val, _values, result) ⇒ Object
reduce 0 omitted
2861 2862 2863 2864 |
# File 'lib/ruby_parser.rb', line 2861 def _reduce_1( val, _values, result ) self.lexer.lex_state = :expr_beg result end |
#_reduce_10(val, _values, result) ⇒ Object
2912 2913 2914 2915 |
# File 'lib/ruby_parser.rb', line 2912 def _reduce_10( val, _values, result ) result = s(:alias, val[1], val[3]) result end |
#_reduce_100(val, _values, result) ⇒ Object
3418 3419 3420 3421 3422 |
# File 'lib/ruby_parser.rb', line 3418 def _reduce_100( val, _values, result ) lexer.lex_state = :expr_end result = val[0]; result end |
#_reduce_101(val, _values, result) ⇒ Object
3424 3425 3426 3427 |
# File 'lib/ruby_parser.rb', line 3424 def _reduce_101( val, _values, result ) result = s(:lit, val[0].to_sym) result end |
#_reduce_102(val, _values, result) ⇒ Object
3429 3430 3431 3432 |
# File 'lib/ruby_parser.rb', line 3429 def _reduce_102( val, _values, result ) result = s(:lit, val[0]) result end |
#_reduce_103(val, _values, result) ⇒ Object
3434 3435 3436 3437 |
# File 'lib/ruby_parser.rb', line 3434 def _reduce_103( val, _values, result ) result = s(:undef, val[0]) result end |
#_reduce_104(val, _values, result) ⇒ Object
3439 3440 3441 3442 |
# File 'lib/ruby_parser.rb', line 3439 def _reduce_104( val, _values, result ) lexer.lex_state = :expr_fname result end |
#_reduce_105(val, _values, result) ⇒ Object
3444 3445 3446 3447 |
# File 'lib/ruby_parser.rb', line 3444 def _reduce_105( val, _values, result ) result = self.block_append(val[0], s(:undef, val[3])) result end |
#_reduce_11(val, _values, result) ⇒ Object
2917 2918 2919 2920 |
# File 'lib/ruby_parser.rb', line 2917 def _reduce_11( val, _values, result ) result = s(:valias, val[1].to_sym, val[2].to_sym) result end |
#_reduce_12(val, _values, result) ⇒ Object
2922 2923 2924 2925 |
# File 'lib/ruby_parser.rb', line 2922 def _reduce_12( val, _values, result ) result = s(:valias, val[1].to_sym, :"$#{val[2].last}") result end |
#_reduce_13(val, _values, result) ⇒ Object
2927 2928 2929 2930 |
# File 'lib/ruby_parser.rb', line 2927 def _reduce_13( val, _values, result ) yyerror("can't make alias for the number variables"); result end |
#_reduce_14(val, _values, result) ⇒ Object
2932 2933 2934 2935 |
# File 'lib/ruby_parser.rb', line 2932 def _reduce_14( val, _values, result ) result = val[1] result end |
#_reduce_15(val, _values, result) ⇒ Object
2937 2938 2939 2940 2941 2942 2943 2944 2945 |
# File 'lib/ruby_parser.rb', line 2937 def _reduce_15( val, _values, result ) val[2] = cond val[2] if val[2][0] == :not then result = s(:if, val[2].last, nil, val[0]) else result = s(:if, val[2], val[0], nil) end result end |
#_reduce_16(val, _values, result) ⇒ Object
2947 2948 2949 2950 2951 2952 2953 2954 2955 |
# File 'lib/ruby_parser.rb', line 2947 def _reduce_16( val, _values, result ) val[2] = cond val[2] if val[2][0] == :not then result = s(:if, val[2].last, val[0], nil) else result = s(:if, val[2], nil, val[0]) end result end |
#_reduce_17(val, _values, result) ⇒ Object
2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 |
# File 'lib/ruby_parser.rb', line 2957 def _reduce_17( val, _values, result ) block, pre = val[0], true block, pre = block.last, false if block[0] == :begin val[2] = cond val[2] if val[2][0] == :not then result = s(:until, val[2].last, block, pre) else result = s(:while, val[2], block, pre) end result end |
#_reduce_173(val, _values, result) ⇒ Object
reduce 172 omitted
3583 3584 3585 3586 |
# File 'lib/ruby_parser.rb', line 3583 def _reduce_173( val, _values, result ) result = self.node_assign(val[0], val[2]) result end |
#_reduce_174(val, _values, result) ⇒ Object
3588 3589 3590 3591 3592 |
# File 'lib/ruby_parser.rb', line 3588 def _reduce_174( val, _values, result ) result = self.node_assign(val[0], s(:rescue, val[2], s(:resbody, nil, val[4]))) result end |
#_reduce_175(val, _values, result) ⇒ Object
3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 |
# File 'lib/ruby_parser.rb', line 3594 def _reduce_175( val, _values, result ) name = val[0].value asgn_op = val[1].to_sym val[2] = remove_begin(val[2]) case asgn_op when :"||" then val[0] << val[2] result = s(:op_asgn_or, self.gettable(name), val[0]); when :"&&" then val[0] << val[2] result = s(:op_asgn_and, self.gettable(name), val[0]); else val[0][2] = s(:call, self.gettable(name), asgn_op, s(:array, val[2])) result = val[0]; end result end |
#_reduce_176(val, _values, result) ⇒ Object
3614 3615 3616 3617 |
# File 'lib/ruby_parser.rb', line 3614 def _reduce_176( val, _values, result ) result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5]); result end |
#_reduce_177(val, _values, result) ⇒ Object
3619 3620 3621 3622 |
# File 'lib/ruby_parser.rb', line 3619 def _reduce_177( val, _values, result ) result = s(:op_asgn2, val[0], :"#{val[2].value}=", val[3].to_sym, val[4]); result end |
#_reduce_178(val, _values, result) ⇒ Object
3624 3625 3626 3627 |
# File 'lib/ruby_parser.rb', line 3624 def _reduce_178( val, _values, result ) result = s(:op_asgn2, val[0], :"#{val[2].value}=", val[3].to_sym, val[4]) result end |
#_reduce_179(val, _values, result) ⇒ Object
3629 3630 3631 3632 |
# File 'lib/ruby_parser.rb', line 3629 def _reduce_179( val, _values, result ) result = s(:op_asgn, val[0], val[4], val[2].value, val[3].value); result end |
#_reduce_18(val, _values, result) ⇒ Object
2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 |
# File 'lib/ruby_parser.rb', line 2970 def _reduce_18( val, _values, result ) # REFACTOR block, pre = val[0], true block, pre = block.last, false if block[0] == :begin val[2] = cond val[2] if val[2][0] == :not then result = s(:while, val[2].last, block, pre) else result = s(:until, val[2], block, pre) end result end |
#_reduce_180(val, _values, result) ⇒ Object
3634 3635 3636 3637 |
# File 'lib/ruby_parser.rb', line 3634 def _reduce_180( val, _values, result ) yyerror("constant re-assignment"); result end |
#_reduce_181(val, _values, result) ⇒ Object
3639 3640 3641 3642 |
# File 'lib/ruby_parser.rb', line 3639 def _reduce_181( val, _values, result ) yyerror("constant re-assignment"); result end |
#_reduce_182(val, _values, result) ⇒ Object
3644 3645 3646 3647 |
# File 'lib/ruby_parser.rb', line 3644 def _reduce_182( val, _values, result ) self.backref_assign_error(val[0]); result end |
#_reduce_183(val, _values, result) ⇒ Object
3649 3650 3651 3652 3653 3654 3655 3656 3657 |
# File 'lib/ruby_parser.rb', line 3649 def _reduce_183( val, _values, result ) v1, v2 = val[0], val[2] if v1.node_type == :lit and v2.node_type == :lit and Fixnum === v1.last and Fixnum === v2.last then result = s(:lit, (v1.last)..(v2.last)) else result = s(:dot2, v1, v2) end result end |
#_reduce_184(val, _values, result) ⇒ Object
3659 3660 3661 3662 3663 3664 3665 3666 3667 |
# File 'lib/ruby_parser.rb', line 3659 def _reduce_184( val, _values, result ) v1, v2 = val[0], val[2] if v1.node_type == :lit and v2.node_type == :lit and Fixnum === v1.last and Fixnum === v2.last then result = s(:lit, (v1.last)...(v2.last)) else result = s(:dot3, v1, v2) end result end |
#_reduce_185(val, _values, result) ⇒ Object
3669 3670 3671 3672 |
# File 'lib/ruby_parser.rb', line 3669 def _reduce_185( val, _values, result ) result = s(:call, val[0], :+, s(:array, val[2])) result end |
#_reduce_186(val, _values, result) ⇒ Object
3674 3675 3676 3677 |
# File 'lib/ruby_parser.rb', line 3674 def _reduce_186( val, _values, result ) result = s(:call, val[0], :-, s(:array, val[2])) result end |
#_reduce_187(val, _values, result) ⇒ Object
3679 3680 3681 3682 |
# File 'lib/ruby_parser.rb', line 3679 def _reduce_187( val, _values, result ) result = s(:call, val[0], :*, s(:array, val[2])) result end |
#_reduce_188(val, _values, result) ⇒ Object
3684 3685 3686 3687 |
# File 'lib/ruby_parser.rb', line 3684 def _reduce_188( val, _values, result ) result = s(:call, val[0], :"/", s(:array, val[2])) result end |
#_reduce_189(val, _values, result) ⇒ Object
3689 3690 3691 3692 |
# File 'lib/ruby_parser.rb', line 3689 def _reduce_189( val, _values, result ) result = s(:call, val[0], :%, s(:array, val[2])) result end |
#_reduce_19(val, _values, result) ⇒ Object
2984 2985 2986 2987 |
# File 'lib/ruby_parser.rb', line 2984 def _reduce_19( val, _values, result ) result = s(:rescue, val[0], s(:resbody, nil, val[2])) result end |
#_reduce_190(val, _values, result) ⇒ Object
3694 3695 3696 3697 |
# File 'lib/ruby_parser.rb', line 3694 def _reduce_190( val, _values, result ) result = s(:call, val[0], :**, s(:array, val[2])) result end |
#_reduce_191(val, _values, result) ⇒ Object
3699 3700 3701 3702 |
# File 'lib/ruby_parser.rb', line 3699 def _reduce_191( val, _values, result ) result = s(:call, s(:call, s(:lit, val[1]), :"**", s(:array, val[3])), :"-@"); result end |
#_reduce_192(val, _values, result) ⇒ Object
3704 3705 3706 3707 |
# File 'lib/ruby_parser.rb', line 3704 def _reduce_192( val, _values, result ) result = s(:call, s(:call, s(:lit, val[1]), :"**", s(:array, val[3])), :"-@"); result end |
#_reduce_193(val, _values, result) ⇒ Object
3709 3710 3711 3712 3713 3714 3715 3716 |
# File 'lib/ruby_parser.rb', line 3709 def _reduce_193( val, _values, result ) if val[1][0] == :lit then result = val[1] else result = s(:call, val[1], :"+@") end result end |
#_reduce_194(val, _values, result) ⇒ Object
3718 3719 3720 3721 |
# File 'lib/ruby_parser.rb', line 3718 def _reduce_194( val, _values, result ) result = s(:call, val[1], :"-@"); result end |
#_reduce_195(val, _values, result) ⇒ Object
3723 3724 3725 3726 |
# File 'lib/ruby_parser.rb', line 3723 def _reduce_195( val, _values, result ) result = s(:call, val[0], :"|", s(:array, val[2])); result end |
#_reduce_196(val, _values, result) ⇒ Object
3728 3729 3730 3731 |
# File 'lib/ruby_parser.rb', line 3728 def _reduce_196( val, _values, result ) result = s(:call, val[0], :"^", s(:array, val[2])); result end |
#_reduce_197(val, _values, result) ⇒ Object
3733 3734 3735 3736 |
# File 'lib/ruby_parser.rb', line 3733 def _reduce_197( val, _values, result ) result = s(:call, val[0], :"&", s(:array, val[2])); result end |
#_reduce_198(val, _values, result) ⇒ Object
3738 3739 3740 3741 |
# File 'lib/ruby_parser.rb', line 3738 def _reduce_198( val, _values, result ) result = s(:call, val[0], :"<=>", s(:array, val[2])); result end |
#_reduce_199(val, _values, result) ⇒ Object
3743 3744 3745 3746 |
# File 'lib/ruby_parser.rb', line 3743 def _reduce_199( val, _values, result ) result = s(:call, val[0], :">", s(:array, val[2])); result end |
#_reduce_2(val, _values, result) ⇒ Object
2866 2867 2868 2869 |
# File 'lib/ruby_parser.rb', line 2866 def _reduce_2( val, _values, result ) result = val[1] result end |
#_reduce_20(val, _values, result) ⇒ Object
2989 2990 2991 2992 2993 2994 2995 |
# File 'lib/ruby_parser.rb', line 2989 def _reduce_20( val, _values, result ) if (self.in_def || self.in_single > 0) then # yyerror("BEGIN in method"); HACK end self.env.extend; result end |
#_reduce_200(val, _values, result) ⇒ Object
3748 3749 3750 3751 |
# File 'lib/ruby_parser.rb', line 3748 def _reduce_200( val, _values, result ) result = s(:call, val[0], :">=", s(:array, val[2])); result end |
#_reduce_201(val, _values, result) ⇒ Object
3753 3754 3755 3756 |
# File 'lib/ruby_parser.rb', line 3753 def _reduce_201( val, _values, result ) result = s(:call, val[0], :"<", s(:array, val[2])); result end |
#_reduce_202(val, _values, result) ⇒ Object
3758 3759 3760 3761 |
# File 'lib/ruby_parser.rb', line 3758 def _reduce_202( val, _values, result ) result = s(:call, val[0], :"<=", s(:array, val[2])); result end |
#_reduce_203(val, _values, result) ⇒ Object
3763 3764 3765 3766 |
# File 'lib/ruby_parser.rb', line 3763 def _reduce_203( val, _values, result ) result = s(:call, val[0], :"==", s(:array, val[2])); result end |
#_reduce_204(val, _values, result) ⇒ Object
3768 3769 3770 3771 |
# File 'lib/ruby_parser.rb', line 3768 def _reduce_204( val, _values, result ) result = s(:call, val[0], :"===", s(:array, val[2])); result end |
#_reduce_205(val, _values, result) ⇒ Object
3773 3774 3775 3776 3777 3778 |
# File 'lib/ruby_parser.rb', line 3773 def _reduce_205( val, _values, result ) val[0] = value_expr val[0] # TODO: port call_op and clean these val[2] = value_expr val[2] result = s(:not, s(:call, val[0], :"==", s(:array, val[2]))); result end |
#_reduce_206(val, _values, result) ⇒ Object
3780 3781 3782 3783 |
# File 'lib/ruby_parser.rb', line 3780 def _reduce_206( val, _values, result ) result = self.get_match_node(val[0], val[2]) result end |
#_reduce_207(val, _values, result) ⇒ Object
3785 3786 3787 3788 |
# File 'lib/ruby_parser.rb', line 3785 def _reduce_207( val, _values, result ) result = s(:not, self.get_match_node(val[0], val[2])) result end |
#_reduce_208(val, _values, result) ⇒ Object
3790 3791 3792 3793 |
# File 'lib/ruby_parser.rb', line 3790 def _reduce_208( val, _values, result ) result = s(:not, val[1]) result end |
#_reduce_209(val, _values, result) ⇒ Object
3795 3796 3797 3798 3799 |
# File 'lib/ruby_parser.rb', line 3795 def _reduce_209( val, _values, result ) val[2] = value_expr val[2] result = s(:call, val[1], :"~"); result end |
#_reduce_21(val, _values, result) ⇒ Object
2997 2998 2999 3000 3001 3002 |
# File 'lib/ruby_parser.rb', line 2997 def _reduce_21( val, _values, result ) result = s(:iter, s(:preexe), nil) result << val[3] if val[3] result = nil # TODO: since it isn't supposed to go in the AST result end |
#_reduce_210(val, _values, result) ⇒ Object
3801 3802 3803 3804 3805 3806 |
# File 'lib/ruby_parser.rb', line 3801 def _reduce_210( val, _values, result ) val[0] = value_expr val[0] val[2] = value_expr val[2] result = s(:call, val[0], :"<<", s(:array, val[2])) # " stupid emacs result end |
#_reduce_211(val, _values, result) ⇒ Object
3808 3809 3810 3811 3812 3813 |
# File 'lib/ruby_parser.rb', line 3808 def _reduce_211( val, _values, result ) val[0] = value_expr val[0] val[2] = value_expr val[2] result = s(:call, val[0], :">>", s(:array, val[2])) result end |
#_reduce_212(val, _values, result) ⇒ Object
3815 3816 3817 3818 |
# File 'lib/ruby_parser.rb', line 3815 def _reduce_212( val, _values, result ) result = logop(:and, val[0], val[2]) result end |
#_reduce_213(val, _values, result) ⇒ Object
3820 3821 3822 3823 |
# File 'lib/ruby_parser.rb', line 3820 def _reduce_213( val, _values, result ) result = logop(:or, val[0], val[2]) result end |
#_reduce_214(val, _values, result) ⇒ Object
3825 3826 3827 3828 |
# File 'lib/ruby_parser.rb', line 3825 def _reduce_214( val, _values, result ) result = s(:defined, val[2]); result end |
#_reduce_215(val, _values, result) ⇒ Object
3830 3831 3832 3833 |
# File 'lib/ruby_parser.rb', line 3830 def _reduce_215( val, _values, result ) result = s(:if, val[0], val[2], val[4]); result end |
#_reduce_217(val, _values, result) ⇒ Object
reduce 216 omitted
3837 3838 3839 3840 |
# File 'lib/ruby_parser.rb', line 3837 def _reduce_217( val, _values, result ) result = value_expr(val[0]) result end |
#_reduce_219(val, _values, result) ⇒ Object
reduce 218 omitted
3844 3845 3846 3847 3848 |
# File 'lib/ruby_parser.rb', line 3844 def _reduce_219( val, _values, result ) warning("parenthesize argument(s) for future version"); result = s(:array, val[0]); result end |
#_reduce_22(val, _values, result) ⇒ Object
3004 3005 3006 3007 3008 3009 3010 3011 |
# File 'lib/ruby_parser.rb', line 3004 def _reduce_22( val, _values, result ) if (self.in_def || self.in_single > 0) then # yyerror("END in method; use at_exit"); HACK end result = s(:iter, s(:postexe), nil) result << val[2] if val[2] result end |
#_reduce_220(val, _values, result) ⇒ Object
3850 3851 3852 3853 |
# File 'lib/ruby_parser.rb', line 3850 def _reduce_220( val, _values, result ) result = val[0]; result end |
#_reduce_221(val, _values, result) ⇒ Object
3855 3856 3857 3858 |
# File 'lib/ruby_parser.rb', line 3855 def _reduce_221( val, _values, result ) result = self.arg_concat(val[0], val[3]) result end |
#_reduce_222(val, _values, result) ⇒ Object
3860 3861 3862 3863 |
# File 'lib/ruby_parser.rb', line 3860 def _reduce_222( val, _values, result ) result = s(:array, s(:hash, *val[0].values)) result end |
#_reduce_223(val, _values, result) ⇒ Object
3865 3866 3867 3868 3869 |
# File 'lib/ruby_parser.rb', line 3865 def _reduce_223( val, _values, result ) result = s(:splat, val[1]) result.paren = true result end |
#_reduce_224(val, _values, result) ⇒ Object
3871 3872 3873 3874 |
# File 'lib/ruby_parser.rb', line 3871 def _reduce_224( val, _values, result ) result = val[1] result end |
#_reduce_225(val, _values, result) ⇒ Object
3876 3877 3878 3879 |
# File 'lib/ruby_parser.rb', line 3876 def _reduce_225( val, _values, result ) result = val[1]; result end |
#_reduce_226(val, _values, result) ⇒ Object
3881 3882 3883 3884 3885 |
# File 'lib/ruby_parser.rb', line 3881 def _reduce_226( val, _values, result ) warning("parenthesize argument(s) for future version"); result = s(:array, val[1]); result end |
#_reduce_227(val, _values, result) ⇒ Object
3887 3888 3889 3890 3891 |
# File 'lib/ruby_parser.rb', line 3887 def _reduce_227( val, _values, result ) warning("parenthesize argument(s) for future version"); result = val[1].add(val[3]); result end |
#_reduce_23(val, _values, result) ⇒ Object
3013 3014 3015 3016 |
# File 'lib/ruby_parser.rb', line 3013 def _reduce_23( val, _values, result ) result = self.node_assign(val[0], val[2]) result end |
#_reduce_230(val, _values, result) ⇒ Object
reduce 229 omitted
3897 3898 3899 3900 3901 |
# File 'lib/ruby_parser.rb', line 3897 def _reduce_230( val, _values, result ) warning("parenthesize argument(s) for future version"); result = s(:array, val[0]) result end |
#_reduce_231(val, _values, result) ⇒ Object
3903 3904 3905 3906 |
# File 'lib/ruby_parser.rb', line 3903 def _reduce_231( val, _values, result ) result = self.arg_blk_pass(val[0], val[1]); result end |
#_reduce_232(val, _values, result) ⇒ Object
3908 3909 3910 3911 3912 |
# File 'lib/ruby_parser.rb', line 3908 def _reduce_232( val, _values, result ) result = self.arg_concat(val[0], val[3]); result = self.arg_blk_pass(result, val[4]); result end |
#_reduce_233(val, _values, result) ⇒ Object
3914 3915 3916 3917 3918 |
# File 'lib/ruby_parser.rb', line 3914 def _reduce_233( val, _values, result ) result = s(:array, s(:hash, *val[0].values)) result = self.arg_blk_pass(result, val[1]); result end |
#_reduce_234(val, _values, result) ⇒ Object
3920 3921 3922 3923 3924 |
# File 'lib/ruby_parser.rb', line 3920 def _reduce_234( val, _values, result ) result = self.arg_concat(s(:array, s(:hash, *val[0].values)), val[3]) result = self.arg_blk_pass(result, val[4]); result end |
#_reduce_235(val, _values, result) ⇒ Object
3926 3927 3928 3929 3930 |
# File 'lib/ruby_parser.rb', line 3926 def _reduce_235( val, _values, result ) result = val[0] << s(:hash, *val[2].values) result = self.arg_blk_pass(result, val[3]); result end |
#_reduce_236(val, _values, result) ⇒ Object
3932 3933 3934 3935 3936 3937 |
# File 'lib/ruby_parser.rb', line 3932 def _reduce_236( val, _values, result ) val[0] << s(:hash, *val[2].values) result = self.arg_concat(val[0], val[5]) result = self.arg_blk_pass(result, val[6]); result end |
#_reduce_237(val, _values, result) ⇒ Object
3939 3940 3941 3942 |
# File 'lib/ruby_parser.rb', line 3939 def _reduce_237( val, _values, result ) result = self.arg_blk_pass(s(:splat, val[1]), val[2]) result end |
#_reduce_239(val, _values, result) ⇒ Object
reduce 238 omitted
3946 3947 3948 3949 |
# File 'lib/ruby_parser.rb', line 3946 def _reduce_239( val, _values, result ) result = self.arg_blk_pass(s(:array, val[0], val[2]), val[3]) result end |
#_reduce_24(val, _values, result) ⇒ Object
3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 |
# File 'lib/ruby_parser.rb', line 3018 def _reduce_24( val, _values, result ) val[2] = value_expr(val[2]) result = val[0] << if val[0][1] then s(:to_ary, val[2]) else val[0].delete_at 1 # remove the nil s(:array, val[2]) end result end |
#_reduce_240(val, _values, result) ⇒ Object
3951 3952 3953 3954 |
# File 'lib/ruby_parser.rb', line 3951 def _reduce_240( val, _values, result ) result = self.arg_blk_pass(val[0], val[2]); result end |
#_reduce_241(val, _values, result) ⇒ Object
3956 3957 3958 3959 3960 |
# File 'lib/ruby_parser.rb', line 3956 def _reduce_241( val, _values, result ) result = self.arg_concat(s(:array, val[0]), val[3]); result = self.arg_blk_pass(result, val[4]); result end |
#_reduce_242(val, _values, result) ⇒ Object
3962 3963 3964 3965 3966 |
# File 'lib/ruby_parser.rb', line 3962 def _reduce_242( val, _values, result ) result = self.arg_concat(s(:array, val[0], s(:hash, *val[2].values)), val[5]) result = self.arg_blk_pass(result, val[6]); result end |
#_reduce_243(val, _values, result) ⇒ Object
3968 3969 3970 3971 3972 |
# File 'lib/ruby_parser.rb', line 3968 def _reduce_243( val, _values, result ) result = s(:array, s(:hash, *val[0].values)); result = self.arg_blk_pass(result, val[1]); result end |
#_reduce_244(val, _values, result) ⇒ Object
3974 3975 3976 3977 3978 |
# File 'lib/ruby_parser.rb', line 3974 def _reduce_244( val, _values, result ) result = s(:array, s(:hash, *val[0].values), val[3]) result = self.arg_blk_pass(result, val[4]) result end |
#_reduce_245(val, _values, result) ⇒ Object
3980 3981 3982 3983 3984 |
# File 'lib/ruby_parser.rb', line 3980 def _reduce_245( val, _values, result ) result = s(:array, val[0], s(:hash, *val[2].values)) result = self.arg_blk_pass(result, val[3]) result end |
#_reduce_246(val, _values, result) ⇒ Object
3986 3987 3988 3989 3990 |
# File 'lib/ruby_parser.rb', line 3986 def _reduce_246( val, _values, result ) result = s(:array, val[0]).add_all(val[2]).add(s(:hash, *val[4].values)); result = self.arg_blk_pass(result, val[5]); result end |
#_reduce_247(val, _values, result) ⇒ Object
3992 3993 3994 3995 3996 |
# File 'lib/ruby_parser.rb', line 3992 def _reduce_247( val, _values, result ) result = self.arg_concat(s(:array, val[0]).add(s(:hash, *val[2].values)), val[5]); result = self.arg_blk_pass(result, val[6]); result end |
#_reduce_248(val, _values, result) ⇒ Object
3998 3999 4000 4001 4002 |
# File 'lib/ruby_parser.rb', line 3998 def _reduce_248( val, _values, result ) result = self.arg_concat(s(:array, val[0]).add_all(val[2]).add(s(:hash, *val[4].values)), val[7]); result = self.arg_blk_pass(result, val[8]); result end |
#_reduce_249(val, _values, result) ⇒ Object
4004 4005 4006 4007 |
# File 'lib/ruby_parser.rb', line 4004 def _reduce_249( val, _values, result ) result = self.arg_blk_pass(s(:splat, val[1]), val[2]); result end |
#_reduce_25(val, _values, result) ⇒ Object
3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 |
# File 'lib/ruby_parser.rb', line 3029 def _reduce_25( val, _values, result ) name = val[0].last asgn_op = val[1].to_sym val[2] = value_expr(val[2]) case asgn_op when :"||" then val[0][2] = (val[2]); result = s(:op_asgn_or, self.gettable(name), val[0]) when :"&&" then val[0][2] = (val[2]); result = s(:op_asgn_and, self.gettable(name), val[0]) else result = val[0] result << s(:call, self.gettable(name), asgn_op, s(:array, val[2])) end result end |
#_reduce_251(val, _values, result) ⇒ Object
reduce 250 omitted
4011 4012 4013 4014 4015 |
# File 'lib/ruby_parser.rb', line 4011 def _reduce_251( val, _values, result ) result = lexer.cmdarg.stack.dup lexer.cmdarg.push true result end |
#_reduce_252(val, _values, result) ⇒ Object
4017 4018 4019 4020 4021 |
# File 'lib/ruby_parser.rb', line 4017 def _reduce_252( val, _values, result ) lexer.cmdarg.stack.replace val[0] result = val[1] result end |
#_reduce_254(val, _values, result) ⇒ Object
reduce 253 omitted
4025 4026 4027 4028 |
# File 'lib/ruby_parser.rb', line 4025 def _reduce_254( val, _values, result ) lexer.lex_state = :expr_endarg result end |
#_reduce_255(val, _values, result) ⇒ Object
4030 4031 4032 4033 4034 |
# File 'lib/ruby_parser.rb', line 4030 def _reduce_255( val, _values, result ) warning("don't put space before argument parentheses"); result = nil; result end |
#_reduce_256(val, _values, result) ⇒ Object
4036 4037 4038 4039 |
# File 'lib/ruby_parser.rb', line 4036 def _reduce_256( val, _values, result ) lexer.lex_state = :expr_endarg result end |
#_reduce_257(val, _values, result) ⇒ Object
4041 4042 4043 4044 4045 |
# File 'lib/ruby_parser.rb', line 4041 def _reduce_257( val, _values, result ) warning("don't put space before argument parentheses"); result = val[1]; result end |
#_reduce_258(val, _values, result) ⇒ Object
4047 4048 4049 4050 |
# File 'lib/ruby_parser.rb', line 4047 def _reduce_258( val, _values, result ) result = s(:block_pass, val[1]); result end |
#_reduce_259(val, _values, result) ⇒ Object
4052 4053 4054 4055 |
# File 'lib/ruby_parser.rb', line 4052 def _reduce_259( val, _values, result ) result = val[1]; result end |
#_reduce_26(val, _values, result) ⇒ Object
3048 3049 3050 3051 |
# File 'lib/ruby_parser.rb', line 3048 def _reduce_26( val, _values, result ) result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5]); result end |
#_reduce_261(val, _values, result) ⇒ Object
reduce 260 omitted
4059 4060 4061 4062 |
# File 'lib/ruby_parser.rb', line 4059 def _reduce_261( val, _values, result ) result = s(:array, val[0]) result end |
#_reduce_262(val, _values, result) ⇒ Object
4064 4065 4066 4067 4068 |
# File 'lib/ruby_parser.rb', line 4064 def _reduce_262( val, _values, result ) result = val[0] << val[2] # result = self.list_append(val[0], val[2]) # TODO? breaks stuff result end |
#_reduce_263(val, _values, result) ⇒ Object
4070 4071 4072 4073 4074 |
# File 'lib/ruby_parser.rb', line 4070 def _reduce_263( val, _values, result ) result = val[0] << val[2] # result = self.list_append(val[0], val[2]) # TODO? breaks stuff result end |
#_reduce_264(val, _values, result) ⇒ Object
4076 4077 4078 4079 |
# File 'lib/ruby_parser.rb', line 4076 def _reduce_264( val, _values, result ) result = self.arg_concat(val[0], val[3]) result end |
#_reduce_265(val, _values, result) ⇒ Object
4081 4082 4083 4084 |
# File 'lib/ruby_parser.rb', line 4081 def _reduce_265( val, _values, result ) result = s(:splat, val[1]) result end |
#_reduce_27(val, _values, result) ⇒ Object
3053 3054 3055 3056 |
# File 'lib/ruby_parser.rb', line 3053 def _reduce_27( val, _values, result ) result = s(:op_asgn, val[0], val[4], val[2].value, val[3].value); result end |
#_reduce_274(val, _values, result) ⇒ Object
reduce 273 omitted
4102 4103 4104 4105 |
# File 'lib/ruby_parser.rb', line 4102 def _reduce_274( val, _values, result ) result = s(:fcall, val[0].to_sym) result end |
#_reduce_275(val, _values, result) ⇒ Object
4107 4108 4109 4110 4111 4112 4113 4114 |
# File 'lib/ruby_parser.rb', line 4107 def _reduce_275( val, _values, result ) unless val[1] then result = s(:nil) else result = s(:begin, val[1]) end result end |
#_reduce_276(val, _values, result) ⇒ Object
4116 4117 4118 4119 |
# File 'lib/ruby_parser.rb', line 4116 def _reduce_276( val, _values, result ) lexer.lex_state = :expr_endarg result end |
#_reduce_277(val, _values, result) ⇒ Object
4121 4122 4123 4124 4125 |
# File 'lib/ruby_parser.rb', line 4121 def _reduce_277( val, _values, result ) warning("(...) interpreted as grouped expression"); result = val[1]; result end |
#_reduce_278(val, _values, result) ⇒ Object
4127 4128 4129 4130 4131 |
# File 'lib/ruby_parser.rb', line 4127 def _reduce_278( val, _values, result ) result = val[1]; result.paren = true result end |
#_reduce_279(val, _values, result) ⇒ Object
4133 4134 4135 4136 |
# File 'lib/ruby_parser.rb', line 4133 def _reduce_279( val, _values, result ) result = s(:colon2, val[0], val[2].to_sym) result end |
#_reduce_28(val, _values, result) ⇒ Object
3058 3059 3060 3061 |
# File 'lib/ruby_parser.rb', line 3058 def _reduce_28( val, _values, result ) result = s(:op_asgn, val[0], val[4], val[2].value, val[3].value); result end |
#_reduce_280(val, _values, result) ⇒ Object
4138 4139 4140 4141 |
# File 'lib/ruby_parser.rb', line 4138 def _reduce_280( val, _values, result ) result = s(:colon3, val[1].to_sym) result end |
#_reduce_281(val, _values, result) ⇒ Object
4143 4144 4145 4146 4147 4148 4149 4150 4151 |
# File 'lib/ruby_parser.rb', line 4143 def _reduce_281( val, _values, result ) if val[0].node_type == :self then result = s(:fcall, :"[]") else result = s(:call, val[0], :"[]") end result << val[2] if val[2] result end |
#_reduce_282(val, _values, result) ⇒ Object
4153 4154 4155 4156 |
# File 'lib/ruby_parser.rb', line 4153 def _reduce_282( val, _values, result ) result = val[1] || s(:zarray) result end |
#_reduce_283(val, _values, result) ⇒ Object
4158 4159 4160 4161 |
# File 'lib/ruby_parser.rb', line 4158 def _reduce_283( val, _values, result ) result = s(:hash, *val[1].values) result end |
#_reduce_284(val, _values, result) ⇒ Object
4163 4164 4165 4166 |
# File 'lib/ruby_parser.rb', line 4163 def _reduce_284( val, _values, result ) result = s(:return) result end |
#_reduce_285(val, _values, result) ⇒ Object
4168 4169 4170 4171 |
# File 'lib/ruby_parser.rb', line 4168 def _reduce_285( val, _values, result ) result = self.new_yield(val[2]); result end |
#_reduce_286(val, _values, result) ⇒ Object
4173 4174 4175 4176 |
# File 'lib/ruby_parser.rb', line 4173 def _reduce_286( val, _values, result ) result = s(:yield) result end |
#_reduce_287(val, _values, result) ⇒ Object
4178 4179 4180 4181 |
# File 'lib/ruby_parser.rb', line 4178 def _reduce_287( val, _values, result ) result = s(:yield) result end |
#_reduce_288(val, _values, result) ⇒ Object
4183 4184 4185 4186 |
# File 'lib/ruby_parser.rb', line 4183 def _reduce_288( val, _values, result ) result = s(:defined, val[3]); result end |
#_reduce_289(val, _values, result) ⇒ Object
4188 4189 4190 4191 4192 4193 4194 4195 |
# File 'lib/ruby_parser.rb', line 4188 def _reduce_289( val, _values, result ) name = val[0].to_sym iter = val[1] # iter[2] = iter[2][1] if iter[2][0] == :block and iter[2].size == 2 # HACK iter.insert 1, s(:fcall, name) result = iter result end |
#_reduce_29(val, _values, result) ⇒ Object
3063 3064 3065 3066 |
# File 'lib/ruby_parser.rb', line 3063 def _reduce_29( val, _values, result ) result = s(:op_asgn, val[0], val[4], val[2].value, val[3].value); result end |
#_reduce_291(val, _values, result) ⇒ Object
reduce 290 omitted
4199 4200 4201 4202 4203 4204 4205 4206 |
# File 'lib/ruby_parser.rb', line 4199 def _reduce_291( val, _values, result ) call = val[0] iter = val[1] # iter[2] = iter[2][1] if iter[2][0] == :block and iter[2].size == 2 # HACK iter.insert 1, call result = iter result end |
#_reduce_292(val, _values, result) ⇒ Object
4208 4209 4210 4211 4212 4213 4214 4215 4216 |
# File 'lib/ruby_parser.rb', line 4208 def _reduce_292( val, _values, result ) val[1] = cond val[1] if val[1][0] == :not then result = s(:if, val[1].last, val[4], val[3]) else result = s(:if, val[1], val[3], val[4]) end result end |
#_reduce_293(val, _values, result) ⇒ Object
4218 4219 4220 4221 4222 4223 4224 4225 4226 |
# File 'lib/ruby_parser.rb', line 4218 def _reduce_293( val, _values, result ) val[1] = cond val[1] if val[1][0] == :not then result = s(:if, val[1].last, val[3], val[4]) else result = s(:if, val[1], val[4], val[3]) end result end |
#_reduce_294(val, _values, result) ⇒ Object
4228 4229 4230 4231 |
# File 'lib/ruby_parser.rb', line 4228 def _reduce_294( val, _values, result ) lexer.cond.push true result end |
#_reduce_295(val, _values, result) ⇒ Object
4233 4234 4235 4236 |
# File 'lib/ruby_parser.rb', line 4233 def _reduce_295( val, _values, result ) lexer.cond.pop result end |
#_reduce_296(val, _values, result) ⇒ Object
4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 |
# File 'lib/ruby_parser.rb', line 4238 def _reduce_296( val, _values, result ) block = val[5] val[2] = cond val[2] if val[2][0] == :not then result = s(:until, val[2].last, block, true); else result = s(:while, val[2], block, true); end result end |
#_reduce_297(val, _values, result) ⇒ Object
4249 4250 4251 4252 |
# File 'lib/ruby_parser.rb', line 4249 def _reduce_297( val, _values, result ) lexer.cond.push true result end |
#_reduce_298(val, _values, result) ⇒ Object
4254 4255 4256 4257 |
# File 'lib/ruby_parser.rb', line 4254 def _reduce_298( val, _values, result ) lexer.cond.pop result end |
#_reduce_299(val, _values, result) ⇒ Object
4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 |
# File 'lib/ruby_parser.rb', line 4259 def _reduce_299( val, _values, result ) block = val[5] val[2] = cond val[2] if val[2][0] == :not then result = s(:while, val[2].last, block, true); else result = s(:until, val[2], block, true); end result end |
#_reduce_3(val, _values, result) ⇒ Object
2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 |
# File 'lib/ruby_parser.rb', line 2871 def _reduce_3( val, _values, result ) result = val[0] if val[1] then result = s(:rescue) result << val[0] if val[0] result << val[1] if val[1] result << val[2] if val[2] elsif not val[2].nil? then warning("else without rescue is useless") result = block_append(result, val[2]) end result = s(:ensure, result, val[3]).compact if val[3] result end |
#_reduce_30(val, _values, result) ⇒ Object
3068 3069 3070 3071 |
# File 'lib/ruby_parser.rb', line 3068 def _reduce_30( val, _values, result ) self.backref_assign_error(val[0]); result end |
#_reduce_300(val, _values, result) ⇒ Object
4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 |
# File 'lib/ruby_parser.rb', line 4270 def _reduce_300( val, _values, result ) result = s(:case, val[1]); body = val[3] while body and body.node_type == :when result << body body = body.delete_at 3 end els = body if els and els != s(:block) then result << els else result << nil end result end |
#_reduce_301(val, _values, result) ⇒ Object
4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 |
# File 'lib/ruby_parser.rb', line 4289 def _reduce_301( val, _values, result ) result = s(:case, nil); # REFACTOR body = val[2] while body and body.first == :when result << body body = body.delete_at 3 end els = body if els and els != s(:block) then result << els else result << nil end result end |
#_reduce_302(val, _values, result) ⇒ Object
4308 4309 4310 4311 4312 |
# File 'lib/ruby_parser.rb', line 4308 def _reduce_302( val, _values, result ) # TODO: need a test result = s(:case, nil, val[3]) result end |
#_reduce_303(val, _values, result) ⇒ Object
4314 4315 4316 4317 |
# File 'lib/ruby_parser.rb', line 4314 def _reduce_303( val, _values, result ) lexer.cond.push true result end |
#_reduce_304(val, _values, result) ⇒ Object
4319 4320 4321 4322 |
# File 'lib/ruby_parser.rb', line 4319 def _reduce_304( val, _values, result ) lexer.cond.pop; result end |
#_reduce_305(val, _values, result) ⇒ Object
4324 4325 4326 4327 4328 |
# File 'lib/ruby_parser.rb', line 4324 def _reduce_305( val, _values, result ) result = s(:for, val[4], val[1]) result << val[7] if val[7] result end |
#_reduce_306(val, _values, result) ⇒ Object
4330 4331 4332 4333 4334 4335 4336 4337 |
# File 'lib/ruby_parser.rb', line 4330 def _reduce_306( val, _values, result ) self.comments.push self.lexer.comments if (self.in_def || self.in_single > 0) then yyerror("class definition in method body"); end self.env.extend result end |
#_reduce_307(val, _values, result) ⇒ Object
4339 4340 4341 4342 4343 4344 4345 |
# File 'lib/ruby_parser.rb', line 4339 def _reduce_307( val, _values, result ) scope = s(:scope, val[4]).compact result = s(:class, val[1].last.to_sym, val[2], scope) result.comments = self.comments.pop self.env.unextend result end |
#_reduce_308(val, _values, result) ⇒ Object
4347 4348 4349 4350 4351 |
# File 'lib/ruby_parser.rb', line 4347 def _reduce_308( val, _values, result ) result = self.in_def self.in_def = false result end |
#_reduce_309(val, _values, result) ⇒ Object
4353 4354 4355 4356 4357 4358 |
# File 'lib/ruby_parser.rb', line 4353 def _reduce_309( val, _values, result ) result = self.in_single self.in_single = 0 self.env.extend; result end |
#_reduce_31(val, _values, result) ⇒ Object
3073 3074 3075 3076 |
# File 'lib/ruby_parser.rb', line 3073 def _reduce_31( val, _values, result ) result = self.node_assign(val[0], s(:svalue, val[2])) result end |
#_reduce_310(val, _values, result) ⇒ Object
4360 4361 4362 4363 4364 4365 4366 4367 |
# File 'lib/ruby_parser.rb', line 4360 def _reduce_310( val, _values, result ) scope = s(:scope, val[6]).compact result = s(:sclass, val[2], scope) self.env.unextend; self.in_def = val[3] self.in_single = val[5] result end |
#_reduce_311(val, _values, result) ⇒ Object
4369 4370 4371 4372 4373 4374 4375 4376 |
# File 'lib/ruby_parser.rb', line 4369 def _reduce_311( val, _values, result ) self.comments.push self.lexer.comments yyerror("module definition in method body") if self.in_def or self.in_single > 0 self.env.extend; result end |
#_reduce_312(val, _values, result) ⇒ Object
4378 4379 4380 4381 4382 4383 4384 |
# File 'lib/ruby_parser.rb', line 4378 def _reduce_312( val, _values, result ) body = val[3] ? s(:scope, val[3]) : s(:scope) result = s(:module, val[1].last.to_sym, body) result.comments = self.comments.pop self.env.unextend; result end |
#_reduce_313(val, _values, result) ⇒ Object
4386 4387 4388 4389 4390 4391 |
# File 'lib/ruby_parser.rb', line 4386 def _reduce_313( val, _values, result ) self.comments.push self.lexer.comments self.in_def = true self.env.extend result end |
#_reduce_314(val, _values, result) ⇒ Object
4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 |
# File 'lib/ruby_parser.rb', line 4393 def _reduce_314( val, _values, result ) name, args, body = val[1], val[3], val[4] # TODO: refactor name = name.to_sym body ||= s(:nil) block_arg = args.block_arg(:remove) body = self.block_append(args, body, body && body[0] == :block) body.insert 2, block_arg if block_arg result = s(:defn, name, s(:scope, body)) result.comments = self.comments.pop self.env.unextend self.in_def = false result end |
#_reduce_315(val, _values, result) ⇒ Object
4409 4410 4411 4412 4413 4414 |
# File 'lib/ruby_parser.rb', line 4409 def _reduce_315( val, _values, result ) # 0-2, 3 self.comments.push self.lexer.comments lexer.lex_state = :expr_fname result end |
#_reduce_316(val, _values, result) ⇒ Object
4416 4417 4418 4419 4420 4421 4422 |
# File 'lib/ruby_parser.rb', line 4416 def _reduce_316( val, _values, result ) # 4, 5 self.in_single += 1 self.env.extend; lexer.lex_state = :expr_end # force for args result end |
#_reduce_317(val, _values, result) ⇒ Object
4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 |
# File 'lib/ruby_parser.rb', line 4424 def _reduce_317( val, _values, result ) # 6-8 recv, name, args, body = val[1], val[4], val[6], val[7] block_arg = args.block_arg(:remove) body = self.block_append(args, body, body && body[0] == :block) body.insert 2, block_arg if block_arg result = s(:defs, recv, name.to_sym, s(:scope, body)) result.comments = self.comments.pop self.env.unextend; self.in_single -= 1 result end |
#_reduce_318(val, _values, result) ⇒ Object
4440 4441 4442 4443 |
# File 'lib/ruby_parser.rb', line 4440 def _reduce_318( val, _values, result ) result = s(:break) result end |
#_reduce_319(val, _values, result) ⇒ Object
4445 4446 4447 4448 |
# File 'lib/ruby_parser.rb', line 4445 def _reduce_319( val, _values, result ) result = s(:next) result end |
#_reduce_32(val, _values, result) ⇒ Object
3078 3079 3080 3081 3082 3083 3084 3085 3086 |
# File 'lib/ruby_parser.rb', line 3078 def _reduce_32( val, _values, result ) result = val[0] << if val[0][1] then s(:to_ary, val[2]) else val[0].delete_at 1 if val[0][1].nil? s(:array, val[2]) end result end |
#_reduce_320(val, _values, result) ⇒ Object
4450 4451 4452 4453 |
# File 'lib/ruby_parser.rb', line 4450 def _reduce_320( val, _values, result ) result = s(:redo) result end |
#_reduce_321(val, _values, result) ⇒ Object
4455 4456 4457 4458 |
# File 'lib/ruby_parser.rb', line 4455 def _reduce_321( val, _values, result ) result = s(:retry) result end |
#_reduce_322(val, _values, result) ⇒ Object
4460 4461 4462 4463 |
# File 'lib/ruby_parser.rb', line 4460 def _reduce_322( val, _values, result ) result = value_expr(val[0]) result end |
#_reduce_33(val, _values, result) ⇒ Object
3088 3089 3090 3091 3092 |
# File 'lib/ruby_parser.rb', line 3088 def _reduce_33( val, _values, result ) val[0].delete_at 1 if val[0][1].nil? result = val[0] << val[2] result end |
#_reduce_331(val, _values, result) ⇒ Object
reduce 330 omitted
4481 4482 4483 4484 |
# File 'lib/ruby_parser.rb', line 4481 def _reduce_331( val, _values, result ) result = s(:if, val[1], val[3], val[4]); result end |
#_reduce_333(val, _values, result) ⇒ Object
reduce 332 omitted
4488 4489 4490 4491 |
# File 'lib/ruby_parser.rb', line 4488 def _reduce_333( val, _values, result ) result = val[1]; result end |
#_reduce_335(val, _values, result) ⇒ Object
reduce 334 omitted
4495 4496 4497 4498 |
# File 'lib/ruby_parser.rb', line 4495 def _reduce_335( val, _values, result ) val[0].delete_at 1 if val[0][1].nil? result end |
#_reduce_337(val, _values, result) ⇒ Object
reduce 336 omitted
4502 4503 4504 4505 |
# File 'lib/ruby_parser.rb', line 4502 def _reduce_337( val, _values, result ) result = 0 result end |
#_reduce_338(val, _values, result) ⇒ Object
4507 4508 4509 4510 |
# File 'lib/ruby_parser.rb', line 4507 def _reduce_338( val, _values, result ) result = 0 result end |
#_reduce_339(val, _values, result) ⇒ Object
4512 4513 4514 4515 |
# File 'lib/ruby_parser.rb', line 4512 def _reduce_339( val, _values, result ) result = val[1]; result end |
#_reduce_340(val, _values, result) ⇒ Object
4517 4518 4519 4520 |
# File 'lib/ruby_parser.rb', line 4517 def _reduce_340( val, _values, result ) self.env.extend :dynamic result end |
#_reduce_341(val, _values, result) ⇒ Object
4522 4523 4524 4525 |
# File 'lib/ruby_parser.rb', line 4522 def _reduce_341( val, _values, result ) result = self.env.dynamic.keys result end |
#_reduce_342(val, _values, result) ⇒ Object
4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 |
# File 'lib/ruby_parser.rb', line 4527 def _reduce_342( val, _values, result ) vars = val[2] body = val[4] result = s(:iter) result << vars result << val[1] if val[1] result << body if body self.env.unextend; result end |
#_reduce_343(val, _values, result) ⇒ Object
4540 4541 4542 4543 4544 4545 4546 4547 |
# File 'lib/ruby_parser.rb', line 4540 def _reduce_343( val, _values, result ) raise SyntaxError, "Both block arg and actual block given." if val[0] && val[0][0] == :blockpass result = val[1] result.insert 1, val[0] result end |
#_reduce_344(val, _values, result) ⇒ Object
4549 4550 4551 4552 4553 |
# File 'lib/ruby_parser.rb', line 4549 def _reduce_344( val, _values, result ) result = s(:call, val[0], val[2]); result << val[3] if val[3] result end |
#_reduce_345(val, _values, result) ⇒ Object
4555 4556 4557 4558 4559 |
# File 'lib/ruby_parser.rb', line 4555 def _reduce_345( val, _values, result ) result = s(:call, val[0], val[2]); result << val[3] if val[3] result end |
#_reduce_346(val, _values, result) ⇒ Object
4561 4562 4563 4564 |
# File 'lib/ruby_parser.rb', line 4561 def _reduce_346( val, _values, result ) result = new_fcall(val[0].to_sym, val[1]) result end |
#_reduce_347(val, _values, result) ⇒ Object
4566 4567 4568 4569 |
# File 'lib/ruby_parser.rb', line 4566 def _reduce_347( val, _values, result ) result = new_call(val[0], val[2].to_sym, val[3]) result end |
#_reduce_348(val, _values, result) ⇒ Object
4571 4572 4573 4574 |
# File 'lib/ruby_parser.rb', line 4571 def _reduce_348( val, _values, result ) result = new_call(val[0], val[2].to_sym, val[3]) result end |
#_reduce_349(val, _values, result) ⇒ Object
4576 4577 4578 4579 |
# File 'lib/ruby_parser.rb', line 4576 def _reduce_349( val, _values, result ) result = new_call(val[0], val[2].to_sym) result end |
#_reduce_350(val, _values, result) ⇒ Object
4581 4582 4583 4584 |
# File 'lib/ruby_parser.rb', line 4581 def _reduce_350( val, _values, result ) result = self.new_super(val[1]); result end |
#_reduce_351(val, _values, result) ⇒ Object
4586 4587 4588 4589 |
# File 'lib/ruby_parser.rb', line 4586 def _reduce_351( val, _values, result ) result = s(:zsuper) result end |
#_reduce_352(val, _values, result) ⇒ Object
4591 4592 4593 4594 |
# File 'lib/ruby_parser.rb', line 4591 def _reduce_352( val, _values, result ) self.env.extend :dynamic result end |
#_reduce_353(val, _values, result) ⇒ Object
4596 4597 4598 4599 |
# File 'lib/ruby_parser.rb', line 4596 def _reduce_353( val, _values, result ) result = self.env.dynamic.keys result end |
#_reduce_354(val, _values, result) ⇒ Object
4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 |
# File 'lib/ruby_parser.rb', line 4601 def _reduce_354( val, _values, result ) # REFACTOR args = val[2] body = val[4] result = s(:iter) result << args result << body if body self.env.unextend result end |
#_reduce_355(val, _values, result) ⇒ Object
4612 4613 4614 4615 |
# File 'lib/ruby_parser.rb', line 4612 def _reduce_355( val, _values, result ) self.env.extend :dynamic result end |
#_reduce_356(val, _values, result) ⇒ Object
4617 4618 4619 4620 |
# File 'lib/ruby_parser.rb', line 4617 def _reduce_356( val, _values, result ) result = self.env.dynamic.keys result end |
#_reduce_357(val, _values, result) ⇒ Object
4622 4623 4624 4625 4626 4627 4628 4629 4630 |
# File 'lib/ruby_parser.rb', line 4622 def _reduce_357( val, _values, result ) args = val[2] body = val[4] result = s(:iter) result << args result << body if body self.env.unextend result end |
#_reduce_358(val, _values, result) ⇒ Object
4632 4633 4634 4635 4636 |
# File 'lib/ruby_parser.rb', line 4632 def _reduce_358( val, _values, result ) result = s(:when, val[1], val[3]) result << val[4] if val[4] result end |
#_reduce_36(val, _values, result) ⇒ Object
reduce 35 omitted
3098 3099 3100 3101 |
# File 'lib/ruby_parser.rb', line 3098 def _reduce_36( val, _values, result ) result = logop(:and, val[0], val[2]) result end |
#_reduce_360(val, _values, result) ⇒ Object
reduce 359 omitted
4640 4641 4642 4643 |
# File 'lib/ruby_parser.rb', line 4640 def _reduce_360( val, _values, result ) result = self.list_append(val[0], s(:when, val[3], nil)) result end |
#_reduce_361(val, _values, result) ⇒ Object
4645 4646 4647 4648 |
# File 'lib/ruby_parser.rb', line 4645 def _reduce_361( val, _values, result ) result = s(:array, s(:when, val[1], nil)); result end |
#_reduce_364(val, _values, result) ⇒ Object
reduce 363 omitted
4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 |
# File 'lib/ruby_parser.rb', line 4654 def _reduce_364( val, _values, result ) result = s(:resbody, val[1]) if val[2] then val[2] = node_assign(val[2], s(:gvar, :"$!")) strip = val[4] && val[4][0] == :block val[4] = block_append(val[2], val[4]) val[4].push(*val[4].pop[1..-1]) if strip # HACK removes nested block from block_append end result << val[4] if val[4] result << val[5] if val[5] result end |
#_reduce_365(val, _values, result) ⇒ Object
4669 4670 4671 4672 |
# File 'lib/ruby_parser.rb', line 4669 def _reduce_365( val, _values, result ) result = nil; result end |
#_reduce_366(val, _values, result) ⇒ Object
4674 4675 4676 4677 |
# File 'lib/ruby_parser.rb', line 4674 def _reduce_366( val, _values, result ) result = s(:array, val[0]); result end |
#_reduce_369(val, _values, result) ⇒ Object
reduce 368 omitted
4683 4684 4685 4686 |
# File 'lib/ruby_parser.rb', line 4683 def _reduce_369( val, _values, result ) result = val[1]; result end |
#_reduce_37(val, _values, result) ⇒ Object
3103 3104 3105 3106 |
# File 'lib/ruby_parser.rb', line 3103 def _reduce_37( val, _values, result ) result = logop(:or, val[0], val[2]) result end |
#_reduce_371(val, _values, result) ⇒ Object
reduce 370 omitted
4690 4691 4692 4693 4694 4695 4696 4697 |
# File 'lib/ruby_parser.rb', line 4690 def _reduce_371( val, _values, result ) if (val[1] != nil) then result = val[1]; else result = s(:nil) end result end |
#_reduce_373(val, _values, result) ⇒ Object
reduce 372 omitted
4701 4702 4703 4704 |
# File 'lib/ruby_parser.rb', line 4701 def _reduce_373( val, _values, result ) result = s(:lit, val[0]) result end |
#_reduce_374(val, _values, result) ⇒ Object
4706 4707 4708 4709 |
# File 'lib/ruby_parser.rb', line 4706 def _reduce_374( val, _values, result ) result = s(:lit, val[0]) result end |
#_reduce_376(val, _values, result) ⇒ Object
reduce 375 omitted
4713 4714 4715 4716 4717 |
# File 'lib/ruby_parser.rb', line 4713 def _reduce_376( val, _values, result ) val[0] = s(:dstr, val[0].value) if val[0][0] == :evstr result = val[0]; result end |
#_reduce_378(val, _values, result) ⇒ Object
reduce 377 omitted
4721 4722 4723 4724 |
# File 'lib/ruby_parser.rb', line 4721 def _reduce_378( val, _values, result ) result = self.literal_concat(val[0], val[1]); result end |
#_reduce_379(val, _values, result) ⇒ Object
4726 4727 4728 4729 |
# File 'lib/ruby_parser.rb', line 4726 def _reduce_379( val, _values, result ) result = val[1]; result end |
#_reduce_38(val, _values, result) ⇒ Object
3108 3109 3110 3111 |
# File 'lib/ruby_parser.rb', line 3108 def _reduce_38( val, _values, result ) result = s(:not, val[1]) result end |
#_reduce_380(val, _values, result) ⇒ Object
4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 |
# File 'lib/ruby_parser.rb', line 4731 def _reduce_380( val, _values, result ) node = val[1] unless node then node = s(:xstr, '') else case node[0] when :str node[0] = :xstr when :dstr node[0] = :dxstr else node = s(:dxstr, '', node) end end result = node result end |
#_reduce_381(val, _values, result) ⇒ Object
4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 |
# File 'lib/ruby_parser.rb', line 4751 def _reduce_381( val, _values, result ) node = val[1] || s(:str, '') = val[2] o, k = 0, nil .split(//).each do |c| # FIX: this has a better home v = { 'x' => Regexp::EXTENDED, 'i' => Regexp::IGNORECASE, 'm' => Regexp::MULTILINE, 'o' => Regexp::ONCE, 'n' => Regexp::ENC_NONE, 'e' => Regexp::ENC_EUC, 's' => Regexp::ENC_SJIS, 'u' => Regexp::ENC_UTF8, }[c] raise "unknown regexp option: #{c}" unless v o += v k = c if c =~ /[esu]/ end case node[0] when :str then node[0] = :lit node[1] = if k then Regexp.new(node[1], o, k) else Regexp.new(node[1], o) end when :dstr then if =~ /o/ then node[0] = :dregx_once else node[0] = :dregx end node << o if o and o != 0 else node = s(:dregx, '', node); node[0] = :dregx_once if =~ /o/ node << o if o and o != 0 end result = node result end |
#_reduce_382(val, _values, result) ⇒ Object
4797 4798 4799 4800 |
# File 'lib/ruby_parser.rb', line 4797 def _reduce_382( val, _values, result ) result = s(:zarray); result end |
#_reduce_383(val, _values, result) ⇒ Object
4802 4803 4804 4805 |
# File 'lib/ruby_parser.rb', line 4802 def _reduce_383( val, _values, result ) result = val[1]; result end |
#_reduce_384(val, _values, result) ⇒ Object
4807 4808 4809 4810 |
# File 'lib/ruby_parser.rb', line 4807 def _reduce_384( val, _values, result ) result = s(:array) result end |
#_reduce_385(val, _values, result) ⇒ Object
4812 4813 4814 4815 4816 |
# File 'lib/ruby_parser.rb', line 4812 def _reduce_385( val, _values, result ) word = val[1][0] == :evstr ? s(:dstr, '', val[1]) : val[1] result = val[0] << word result end |
#_reduce_387(val, _values, result) ⇒ Object
reduce 386 omitted
4820 4821 4822 4823 |
# File 'lib/ruby_parser.rb', line 4820 def _reduce_387( val, _values, result ) result = self.literal_concat(val[0], val[1]); result end |
#_reduce_388(val, _values, result) ⇒ Object
4825 4826 4827 4828 |
# File 'lib/ruby_parser.rb', line 4825 def _reduce_388( val, _values, result ) result = s(:zarray) result end |
#_reduce_389(val, _values, result) ⇒ Object
4830 4831 4832 4833 |
# File 'lib/ruby_parser.rb', line 4830 def _reduce_389( val, _values, result ) result = val[1] result end |
#_reduce_39(val, _values, result) ⇒ Object
3113 3114 3115 3116 |
# File 'lib/ruby_parser.rb', line 3113 def _reduce_39( val, _values, result ) result = s(:not, val[1]) result end |
#_reduce_390(val, _values, result) ⇒ Object
4835 4836 4837 4838 |
# File 'lib/ruby_parser.rb', line 4835 def _reduce_390( val, _values, result ) result = s(:array) result end |
#_reduce_391(val, _values, result) ⇒ Object
4840 4841 4842 4843 |
# File 'lib/ruby_parser.rb', line 4840 def _reduce_391( val, _values, result ) result = val[0] << val[1] result end |
#_reduce_392(val, _values, result) ⇒ Object
4845 4846 4847 4848 |
# File 'lib/ruby_parser.rb', line 4845 def _reduce_392( val, _values, result ) result = s(:str, "") result end |
#_reduce_393(val, _values, result) ⇒ Object
4850 4851 4852 4853 |
# File 'lib/ruby_parser.rb', line 4850 def _reduce_393( val, _values, result ) result = literal_concat(val[0], val[1]) result end |
#_reduce_394(val, _values, result) ⇒ Object
4855 4856 4857 4858 |
# File 'lib/ruby_parser.rb', line 4855 def _reduce_394( val, _values, result ) result = nil result end |
#_reduce_395(val, _values, result) ⇒ Object
4860 4861 4862 4863 |
# File 'lib/ruby_parser.rb', line 4860 def _reduce_395( val, _values, result ) result = literal_concat(val[0], val[1]) result end |
#_reduce_397(val, _values, result) ⇒ Object
reduce 396 omitted
4867 4868 4869 4870 4871 4872 |
# File 'lib/ruby_parser.rb', line 4867 def _reduce_397( val, _values, result ) result = lexer.lex_strterm; lexer.lex_strterm = nil lexer.lex_state = :expr_beg result end |
#_reduce_398(val, _values, result) ⇒ Object
4874 4875 4876 4877 4878 |
# File 'lib/ruby_parser.rb', line 4874 def _reduce_398( val, _values, result ) lexer.lex_strterm = val[1] result = s(:evstr, val[2]); result end |
#_reduce_399(val, _values, result) ⇒ Object
4880 4881 4882 4883 4884 4885 4886 4887 |
# File 'lib/ruby_parser.rb', line 4880 def _reduce_399( val, _values, result ) result = lexer.lex_strterm; lexer.lex_strterm = nil lexer.lex_state = :expr_beg lexer.cond.push false lexer.cmdarg.push false result end |
#_reduce_4(val, _values, result) ⇒ Object
2888 2889 2890 2891 |
# File 'lib/ruby_parser.rb', line 2888 def _reduce_4( val, _values, result ) result = void_stmts(val[0]) result end |
#_reduce_400(val, _values, result) ⇒ Object
4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 |
# File 'lib/ruby_parser.rb', line 4889 def _reduce_400( val, _values, result ) lexer.lex_strterm = val[1] lexer.cond.lexpop lexer.cmdarg.lexpop case val[2][0] when :str, :dstr, :evstr then result = val[2] else result = s(:evstr, val[2]) end result end |
#_reduce_401(val, _values, result) ⇒ Object
4902 4903 4904 4905 |
# File 'lib/ruby_parser.rb', line 4902 def _reduce_401( val, _values, result ) result = s(:gvar, val[0].to_sym); result end |
#_reduce_402(val, _values, result) ⇒ Object
4907 4908 4909 4910 |
# File 'lib/ruby_parser.rb', line 4907 def _reduce_402( val, _values, result ) result = s(:ivar, val[0].to_sym); result end |
#_reduce_403(val, _values, result) ⇒ Object
4912 4913 4914 4915 |
# File 'lib/ruby_parser.rb', line 4912 def _reduce_403( val, _values, result ) result = s(:cvar, val[0].to_sym); result end |
#_reduce_405(val, _values, result) ⇒ Object
reduce 404 omitted
4919 4920 4921 4922 4923 |
# File 'lib/ruby_parser.rb', line 4919 def _reduce_405( val, _values, result ) lexer.lex_state = :expr_end result = val[1].to_sym result end |
#_reduce_41(val, _values, result) ⇒ Object
reduce 40 omitted
3120 3121 3122 3123 |
# File 'lib/ruby_parser.rb', line 3120 def _reduce_41( val, _values, result ) result = value_expr(val[0]) result end |
#_reduce_410(val, _values, result) ⇒ Object
reduce 409 omitted
4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 |
# File 'lib/ruby_parser.rb', line 4933 def _reduce_410( val, _values, result ) lexer.lex_state = :expr_end result = val[1] yyerror("empty symbol literal") if result.nil? or result.empty? case result[0] when :dstr then result[0] = :dsym when :str then result = s(:lit, result.last.intern) else result = s(:dsym, '', result) end result end |
#_reduce_413(val, _values, result) ⇒ Object
reduce 412 omitted
4954 4955 4956 4957 |
# File 'lib/ruby_parser.rb', line 4954 def _reduce_413( val, _values, result ) result = -val[1] # TODO: pt_testcase result end |
#_reduce_414(val, _values, result) ⇒ Object
4959 4960 4961 4962 |
# File 'lib/ruby_parser.rb', line 4959 def _reduce_414( val, _values, result ) result = -val[1] # TODO: pt_testcase result end |
#_reduce_420(val, _values, result) ⇒ Object
reduce 419 omitted
4974 4975 4976 4977 |
# File 'lib/ruby_parser.rb', line 4974 def _reduce_420( val, _values, result ) result = s(:nil) result end |
#_reduce_421(val, _values, result) ⇒ Object
4979 4980 4981 4982 |
# File 'lib/ruby_parser.rb', line 4979 def _reduce_421( val, _values, result ) result = s(:self) result end |
#_reduce_422(val, _values, result) ⇒ Object
4984 4985 4986 4987 |
# File 'lib/ruby_parser.rb', line 4984 def _reduce_422( val, _values, result ) result = s(:true) result end |
#_reduce_423(val, _values, result) ⇒ Object
4989 4990 4991 4992 |
# File 'lib/ruby_parser.rb', line 4989 def _reduce_423( val, _values, result ) result = s(:false) result end |
#_reduce_424(val, _values, result) ⇒ Object
4994 4995 4996 4997 |
# File 'lib/ruby_parser.rb', line 4994 def _reduce_424( val, _values, result ) result = :"__FILE__" result end |
#_reduce_425(val, _values, result) ⇒ Object
4999 5000 5001 5002 |
# File 'lib/ruby_parser.rb', line 4999 def _reduce_425( val, _values, result ) result = :"__LINE__" result end |
#_reduce_426(val, _values, result) ⇒ Object
5004 5005 5006 5007 |
# File 'lib/ruby_parser.rb', line 5004 def _reduce_426( val, _values, result ) result = self.gettable(val[0]) result end |
#_reduce_427(val, _values, result) ⇒ Object
5009 5010 5011 5012 |
# File 'lib/ruby_parser.rb', line 5009 def _reduce_427( val, _values, result ) result = self.assignable(val[0]); result end |
#_reduce_430(val, _values, result) ⇒ Object
reduce 429 omitted
5018 5019 5020 5021 |
# File 'lib/ruby_parser.rb', line 5018 def _reduce_430( val, _values, result ) result = nil; result end |
#_reduce_431(val, _values, result) ⇒ Object
5023 5024 5025 5026 |
# File 'lib/ruby_parser.rb', line 5023 def _reduce_431( val, _values, result ) lexer.lex_state = :expr_beg result end |
#_reduce_432(val, _values, result) ⇒ Object
5028 5029 5030 5031 |
# File 'lib/ruby_parser.rb', line 5028 def _reduce_432( val, _values, result ) result = val[2]; result end |
#_reduce_433(val, _values, result) ⇒ Object
5033 5034 5035 5036 5037 |
# File 'lib/ruby_parser.rb', line 5033 def _reduce_433( val, _values, result ) yyerrok; result = nil; result end |
#_reduce_434(val, _values, result) ⇒ Object
5039 5040 5041 5042 5043 |
# File 'lib/ruby_parser.rb', line 5039 def _reduce_434( val, _values, result ) result = val[1]; lexer.lex_state = :expr_beg result end |
#_reduce_435(val, _values, result) ⇒ Object
5045 5046 5047 5048 |
# File 'lib/ruby_parser.rb', line 5045 def _reduce_435( val, _values, result ) result = val[0]; result end |
#_reduce_436(val, _values, result) ⇒ Object
5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 |
# File 'lib/ruby_parser.rb', line 5050 def _reduce_436( val, _values, result ) result = val[0] if val[2] then val[2][1..-1].each do |lasgn| # FIX clean sexp iter raise "wtf? #{lasgn.inspect}" unless lasgn[0] == :lasgn result << lasgn[1] end end result << val[4] if val[4] result << val[2] if val[2] result << val[5] if val[5] result end |
#_reduce_437(val, _values, result) ⇒ Object
5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 |
# File 'lib/ruby_parser.rb', line 5064 def _reduce_437( val, _values, result ) result = val[0] if val[2] then val[2][1..-1].each do |lasgn| # FIX clean sexp iter raise "wtf? #{lasgn.inspect}" unless lasgn[0] == :lasgn result << lasgn[1] end end result << val[2] if val[2] result << val[3] if val[3] result end |
#_reduce_438(val, _values, result) ⇒ Object
5077 5078 5079 5080 5081 5082 |
# File 'lib/ruby_parser.rb', line 5077 def _reduce_438( val, _values, result ) result = val[0] result << val[2] if val[2] result << val[3] if val[3] result end |
#_reduce_439(val, _values, result) ⇒ Object
5084 5085 5086 5087 5088 |
# File 'lib/ruby_parser.rb', line 5084 def _reduce_439( val, _values, result ) result = val[0] result << val[1] if val[1] result end |
#_reduce_44(val, _values, result) ⇒ Object
reduce 43 omitted
3129 3130 3131 3132 |
# File 'lib/ruby_parser.rb', line 3129 def _reduce_44( val, _values, result ) result = s(:return, ret_args(val[1])) result end |
#_reduce_440(val, _values, result) ⇒ Object
5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 |
# File 'lib/ruby_parser.rb', line 5090 def _reduce_440( val, _values, result ) result = s(:args) if val[0] then val[0][1..-1].each do |lasgn| # FIX clean sexp iter raise "wtf? #{lasgn.inspect}" unless lasgn[0] == :lasgn result << lasgn[1] end end result << val[2] if val[2] result << val[0] if val[0] result << val[3] if val[3] result end |
#_reduce_441(val, _values, result) ⇒ Object
5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 |
# File 'lib/ruby_parser.rb', line 5105 def _reduce_441( val, _values, result ) result = s(:args) if val[0] then val[0][1..-1].each do |lasgn| # FIX clean sexp iter raise "wtf? #{lasgn.inspect}" unless lasgn[0] == :lasgn result << lasgn[1] end end result << val[0] if val[0] result << val[1] if val[1] result end |
#_reduce_442(val, _values, result) ⇒ Object
5119 5120 5121 5122 |
# File 'lib/ruby_parser.rb', line 5119 def _reduce_442( val, _values, result ) result = s(:args, val[0], val[1]).compact result end |
#_reduce_443(val, _values, result) ⇒ Object
5124 5125 5126 5127 |
# File 'lib/ruby_parser.rb', line 5124 def _reduce_443( val, _values, result ) result = s(:args, val[0]).compact result end |
#_reduce_444(val, _values, result) ⇒ Object
5129 5130 5131 5132 |
# File 'lib/ruby_parser.rb', line 5129 def _reduce_444( val, _values, result ) result = s(:args) result end |
#_reduce_445(val, _values, result) ⇒ Object
5134 5135 5136 5137 |
# File 'lib/ruby_parser.rb', line 5134 def _reduce_445( val, _values, result ) yyerror("formal argument cannot be a constant"); result end |
#_reduce_446(val, _values, result) ⇒ Object
5139 5140 5141 5142 |
# File 'lib/ruby_parser.rb', line 5139 def _reduce_446( val, _values, result ) yyerror("formal argument cannot be an instance variable"); result end |
#_reduce_447(val, _values, result) ⇒ Object
5144 5145 5146 5147 |
# File 'lib/ruby_parser.rb', line 5144 def _reduce_447( val, _values, result ) yyerror("formal argument cannot be a class variable"); result end |
#_reduce_448(val, _values, result) ⇒ Object
5149 5150 5151 5152 5153 5154 5155 |
# File 'lib/ruby_parser.rb', line 5149 def _reduce_448( val, _values, result ) identifier = val[0].to_sym self.env[identifier] = :lvar result = val[0]; result end |
#_reduce_449(val, _values, result) ⇒ Object
5157 5158 5159 5160 5161 |
# File 'lib/ruby_parser.rb', line 5157 def _reduce_449( val, _values, result ) result = s(:args) result << val[0].to_sym result end |
#_reduce_45(val, _values, result) ⇒ Object
3134 3135 3136 3137 |
# File 'lib/ruby_parser.rb', line 3134 def _reduce_45( val, _values, result ) result = s(:break, ret_args(val[1])) result end |
#_reduce_450(val, _values, result) ⇒ Object
5163 5164 5165 5166 5167 |
# File 'lib/ruby_parser.rb', line 5163 def _reduce_450( val, _values, result ) val[0] << val[2].to_sym result = val[0] result end |
#_reduce_451(val, _values, result) ⇒ Object
5169 5170 5171 5172 5173 |
# File 'lib/ruby_parser.rb', line 5169 def _reduce_451( val, _values, result ) result = self.assignable(val[0], val[2]); # TODO: detect duplicate names result end |
#_reduce_452(val, _values, result) ⇒ Object
5175 5176 5177 5178 |
# File 'lib/ruby_parser.rb', line 5175 def _reduce_452( val, _values, result ) result = s(:block, val[0]) result end |
#_reduce_453(val, _values, result) ⇒ Object
5180 5181 5182 5183 |
# File 'lib/ruby_parser.rb', line 5180 def _reduce_453( val, _values, result ) result = self.append_to_block(val[0], val[2]); result end |
#_reduce_456(val, _values, result) ⇒ Object
reduce 455 omitted
5189 5190 5191 5192 5193 5194 5195 |
# File 'lib/ruby_parser.rb', line 5189 def _reduce_456( val, _values, result ) # TODO: differs from parse.y - needs tests name = val[1].to_sym self.assignable(name) result = :"*#{name}" result end |
#_reduce_457(val, _values, result) ⇒ Object
5197 5198 5199 5200 5201 5202 |
# File 'lib/ruby_parser.rb', line 5197 def _reduce_457( val, _values, result ) name = :"*" self.env[name] = self.env.dynamic? ? :dvar : :lvar # FIX result = name result end |
#_reduce_46(val, _values, result) ⇒ Object
3139 3140 3141 3142 |
# File 'lib/ruby_parser.rb', line 3139 def _reduce_46( val, _values, result ) result = s(:next, ret_args(val[1])) result end |
#_reduce_460(val, _values, result) ⇒ Object
reduce 459 omitted
5208 5209 5210 5211 5212 5213 5214 |
# File 'lib/ruby_parser.rb', line 5208 def _reduce_460( val, _values, result ) identifier = val[1].to_sym self.env[identifier] = self.env.dynamic? ? :dvar : :lvar result = s(:block_arg, identifier.to_sym) result end |
#_reduce_461(val, _values, result) ⇒ Object
5216 5217 5218 5219 |
# File 'lib/ruby_parser.rb', line 5216 def _reduce_461( val, _values, result ) result = val[1]; result end |
#_reduce_462(val, _values, result) ⇒ Object
5221 5222 5223 5224 |
# File 'lib/ruby_parser.rb', line 5221 def _reduce_462( val, _values, result ) result = nil; result end |
#_reduce_464(val, _values, result) ⇒ Object
reduce 463 omitted
5228 5229 5230 5231 |
# File 'lib/ruby_parser.rb', line 5228 def _reduce_464( val, _values, result ) lexer.lex_state = :expr_beg result end |
#_reduce_465(val, _values, result) ⇒ Object
5233 5234 5235 5236 5237 5238 5239 |
# File 'lib/ruby_parser.rb', line 5233 def _reduce_465( val, _values, result ) if (val[2].instanceof ILiteralNode) then yyerror("Can't define single method for literals."); end result = val[2]; result end |
#_reduce_466(val, _values, result) ⇒ Object
5241 5242 5243 5244 5245 |
# File 'lib/ruby_parser.rb', line 5241 def _reduce_466( val, _values, result ) # [!nil] result = s(:array) result end |
#_reduce_467(val, _values, result) ⇒ Object
5247 5248 5249 5250 5251 |
# File 'lib/ruby_parser.rb', line 5247 def _reduce_467( val, _values, result ) # [!nil] result = val[0]; result end |
#_reduce_468(val, _values, result) ⇒ Object
5253 5254 5255 5256 5257 5258 5259 5260 |
# File 'lib/ruby_parser.rb', line 5253 def _reduce_468( val, _values, result ) size = val[0].size if (size % 2 != 1) then # != 1 because of leading :array yyerror("Odd number (#{size}) list for Hash. #{val[0].inspect}"); end result = val[0]; result end |
#_reduce_470(val, _values, result) ⇒ Object
reduce 469 omitted
5264 5265 5266 5267 5268 5269 5270 |
# File 'lib/ruby_parser.rb', line 5264 def _reduce_470( val, _values, result ) list = val[0].dup more = val[2][1..-1] list.push(*more) unless more.empty? result = list result end |
#_reduce_471(val, _values, result) ⇒ Object
5272 5273 5274 5275 |
# File 'lib/ruby_parser.rb', line 5272 def _reduce_471( val, _values, result ) result = s(:array, val[0], val[2]) result end |
#_reduce_48(val, _values, result) ⇒ Object
reduce 47 omitted
3146 3147 3148 3149 |
# File 'lib/ruby_parser.rb', line 3146 def _reduce_48( val, _values, result ) result = s(:call, val[0], val[2], val[3]); result end |
#_reduce_49(val, _values, result) ⇒ Object
3151 3152 3153 3154 |
# File 'lib/ruby_parser.rb', line 3151 def _reduce_49( val, _values, result ) result = s(:call, val[0], val[2], val[3]); result end |
#_reduce_491(val, _values, result) ⇒ Object
reduce 490 omitted
5315 5316 5317 5318 |
# File 'lib/ruby_parser.rb', line 5315 def _reduce_491( val, _values, result ) yyerrok result end |
#_reduce_494(val, _values, result) ⇒ Object
reduce 493 omitted
5324 5325 5326 5327 |
# File 'lib/ruby_parser.rb', line 5324 def _reduce_494( val, _values, result ) yyerrok result end |
#_reduce_495(val, _values, result) ⇒ Object
5329 5330 5331 5332 |
# File 'lib/ruby_parser.rb', line 5329 def _reduce_495( val, _values, result ) result = nil result end |
#_reduce_496(val, _values, result) ⇒ Object
5334 5335 5336 5337 |
# File 'lib/ruby_parser.rb', line 5334 def _reduce_496( val, _values, result ) result = nil result end |
#_reduce_50(val, _values, result) ⇒ Object
3156 3157 3158 3159 |
# File 'lib/ruby_parser.rb', line 3156 def _reduce_50( val, _values, result ) self.env.extend :dynamic result end |
#_reduce_51(val, _values, result) ⇒ Object
3161 3162 3163 3164 |
# File 'lib/ruby_parser.rb', line 3161 def _reduce_51( val, _values, result ) result = self.env.dynamic.keys result end |
#_reduce_52(val, _values, result) ⇒ Object
3166 3167 3168 3169 3170 |
# File 'lib/ruby_parser.rb', line 3166 def _reduce_52( val, _values, result ) result = s(:iter, val[2], val[4]) self.env.unextend; result end |
#_reduce_53(val, _values, result) ⇒ Object
3172 3173 3174 3175 |
# File 'lib/ruby_parser.rb', line 3172 def _reduce_53( val, _values, result ) result = new_fcall(val[0].to_sym, val[1]) result end |
#_reduce_54(val, _values, result) ⇒ Object
3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 |
# File 'lib/ruby_parser.rb', line 3177 def _reduce_54( val, _values, result ) result = new_fcall(val[0].to_sym, val[1]) if val[2] then if result[0] == :block_pass then raise "both block arg and actual block given" end val[2] << result result = val[2] end result end |
#_reduce_55(val, _values, result) ⇒ Object
3189 3190 3191 3192 |
# File 'lib/ruby_parser.rb', line 3189 def _reduce_55( val, _values, result ) result = new_call(val[0], val[2].to_sym, val[3]) result end |
#_reduce_56(val, _values, result) ⇒ Object
3194 3195 3196 3197 |
# File 'lib/ruby_parser.rb', line 3194 def _reduce_56( val, _values, result ) result = new_call(val[0], val[2].to_sym, val[3]) result end |
#_reduce_57(val, _values, result) ⇒ Object
3199 3200 3201 3202 |
# File 'lib/ruby_parser.rb', line 3199 def _reduce_57( val, _values, result ) result = new_call(val[0], val[2].to_sym, val[3]) result end |
#_reduce_58(val, _values, result) ⇒ Object
3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 |
# File 'lib/ruby_parser.rb', line 3204 def _reduce_58( val, _values, result ) result = new_call(val[0], val[2].to_sym, val[3]) if val[4] then if result[0] == :block_pass then # REFACTOR raise "both block arg and actual block given" end val[2] << result result = val[2] end result end |
#_reduce_59(val, _values, result) ⇒ Object
3216 3217 3218 3219 |
# File 'lib/ruby_parser.rb', line 3216 def _reduce_59( val, _values, result ) result = self.new_super(val[1]); result end |
#_reduce_60(val, _values, result) ⇒ Object
3221 3222 3223 3224 |
# File 'lib/ruby_parser.rb', line 3221 def _reduce_60( val, _values, result ) result = self.new_yield(val[1]); result end |
#_reduce_62(val, _values, result) ⇒ Object
reduce 61 omitted
3228 3229 3230 3231 |
# File 'lib/ruby_parser.rb', line 3228 def _reduce_62( val, _values, result ) result = val[1]; result end |
#_reduce_64(val, _values, result) ⇒ Object
reduce 63 omitted
3235 3236 3237 3238 |
# File 'lib/ruby_parser.rb', line 3235 def _reduce_64( val, _values, result ) result = s(:masgn, s(:array, val[1])); result end |
#_reduce_65(val, _values, result) ⇒ Object
3240 3241 3242 3243 |
# File 'lib/ruby_parser.rb', line 3240 def _reduce_65( val, _values, result ) result = s(:masgn, val[0]); result end |
#_reduce_66(val, _values, result) ⇒ Object
3245 3246 3247 3248 |
# File 'lib/ruby_parser.rb', line 3245 def _reduce_66( val, _values, result ) result = s(:masgn, val[0] << val[1].compact); result end |
#_reduce_67(val, _values, result) ⇒ Object
3250 3251 3252 3253 |
# File 'lib/ruby_parser.rb', line 3250 def _reduce_67( val, _values, result ) result = s(:masgn, val[0], val[2]); result end |
#_reduce_68(val, _values, result) ⇒ Object
3255 3256 3257 3258 |
# File 'lib/ruby_parser.rb', line 3255 def _reduce_68( val, _values, result ) result = s(:masgn, val[0], s(:splat)) result end |
#_reduce_69(val, _values, result) ⇒ Object
3260 3261 3262 3263 |
# File 'lib/ruby_parser.rb', line 3260 def _reduce_69( val, _values, result ) result = s(:masgn, nil, val[1]); result end |
#_reduce_7(val, _values, result) ⇒ Object
reduce 6 omitted
2897 2898 2899 2900 |
# File 'lib/ruby_parser.rb', line 2897 def _reduce_7( val, _values, result ) result = self.block_append(val[0], val[2]) result end |
#_reduce_70(val, _values, result) ⇒ Object
3265 3266 3267 3268 |
# File 'lib/ruby_parser.rb', line 3265 def _reduce_70( val, _values, result ) result = s(:masgn, nil, s(:splat)) result end |
#_reduce_72(val, _values, result) ⇒ Object
reduce 71 omitted
3272 3273 3274 3275 |
# File 'lib/ruby_parser.rb', line 3272 def _reduce_72( val, _values, result ) result = val[1]; result end |
#_reduce_73(val, _values, result) ⇒ Object
3277 3278 3279 3280 |
# File 'lib/ruby_parser.rb', line 3277 def _reduce_73( val, _values, result ) result = s(:array, val[0]) result end |
#_reduce_74(val, _values, result) ⇒ Object
3282 3283 3284 3285 |
# File 'lib/ruby_parser.rb', line 3282 def _reduce_74( val, _values, result ) result = val[0] << val[1].compact result end |
#_reduce_75(val, _values, result) ⇒ Object
3287 3288 3289 3290 |
# File 'lib/ruby_parser.rb', line 3287 def _reduce_75( val, _values, result ) result = self.assignable(val[0]) result end |
#_reduce_76(val, _values, result) ⇒ Object
3292 3293 3294 3295 |
# File 'lib/ruby_parser.rb', line 3292 def _reduce_76( val, _values, result ) result = self.aryset(val[0], val[2]); result end |
#_reduce_77(val, _values, result) ⇒ Object
3297 3298 3299 3300 |
# File 'lib/ruby_parser.rb', line 3297 def _reduce_77( val, _values, result ) result = s(:attrasgn, val[0], :"#{val[2].value}="); result end |
#_reduce_78(val, _values, result) ⇒ Object
3302 3303 3304 3305 |
# File 'lib/ruby_parser.rb', line 3302 def _reduce_78( val, _values, result ) result = s(:attrasgn, val[0], :"#{val[2].value}="); result end |
#_reduce_79(val, _values, result) ⇒ Object
3307 3308 3309 3310 |
# File 'lib/ruby_parser.rb', line 3307 def _reduce_79( val, _values, result ) result = s(:attrasgn, val[0], :"#{val[2].value}="); result end |
#_reduce_8(val, _values, result) ⇒ Object
2902 2903 2904 2905 |
# File 'lib/ruby_parser.rb', line 2902 def _reduce_8( val, _values, result ) result = val[1]; result end |
#_reduce_80(val, _values, result) ⇒ Object
3312 3313 3314 3315 3316 3317 3318 3319 3320 |
# File 'lib/ruby_parser.rb', line 3312 def _reduce_80( val, _values, result ) if (self.in_def || self.in_single > 0) then yyerror("dynamic constant assignment"); end result = s(:constdecl, nil, s(:colon2, val[0], val[2].value), nil) result end |
#_reduce_81(val, _values, result) ⇒ Object
3322 3323 3324 3325 3326 3327 3328 3329 |
# File 'lib/ruby_parser.rb', line 3322 def _reduce_81( val, _values, result ) if (self.in_def || self.in_single > 0) then yyerror("dynamic constant assignment"); end result = s(:const, nil, s(:colon3, val[1].to_sym)) result end |
#_reduce_82(val, _values, result) ⇒ Object
3331 3332 3333 3334 |
# File 'lib/ruby_parser.rb', line 3331 def _reduce_82( val, _values, result ) self.backref_assign_error(val[0]); result end |
#_reduce_83(val, _values, result) ⇒ Object
3336 3337 3338 3339 |
# File 'lib/ruby_parser.rb', line 3336 def _reduce_83( val, _values, result ) result = self.assignable(val[0]) result end |
#_reduce_84(val, _values, result) ⇒ Object
3341 3342 3343 3344 |
# File 'lib/ruby_parser.rb', line 3341 def _reduce_84( val, _values, result ) result = self.aryset(val[0], val[2]); result end |
#_reduce_85(val, _values, result) ⇒ Object
3346 3347 3348 3349 |
# File 'lib/ruby_parser.rb', line 3346 def _reduce_85( val, _values, result ) result = s(:attrasgn, val[0], :"#{val[2].value}="); result end |
#_reduce_86(val, _values, result) ⇒ Object
3351 3352 3353 3354 |
# File 'lib/ruby_parser.rb', line 3351 def _reduce_86( val, _values, result ) result = s(:attrasgn, val[0], :"#{val[2].value}="); result end |
#_reduce_87(val, _values, result) ⇒ Object
3356 3357 3358 3359 |
# File 'lib/ruby_parser.rb', line 3356 def _reduce_87( val, _values, result ) result = s(:attrasgn, val[0], :"#{val[2].value}="); result end |
#_reduce_88(val, _values, result) ⇒ Object
3361 3362 3363 3364 3365 3366 3367 3368 |
# File 'lib/ruby_parser.rb', line 3361 def _reduce_88( val, _values, result ) if (self.in_def || self.in_single > 0) then yyerror("dynamic constant assignment"); end result = s(:constdecl, nil, s(:colon2, val[0], val[2].value), nil); result end |
#_reduce_89(val, _values, result) ⇒ Object
3370 3371 3372 3373 3374 3375 3376 3377 |
# File 'lib/ruby_parser.rb', line 3370 def _reduce_89( val, _values, result ) if (self.in_def || self.in_single > 0) then yyerror("dynamic constant assignment"); end result = s(:const, nil, s(:colon3, val[1].to_sym)) result end |
#_reduce_9(val, _values, result) ⇒ Object
2907 2908 2909 2910 |
# File 'lib/ruby_parser.rb', line 2907 def _reduce_9( val, _values, result ) lexer.lex_state = :expr_fname result end |
#_reduce_90(val, _values, result) ⇒ Object
3379 3380 3381 3382 |
# File 'lib/ruby_parser.rb', line 3379 def _reduce_90( val, _values, result ) self.backref_assign_error(val[0]); result end |
#_reduce_91(val, _values, result) ⇒ Object
3384 3385 3386 3387 |
# File 'lib/ruby_parser.rb', line 3384 def _reduce_91( val, _values, result ) yyerror("class/module name must be CONSTANT"); result end |
#_reduce_93(val, _values, result) ⇒ Object
reduce 92 omitted
3391 3392 3393 3394 |
# File 'lib/ruby_parser.rb', line 3391 def _reduce_93( val, _values, result ) result = s(:colon3, val[1].to_sym) result end |
#_reduce_94(val, _values, result) ⇒ Object
3396 3397 3398 3399 |
# File 'lib/ruby_parser.rb', line 3396 def _reduce_94( val, _values, result ) result = s(:colon2, nil, val[0].value); result end |
#_reduce_95(val, _values, result) ⇒ Object
3401 3402 3403 3404 |
# File 'lib/ruby_parser.rb', line 3401 def _reduce_95( val, _values, result ) result = s(:colon2, val[0], val[2].value); result end |
#_reduce_99(val, _values, result) ⇒ Object
reduce 98 omitted
3412 3413 3414 3415 3416 |
# File 'lib/ruby_parser.rb', line 3412 def _reduce_99( val, _values, result ) lexer.lex_state = :expr_end result = val[0]; result end |
#_reduce_none(val, _values, result) ⇒ Object
5339 5340 5341 |
# File 'lib/ruby_parser.rb', line 5339 def _reduce_none( val, _values, result ) result end |
#append_to_block(head, tail) ⇒ Object
FIX: wtf is this?!? switch to block_append
60 61 62 63 64 65 66 |
# File 'lib/ruby_parser_extras.rb', line 60 def append_to_block head, tail # FIX: wtf is this?!? switch to block_append return head if tail.nil? return tail if head.nil? head = s(:block, head) unless head.node_type == :block head << tail end |
#arg_add(node1, node2) ⇒ Object
68 69 70 71 72 |
# File 'lib/ruby_parser_extras.rb', line 68 def arg_add(node1, node2) return s(:array, node2) unless node1 return node1 << node2 if node1[0] == :array return s(:argspush, node1, node2) end |
#arg_blk_pass(node1, node2) ⇒ Object
74 75 76 77 78 79 80 81 |
# File 'lib/ruby_parser_extras.rb', line 74 def arg_blk_pass node1, node2 if node2 then node2.insert 1, node1 return node2 else node1 end end |
#arg_concat(node1, node2) ⇒ Object
83 84 85 |
# File 'lib/ruby_parser_extras.rb', line 83 def arg_concat node1, node2 return node2.nil? ? node1 : s(:argscat, node1, node2) end |
#aryset(receiver, index) ⇒ Object
87 88 89 |
# File 'lib/ruby_parser_extras.rb', line 87 def aryset receiver, index s(:attrasgn, receiver, :"[]=", index) end |
#assignable(lhs, value = nil) ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
# File 'lib/ruby_parser_extras.rb', line 91 def assignable(lhs, value = nil) id = lhs.to_sym id = id.to_sym if Sexp === id raise SyntaxError, "Can't change the value of #{id}" if id.to_s =~ /^(?:self|nil|true|false|__LINE__|__FILE__)$/ result = case id.to_s when /^@@/ then asgn = in_def || in_single > 0 s((asgn ? :cvasgn : :cvdecl), id) when /^@/ then s(:iasgn, id) when /^\$/ then s(:gasgn, id) when /^[A-Z]/ then s(:cdecl, id) else case self.env[id] when :lvar then s(:lasgn, id) when :dvar, nil then if self.env.current[id] == :dvar then s(:dasgn_curr, id) elsif self.env[id] == :dvar then self.env.use(id) s(:dasgn, id) elsif ! self.env.dynamic? then s(:lasgn, id) else s(:dasgn_curr, id) end else raise "wtf? unknown type: #{self.env[id]}" end end self.env[id] = (self.env.dynamic? ? :dvar : :lvar) unless self.env[id] result << value if value return result end |
#block_append(head, tail, strip_tail_block = false) ⇒ Object
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
# File 'lib/ruby_parser_extras.rb', line 135 def block_append(head, tail, strip_tail_block=false) return head unless tail return tail unless head case head[0] when :lit, :str then return tail end head = remove_begin(head) head = s(:block, head) unless head[0] == :block if strip_tail_block and Sexp === tail and tail[0] == :block then head.push(*tail.values) else head << tail end end |
#cond(node) ⇒ Object
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/ruby_parser_extras.rb', line 154 def cond node return nil if node.nil? node = value_expr node case node.first when :dregex then return s(:match2, node, s(:gvar, "$_".to_sym)) when :regex then return s(:match, node) when :lit then if Regexp === node.last then return s(:match, node) else return node end when :and then return s(:and, cond(node[1]), cond(node[2])) when :or then return s(:or, cond(node[1]), cond(node[2])) when :dot2 then label = "flip#{node.hash}" env[label] = self.env.dynamic? ? :dvar : :lvar return s(:flip2, node[1], node[2]) when :dot3 then label = "flip#{node.hash}" env[label] = self.env.dynamic? ? :dvar : :lvar return s(:flip3, node[1], node[2]) else return node end end |
#do_parse ⇒ Object
for pure ruby systems only
189 190 191 |
# File 'lib/ruby_parser_extras.rb', line 189 def do_parse _racc_do_parse_rb(_racc_setup, false) end |
#get_match_node(lhs, rhs) ⇒ Object
193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 |
# File 'lib/ruby_parser_extras.rb', line 193 def get_match_node lhs, rhs if lhs then case lhs[0] when :dregx, :dregx_once then return s(:match2, lhs, rhs) when :lit then return s(:match2, lhs, rhs) if Regexp === lhs.last end end if rhs then case rhs[0] when :dregx, :dregx_once then return s(:match3, rhs, lhs) when :lit then return s(:match3, rhs, lhs) if Regexp === rhs.last end end return s(:call, lhs, :"=~", s(:array, rhs)) end |
#gettable(id) ⇒ Object
215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 |
# File 'lib/ruby_parser_extras.rb', line 215 def gettable(id) id = id.to_sym if Sexp === id # HACK id = id.to_sym if String === id # HACK return s(:self) if id == :self return s(:nil) if id == :nil return s(:true) if id == :true return s(:false) if id == :false return s(:str, self.file) if id == :"__FILE__" return s(:lit, lexer.src.current_line) if id == :"__LINE__" result = case id.to_s when /^@@/ then s(:cvar, id) when /^@/ then s(:ivar, id) when /^\$/ then s(:gvar, id) when /^[A-Z]/ then s(:const, id) else type = env[id] if type then s(type, id) elsif env.dynamic? and :dvar == env[id] then s(:dvar, id) else s(:vcall, id) end end return result if result raise "identifier #{id.inspect} is not valid" end |
#list_append(list, item) ⇒ Object
TODO: nuke me sigh
260 261 262 263 |
# File 'lib/ruby_parser_extras.rb', line 260 def list_append list, item # TODO: nuke me *sigh* return s(:array, item) unless list list << item end |
#literal_concat(head, tail) ⇒ Object
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 |
# File 'lib/ruby_parser_extras.rb', line 265 def literal_concat head, tail return tail unless head return head unless tail htype, ttype = head[0], tail[0] head = s(:dstr, '', head) if htype == :evstr case ttype when :str then if htype == :str head[-1] << tail[-1] elsif htype == :dstr and head.size == 2 then head[-1] << tail[-1] else head << tail end when :dstr then if htype == :str then tail[1] = head[-1] + tail[1] head = tail else tail[0] = :array tail[1] = s(:str, tail[1]) tail.delete_at 1 if tail[1] == s(:str, '') head.push(*tail[1..-1]) end when :evstr then head[0] = :dstr if htype == :str if head.size == 2 and tail[1][0] == :str then head[-1] << tail[1][-1] head[0] = :str if head.size == 2 # HACK ? else head.push(tail) end end return head end |
#logop(type, left, right) ⇒ Object
TODO: rename logical_op
306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 |
# File 'lib/ruby_parser_extras.rb', line 306 def logop(type, left, right) # TODO: rename logical_op left = value_expr left if left and left[0] == type and not left.paren then node, second = left, nil while (second = node[2]) && second[0] == type and not second.paren do node = second end node[2] = s(type, second, right) return left end return s(type, left, right) end |
#new_call(recv, meth, args = nil) ⇒ Object
REFACTOR - merge with fcall
324 325 326 327 328 329 330 331 332 333 334 335 336 |
# File 'lib/ruby_parser_extras.rb', line 324 def new_call recv, meth, args = nil # REFACTOR - merge with fcall if args && args[0] == :block_pass then new_args = args.array(true) || args.argscat(true) || args.splat(true) call = s(:call, recv, meth) call << new_args if new_args args << call return args end result = s(:call, recv, meth) result << args if args result end |
#new_fcall(meth, args) ⇒ Object
338 339 340 341 342 343 344 345 346 347 348 349 350 |
# File 'lib/ruby_parser_extras.rb', line 338 def new_fcall meth, args if args and args[0] == :block_pass then new_args = args.array(true) || args.argscat(true) || args.splat(true) call = s(:fcall, meth) call << new_args if new_args args << call return args end r = s(:fcall, meth) r << args if args and args != s(:array) r end |
#new_super(args) ⇒ Object
352 353 354 355 356 357 358 359 360 361 |
# File 'lib/ruby_parser_extras.rb', line 352 def new_super args if args && args.node_type == :block_pass then t, body, bp = args result = s(t, bp, s(:super, body)) else result = s(:super) result << args if args and args != s(:array) end result end |
#new_yield(node) ⇒ Object
363 364 365 366 367 368 369 370 371 372 |
# File 'lib/ruby_parser_extras.rb', line 363 def new_yield(node) if node then raise SyntaxError, "Block argument should not be given." if node.node_type == :block_pass node = node.last if node.node_type == :array and node.size == 2 end return s(:yield, node) end |
#next_token ⇒ Object
374 375 376 377 378 379 380 |
# File 'lib/ruby_parser_extras.rb', line 374 def next_token if self.lexer.advance then [self.lexer.token, self.lexer.yacc_value] else return [false, '$end'] end end |
#node_assign(lhs, rhs) ⇒ Object
382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 |
# File 'lib/ruby_parser_extras.rb', line 382 def node_assign(lhs, rhs) return nil unless lhs rhs = value_expr rhs case lhs[0] when :gasgn, :iasgn, :lasgn, :dasgn, :dasgn_curr, :masgn, :cdecl, :cvdecl, :cvasgn then lhs << rhs when :attrasgn, :call then args = lhs.array(true) || lhs.argscat(true) || lhs.splat(true) # FIX: fragile lhs << arg_add(args, rhs) end lhs end |
#parse(str, file = "(string)") ⇒ Object
399 400 401 402 403 404 405 406 407 408 |
# File 'lib/ruby_parser_extras.rb', line 399 def parse(str, file = "(string)") raise "bad val: #{str.inspect}" unless String === str self.file = file self.lexer.src = str @yydebug = ENV.has_key? 'DEBUG' do_parse end |
#remove_begin(node) ⇒ Object
410 411 412 413 |
# File 'lib/ruby_parser_extras.rb', line 410 def remove_begin node node = node[-1] if node and node[0] == :begin and node.size == 2 node end |
#ret_args(node) ⇒ Object
415 416 417 418 419 420 421 422 423 424 425 426 427 |
# File 'lib/ruby_parser_extras.rb', line 415 def ret_args node if node then raise SyntaxError, "block argument should not be given" if node[0] == :block_pass node = node.last if node[0] == :array && node.size == 2 # HACK matz wraps ONE of the FOUR splats in a newline to # distinguish. I use paren for now. ugh node = s(:svalue, node) if node[0] == :splat and not node.paren end node end |
#value_expr(node) ⇒ Object
HACK
429 430 431 432 433 |
# File 'lib/ruby_parser_extras.rb', line 429 def value_expr node # HACK node = remove_begin node node[2] = value_expr(node[2]) if node and node[0] == :if node end |
#void_stmts(node) ⇒ Object
435 436 437 438 439 440 441 |
# File 'lib/ruby_parser_extras.rb', line 435 def void_stmts node return nil unless node return node unless node[0] == :block node[1..-2] = node[1..-2].map { |n| remove_begin(n) } node end |
#warning(s) ⇒ Object
443 444 445 |
# File 'lib/ruby_parser_extras.rb', line 443 def warning s # do nothing for now end |