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", "tSTRING", "tSYMBOL", "tNL", "tEH", "tCOLON", "tCOMMA", "tSPACE", "tSEMI", "tLAST_TOKEN", "tEQL", "tLOWEST", "\"[\"", "$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", "@24", "@25", "@26", "@27", "do_block", "@28", "@29", "operation3", "@30", "@31", "@32", "@33", "@34", "when_args", "cases", "@35", "exc_list", "exc_var", "numeric", "dsym", "string", "string1", "string_contents", "xstring_contents", "word_list", "word", "string_content", "qword_list", "string_dvar", "@36", "@37", "sym", "@38", "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", "@39", "assoc" ]
- Racc_debug_parser =
true
- VERSION =
SIGH
'2.0.5'
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_290(val, _values, result) ⇒ Object
-
#_reduce_292(val, _values, result) ⇒ Object
reduce 291 omitted.
- #_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_323(val, _values, result) ⇒ Object
- #_reduce_324(val, _values, result) ⇒ Object
- #_reduce_325(val, _values, result) ⇒ Object
- #_reduce_326(val, _values, result) ⇒ Object
- #_reduce_33(val, _values, result) ⇒ Object
-
#_reduce_335(val, _values, result) ⇒ Object
reduce 334 omitted.
-
#_reduce_337(val, _values, result) ⇒ Object
reduce 336 omitted.
-
#_reduce_339(val, _values, result) ⇒ Object
reduce 338 omitted.
-
#_reduce_341(val, _values, result) ⇒ Object
reduce 340 omitted.
- #_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_359(val, _values, result) ⇒ Object
-
#_reduce_36(val, _values, result) ⇒ Object
reduce 35 omitted.
- #_reduce_360(val, _values, result) ⇒ Object
- #_reduce_361(val, _values, result) ⇒ Object
- #_reduce_362(val, _values, result) ⇒ Object
- #_reduce_363(val, _values, result) ⇒ Object
- #_reduce_364(val, _values, result) ⇒ Object
-
#_reduce_366(val, _values, result) ⇒ Object
reduce 365 omitted.
- #_reduce_367(val, _values, result) ⇒ Object
- #_reduce_37(val, _values, result) ⇒ Object
-
#_reduce_370(val, _values, result) ⇒ Object
reduce 369 omitted.
- #_reduce_371(val, _values, result) ⇒ Object
- #_reduce_372(val, _values, result) ⇒ Object
-
#_reduce_375(val, _values, result) ⇒ Object
reduce 374 omitted.
-
#_reduce_377(val, _values, result) ⇒ Object
reduce 376 omitted.
-
#_reduce_379(val, _values, result) ⇒ Object
reduce 378 omitted.
- #_reduce_38(val, _values, result) ⇒ Object
- #_reduce_380(val, _values, result) ⇒ Object
-
#_reduce_382(val, _values, result) ⇒ Object
reduce 381 omitted.
-
#_reduce_384(val, _values, result) ⇒ Object
reduce 383 omitted.
- #_reduce_385(val, _values, result) ⇒ Object
- #_reduce_386(val, _values, result) ⇒ Object
- #_reduce_387(val, _values, result) ⇒ Object
- #_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_394(val, _values, result) ⇒ Object
reduce 393 omitted.
- #_reduce_395(val, _values, result) ⇒ Object
- #_reduce_396(val, _values, result) ⇒ Object
- #_reduce_397(val, _values, result) ⇒ Object
- #_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_404(val, _values, result) ⇒ Object
- #_reduce_405(val, _values, result) ⇒ Object
- #_reduce_406(val, _values, result) ⇒ Object
- #_reduce_407(val, _values, result) ⇒ Object
- #_reduce_408(val, _values, result) ⇒ Object
- #_reduce_409(val, _values, result) ⇒ Object
-
#_reduce_41(val, _values, result) ⇒ Object
reduce 40 omitted.
- #_reduce_410(val, _values, result) ⇒ Object
-
#_reduce_412(val, _values, result) ⇒ Object
reduce 411 omitted.
- #_reduce_413(val, _values, result) ⇒ Object
-
#_reduce_418(val, _values, result) ⇒ Object
reduce 417 omitted.
-
#_reduce_421(val, _values, result) ⇒ Object
reduce 420 omitted.
- #_reduce_422(val, _values, result) ⇒ Object
-
#_reduce_428(val, _values, result) ⇒ Object
reduce 427 omitted.
- #_reduce_429(val, _values, result) ⇒ Object
- #_reduce_430(val, _values, result) ⇒ Object
- #_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_454(val, _values, result) ⇒ Object
- #_reduce_455(val, _values, result) ⇒ Object
- #_reduce_456(val, _values, result) ⇒ Object
- #_reduce_457(val, _values, result) ⇒ Object
- #_reduce_458(val, _values, result) ⇒ Object
- #_reduce_459(val, _values, result) ⇒ Object
- #_reduce_46(val, _values, result) ⇒ Object
- #_reduce_460(val, _values, result) ⇒ Object
- #_reduce_461(val, _values, result) ⇒ Object
-
#_reduce_464(val, _values, result) ⇒ Object
reduce 463 omitted.
- #_reduce_465(val, _values, result) ⇒ Object
-
#_reduce_468(val, _values, result) ⇒ Object
reduce 467 omitted.
- #_reduce_469(val, _values, result) ⇒ Object
- #_reduce_470(val, _values, result) ⇒ Object
-
#_reduce_472(val, _values, result) ⇒ Object
reduce 471 omitted.
- #_reduce_473(val, _values, result) ⇒ Object
- #_reduce_474(val, _values, result) ⇒ Object
- #_reduce_475(val, _values, result) ⇒ Object
- #_reduce_476(val, _values, result) ⇒ Object
-
#_reduce_478(val, _values, result) ⇒ Object
reduce 477 omitted.
- #_reduce_479(val, _values, result) ⇒ Object
-
#_reduce_48(val, _values, result) ⇒ Object
reduce 47 omitted.
- #_reduce_49(val, _values, result) ⇒ Object
-
#_reduce_499(val, _values, result) ⇒ Object
reduce 498 omitted.
- #_reduce_50(val, _values, result) ⇒ Object
-
#_reduce_502(val, _values, result) ⇒ Object
reduce 501 omitted.
- #_reduce_503(val, _values, result) ⇒ Object
- #_reduce_504(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
TODO: nuke.
-
#arg_blk_pass(node1, node2) ⇒ Object
TODO: nuke.
-
#arg_concat(node1, node2) ⇒ Object
TODO: nuke.
- #args(arg, optarg, rest_arg, block_arg) ⇒ 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
TODO: rename to new_match.
- #gettable(id) ⇒ Object
-
#initialize ⇒ RubyParser
constructor
A new instance of RubyParser.
-
#list_append(list, item) ⇒ Object
TODO: nuke me sigh.
-
#list_prepend(item, list) ⇒ Object
TODO: nuke me sigh.
- #literal_concat(head, tail) ⇒ Object
-
#logop(type, left, right) ⇒ Object
TODO: rename logical_op.
- #new_aref(val) ⇒ Object
- #new_body(val) ⇒ Object
- #new_call(recv, meth, args = nil) ⇒ Object
- #new_case(expr, body) ⇒ Object
- #new_class(val) ⇒ Object
- #new_compstmt(val) ⇒ Object
- #new_defn(val) ⇒ Object
- #new_defs(val) ⇒ Object
- #new_for(expr, var, body) ⇒ Object
- #new_if(c, t, f) ⇒ Object
- #new_iter(call, args, body) ⇒ Object
- #new_masgn(lhs, rhs, wrap = false) ⇒ Object
- #new_module(val) ⇒ Object
- #new_op_asgn(val) ⇒ Object
- #new_regexp(val) ⇒ Object
- #new_sclass(val) ⇒ Object
- #new_super(args) ⇒ Object
- #new_undef(n, m = nil) ⇒ Object
- #new_until(block, expr, pre) ⇒ Object
- #new_while(block, expr, pre) ⇒ Object
- #new_xstring(str) ⇒ Object
- #new_yield(args = nil) ⇒ Object
- #next_token ⇒ Object
-
#node_assign(lhs, rhs) ⇒ Object
TODO: rename new_assign.
- #old_yyerror ⇒ Object
- #process(str, file = "(string)") ⇒ Object (also: #parse)
- #remove_begin(node) ⇒ Object
- #reset ⇒ Object
- #ret_args(node) ⇒ Object
- #s(*args) ⇒ Object
-
#value_expr(oldnode) ⇒ Object
HACK.
- #void_stmts(node) ⇒ Object
- #warning(s) ⇒ Object
- #yyerror(msg) ⇒ Object
Constructor Details
#initialize ⇒ RubyParser
Returns a new instance of RubyParser.
338 339 340 341 342 343 344 345 346 |
# File 'lib/ruby_parser_extras.rb', line 338 def initialize super self.lexer = RubyLexer.new self.lexer.parser = self @env = Environment.new @comments = [] self.reset end |
Instance Attribute Details
#comments ⇒ Object (readonly)
Returns the value of attribute comments.
121 122 123 |
# File 'lib/ruby_parser_extras.rb', line 121 def comments @comments end |
#env ⇒ Object (readonly)
Returns the value of attribute env.
121 122 123 |
# File 'lib/ruby_parser_extras.rb', line 121 def env @env end |
#file ⇒ Object
Returns the value of attribute file.
120 121 122 |
# File 'lib/ruby_parser_extras.rb', line 120 def file @file end |
#in_def ⇒ Object
Returns the value of attribute in_def.
120 121 122 |
# File 'lib/ruby_parser_extras.rb', line 120 def in_def @in_def end |
#in_single ⇒ Object
Returns the value of attribute in_single.
120 121 122 |
# File 'lib/ruby_parser_extras.rb', line 120 def in_single @in_single end |
#lexer ⇒ Object
Returns the value of attribute lexer.
120 121 122 |
# File 'lib/ruby_parser_extras.rb', line 120 def lexer @lexer end |
Instance Method Details
#_reduce_1(val, _values, result) ⇒ Object
reduce 0 omitted
2950 2951 2952 2953 2954 |
# File 'lib/ruby_parser.rb', line 2950 def _reduce_1(val, _values, result) self.lexer.lex_state = :expr_beg result end |
#_reduce_10(val, _values, result) ⇒ Object
2997 2998 2999 3000 3001 |
# File 'lib/ruby_parser.rb', line 2997 def _reduce_10(val, _values, result) result = s(:alias, val[1], val[3]).line(val[2]) result end |
#_reduce_100(val, _values, result) ⇒ Object
3525 3526 3527 3528 3529 3530 |
# File 'lib/ruby_parser.rb', line 3525 def _reduce_100(val, _values, result) lexer.lex_state = :expr_end result = val[0] result end |
#_reduce_101(val, _values, result) ⇒ Object
3532 3533 3534 3535 |
# File 'lib/ruby_parser.rb', line 3532 def _reduce_101(val, _values, result) result = s(:lit, val[0].to_sym) result end |
#_reduce_102(val, _values, result) ⇒ Object
3537 3538 3539 3540 |
# File 'lib/ruby_parser.rb', line 3537 def _reduce_102(val, _values, result) result = s(:lit, val[0]) result end |
#_reduce_103(val, _values, result) ⇒ Object
3542 3543 3544 3545 3546 |
# File 'lib/ruby_parser.rb', line 3542 def _reduce_103(val, _values, result) result = new_undef val[0] result end |
#_reduce_104(val, _values, result) ⇒ Object
3548 3549 3550 3551 3552 |
# File 'lib/ruby_parser.rb', line 3548 def _reduce_104(val, _values, result) lexer.lex_state = :expr_fname result end |
#_reduce_105(val, _values, result) ⇒ Object
3554 3555 3556 3557 3558 |
# File 'lib/ruby_parser.rb', line 3554 def _reduce_105(val, _values, result) result = new_undef val[0], val[3] result end |
#_reduce_11(val, _values, result) ⇒ Object
3003 3004 3005 3006 3007 |
# File 'lib/ruby_parser.rb', line 3003 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
3009 3010 3011 3012 3013 |
# File 'lib/ruby_parser.rb', line 3009 def _reduce_12(val, _values, result) result = s(:valias, val[1].to_sym, :"$#{val[2]}") result end |
#_reduce_13(val, _values, result) ⇒ Object
3015 3016 3017 3018 3019 |
# File 'lib/ruby_parser.rb', line 3015 def _reduce_13(val, _values, result) yyerror "can't make alias for the number variables" result end |
#_reduce_14(val, _values, result) ⇒ Object
3021 3022 3023 3024 3025 |
# File 'lib/ruby_parser.rb', line 3021 def _reduce_14(val, _values, result) result = val[1] result end |
#_reduce_15(val, _values, result) ⇒ Object
3027 3028 3029 3030 3031 |
# File 'lib/ruby_parser.rb', line 3027 def _reduce_15(val, _values, result) result = new_if val[2], val[0], nil result end |
#_reduce_16(val, _values, result) ⇒ Object
3033 3034 3035 3036 3037 |
# File 'lib/ruby_parser.rb', line 3033 def _reduce_16(val, _values, result) result = new_if val[2], nil, val[0] result end |
#_reduce_17(val, _values, result) ⇒ Object
3039 3040 3041 3042 3043 |
# File 'lib/ruby_parser.rb', line 3039 def _reduce_17(val, _values, result) result = new_while val[0], val[2], true result end |
#_reduce_173(val, _values, result) ⇒ Object
reduce 172 omitted
3694 3695 3696 3697 3698 |
# File 'lib/ruby_parser.rb', line 3694 def _reduce_173(val, _values, result) result = self.node_assign val[0], val[2] result end |
#_reduce_174(val, _values, result) ⇒ Object
3700 3701 3702 3703 3704 3705 |
# File 'lib/ruby_parser.rb', line 3700 def _reduce_174(val, _values, result) result = self.node_assign val[0], s(:rescue, val[2], s(:resbody, s(:array), val[4])) # result.line = val[0].line result end |
#_reduce_175(val, _values, result) ⇒ Object
3707 3708 3709 3710 3711 |
# File 'lib/ruby_parser.rb', line 3707 def _reduce_175(val, _values, result) result = new_op_asgn val result end |
#_reduce_176(val, _values, result) ⇒ Object
3713 3714 3715 3716 3717 3718 |
# File 'lib/ruby_parser.rb', line 3713 def _reduce_176(val, _values, result) result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5]) val[2][0] = :arglist result end |
#_reduce_177(val, _values, result) ⇒ Object
3720 3721 3722 3723 3724 |
# File 'lib/ruby_parser.rb', line 3720 def _reduce_177(val, _values, result) result = s(:op_asgn2, val[0], :"#{val[2]}=", val[3].to_sym, val[4]) result end |
#_reduce_178(val, _values, result) ⇒ Object
3726 3727 3728 3729 3730 |
# File 'lib/ruby_parser.rb', line 3726 def _reduce_178(val, _values, result) result = s(:op_asgn2, val[0], :"#{val[2]}=", val[3].to_sym, val[4]) result end |
#_reduce_179(val, _values, result) ⇒ Object
3732 3733 3734 3735 3736 |
# File 'lib/ruby_parser.rb', line 3732 def _reduce_179(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2], val[3]) result end |
#_reduce_18(val, _values, result) ⇒ Object
3045 3046 3047 3048 3049 |
# File 'lib/ruby_parser.rb', line 3045 def _reduce_18(val, _values, result) result = new_until val[0], val[2], true result end |
#_reduce_180(val, _values, result) ⇒ Object
3738 3739 3740 3741 3742 |
# File 'lib/ruby_parser.rb', line 3738 def _reduce_180(val, _values, result) yyerror "constant re-assignment" result end |
#_reduce_181(val, _values, result) ⇒ Object
3744 3745 3746 3747 3748 |
# File 'lib/ruby_parser.rb', line 3744 def _reduce_181(val, _values, result) yyerror "constant re-assignment" result end |
#_reduce_182(val, _values, result) ⇒ Object
3750 3751 3752 3753 3754 |
# File 'lib/ruby_parser.rb', line 3750 def _reduce_182(val, _values, result) self.backref_assign_error val[0] result end |
#_reduce_183(val, _values, result) ⇒ Object
3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 |
# File 'lib/ruby_parser.rb', line 3756 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
3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 |
# File 'lib/ruby_parser.rb', line 3767 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
3778 3779 3780 3781 3782 |
# File 'lib/ruby_parser.rb', line 3778 def _reduce_185(val, _values, result) result = new_call val[0], :+, s(:arglist, val[2]) result end |
#_reduce_186(val, _values, result) ⇒ Object
3784 3785 3786 3787 3788 |
# File 'lib/ruby_parser.rb', line 3784 def _reduce_186(val, _values, result) result = new_call val[0], :-, s(:arglist, val[2]) result end |
#_reduce_187(val, _values, result) ⇒ Object
3790 3791 3792 3793 3794 |
# File 'lib/ruby_parser.rb', line 3790 def _reduce_187(val, _values, result) result = new_call val[0], :*, s(:arglist, val[2]) result end |
#_reduce_188(val, _values, result) ⇒ Object
3796 3797 3798 3799 3800 |
# File 'lib/ruby_parser.rb', line 3796 def _reduce_188(val, _values, result) result = new_call val[0], :"/", s(:arglist, val[2]) result end |
#_reduce_189(val, _values, result) ⇒ Object
3802 3803 3804 3805 3806 |
# File 'lib/ruby_parser.rb', line 3802 def _reduce_189(val, _values, result) result = new_call val[0], :%, s(:arglist, val[2]) result end |
#_reduce_19(val, _values, result) ⇒ Object
3051 3052 3053 3054 3055 |
# File 'lib/ruby_parser.rb', line 3051 def _reduce_19(val, _values, result) result = s(:rescue, val[0], s(:resbody, s(:array), val[2])) result end |
#_reduce_190(val, _values, result) ⇒ Object
3808 3809 3810 3811 3812 |
# File 'lib/ruby_parser.rb', line 3808 def _reduce_190(val, _values, result) result = new_call val[0], :**, s(:arglist, val[2]) result end |
#_reduce_191(val, _values, result) ⇒ Object
3814 3815 3816 3817 3818 |
# File 'lib/ruby_parser.rb', line 3814 def _reduce_191(val, _values, result) result = new_call(new_call(s(:lit, val[1]), :"**", s(:arglist, val[3])), :"-@", s(:arglist)) result end |
#_reduce_192(val, _values, result) ⇒ Object
3820 3821 3822 3823 3824 |
# File 'lib/ruby_parser.rb', line 3820 def _reduce_192(val, _values, result) result = new_call(new_call(s(:lit, val[1]), :"**", s(:arglist, val[3])), :"-@", s(:arglist)) result end |
#_reduce_193(val, _values, result) ⇒ Object
3826 3827 3828 3829 3830 3831 3832 3833 3834 |
# File 'lib/ruby_parser.rb', line 3826 def _reduce_193(val, _values, result) if val[1][0] == :lit then result = val[1] else result = new_call val[1], :"+@", s(:arglist) end result end |
#_reduce_194(val, _values, result) ⇒ Object
3836 3837 3838 3839 3840 |
# File 'lib/ruby_parser.rb', line 3836 def _reduce_194(val, _values, result) result = new_call val[1], :"-@", s(:arglist) result end |
#_reduce_195(val, _values, result) ⇒ Object
3842 3843 3844 3845 3846 |
# File 'lib/ruby_parser.rb', line 3842 def _reduce_195(val, _values, result) result = new_call val[0], :"|", s(:arglist, val[2]) result end |
#_reduce_196(val, _values, result) ⇒ Object
3848 3849 3850 3851 3852 |
# File 'lib/ruby_parser.rb', line 3848 def _reduce_196(val, _values, result) result = new_call val[0], :"^", s(:arglist, val[2]) result end |
#_reduce_197(val, _values, result) ⇒ Object
3854 3855 3856 3857 3858 |
# File 'lib/ruby_parser.rb', line 3854 def _reduce_197(val, _values, result) result = new_call val[0], :"&", s(:arglist, val[2]) result end |
#_reduce_198(val, _values, result) ⇒ Object
3860 3861 3862 3863 3864 |
# File 'lib/ruby_parser.rb', line 3860 def _reduce_198(val, _values, result) result = new_call val[0], :"<=>", s(:arglist, val[2]) result end |
#_reduce_199(val, _values, result) ⇒ Object
3866 3867 3868 3869 3870 |
# File 'lib/ruby_parser.rb', line 3866 def _reduce_199(val, _values, result) result = new_call val[0], :">", s(:arglist, val[2]) result end |
#_reduce_2(val, _values, result) ⇒ Object
2956 2957 2958 2959 2960 |
# File 'lib/ruby_parser.rb', line 2956 def _reduce_2(val, _values, result) result = val[1] result end |
#_reduce_20(val, _values, result) ⇒ Object
3057 3058 3059 3060 3061 3062 3063 3064 |
# File 'lib/ruby_parser.rb', line 3057 def _reduce_20(val, _values, result) if (self.in_def || self.in_single > 0) then yyerror "BEGIN in method" end self.env.extend result end |
#_reduce_200(val, _values, result) ⇒ Object
3872 3873 3874 3875 3876 |
# File 'lib/ruby_parser.rb', line 3872 def _reduce_200(val, _values, result) result = new_call val[0], :">=", s(:arglist, val[2]) result end |
#_reduce_201(val, _values, result) ⇒ Object
3878 3879 3880 3881 3882 |
# File 'lib/ruby_parser.rb', line 3878 def _reduce_201(val, _values, result) result = new_call val[0], :"<", s(:arglist, val[2]) result end |
#_reduce_202(val, _values, result) ⇒ Object
3884 3885 3886 3887 3888 |
# File 'lib/ruby_parser.rb', line 3884 def _reduce_202(val, _values, result) result = new_call val[0], :"<=", s(:arglist, val[2]) result end |
#_reduce_203(val, _values, result) ⇒ Object
3890 3891 3892 3893 3894 |
# File 'lib/ruby_parser.rb', line 3890 def _reduce_203(val, _values, result) result = new_call val[0], :"==", s(:arglist, val[2]) result end |
#_reduce_204(val, _values, result) ⇒ Object
3896 3897 3898 3899 3900 |
# File 'lib/ruby_parser.rb', line 3896 def _reduce_204(val, _values, result) result = new_call val[0], :"===", s(:arglist, val[2]) result end |
#_reduce_205(val, _values, result) ⇒ Object
3902 3903 3904 3905 3906 3907 3908 |
# File 'lib/ruby_parser.rb', line 3902 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, new_call(val[0], :"==", s(:arglist, val[2]))) result end |
#_reduce_206(val, _values, result) ⇒ Object
3910 3911 3912 3913 3914 |
# File 'lib/ruby_parser.rb', line 3910 def _reduce_206(val, _values, result) result = self.get_match_node val[0], val[2] result end |
#_reduce_207(val, _values, result) ⇒ Object
3916 3917 3918 3919 3920 |
# File 'lib/ruby_parser.rb', line 3916 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
3922 3923 3924 3925 3926 |
# File 'lib/ruby_parser.rb', line 3922 def _reduce_208(val, _values, result) result = s(:not, val[1]) result end |
#_reduce_209(val, _values, result) ⇒ Object
3928 3929 3930 3931 3932 3933 |
# File 'lib/ruby_parser.rb', line 3928 def _reduce_209(val, _values, result) val[2] = value_expr val[2] result = new_call val[1], :"~", s(:arglist) result end |
#_reduce_21(val, _values, result) ⇒ Object
3066 3067 3068 3069 3070 3071 |
# File 'lib/ruby_parser.rb', line 3066 def _reduce_21(val, _values, result) result = new_iter s(:preexe), nil, val[3] # TODO: add test? result = nil # TODO: since it isn't supposed to go in the AST result end |
#_reduce_210(val, _values, result) ⇒ Object
3935 3936 3937 3938 3939 3940 3941 |
# File 'lib/ruby_parser.rb', line 3935 def _reduce_210(val, _values, result) val[0] = value_expr val[0] val[2] = value_expr val[2] result = new_call val[0], :"\<\<", s(:arglist, val[2]) result end |
#_reduce_211(val, _values, result) ⇒ Object
3943 3944 3945 3946 3947 3948 3949 |
# File 'lib/ruby_parser.rb', line 3943 def _reduce_211(val, _values, result) val[0] = value_expr val[0] val[2] = value_expr val[2] result = new_call val[0], :">>", s(:arglist, val[2]) result end |
#_reduce_212(val, _values, result) ⇒ Object
3951 3952 3953 3954 3955 |
# File 'lib/ruby_parser.rb', line 3951 def _reduce_212(val, _values, result) result = logop(:and, val[0], val[2]) result end |
#_reduce_213(val, _values, result) ⇒ Object
3957 3958 3959 3960 3961 |
# File 'lib/ruby_parser.rb', line 3957 def _reduce_213(val, _values, result) result = logop(:or, val[0], val[2]) result end |
#_reduce_214(val, _values, result) ⇒ Object
3963 3964 3965 3966 3967 |
# File 'lib/ruby_parser.rb', line 3963 def _reduce_214(val, _values, result) result = s(:defined, val[2]) result end |
#_reduce_215(val, _values, result) ⇒ Object
3969 3970 3971 3972 3973 |
# File 'lib/ruby_parser.rb', line 3969 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
3977 3978 3979 3980 3981 |
# File 'lib/ruby_parser.rb', line 3977 def _reduce_217(val, _values, result) result = value_expr(val[0]) result end |
#_reduce_219(val, _values, result) ⇒ Object
reduce 218 omitted
3985 3986 3987 3988 3989 3990 |
# File 'lib/ruby_parser.rb', line 3985 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
3073 3074 3075 3076 3077 3078 3079 3080 |
# File 'lib/ruby_parser.rb', line 3073 def _reduce_22(val, _values, result) if (self.in_def || self.in_single > 0) then yyerror "END in method; use at_exit" end result = new_iter s(:postexe), nil, val[2] result end |
#_reduce_220(val, _values, result) ⇒ Object
3992 3993 3994 3995 3996 |
# File 'lib/ruby_parser.rb', line 3992 def _reduce_220(val, _values, result) result = val[0] result end |
#_reduce_221(val, _values, result) ⇒ Object
3998 3999 4000 4001 4002 |
# File 'lib/ruby_parser.rb', line 3998 def _reduce_221(val, _values, result) result = self.arg_concat val[0], val[3] result end |
#_reduce_222(val, _values, result) ⇒ Object
4004 4005 4006 4007 4008 |
# File 'lib/ruby_parser.rb', line 4004 def _reduce_222(val, _values, result) result = s(:array, s(:hash, *val[0].values)) result end |
#_reduce_223(val, _values, result) ⇒ Object
4010 4011 4012 4013 4014 |
# File 'lib/ruby_parser.rb', line 4010 def _reduce_223(val, _values, result) result = s(:array, s(:splat, val[1])) result end |
#_reduce_224(val, _values, result) ⇒ Object
4016 4017 4018 4019 4020 |
# File 'lib/ruby_parser.rb', line 4016 def _reduce_224(val, _values, result) result = val[1] result end |
#_reduce_225(val, _values, result) ⇒ Object
4022 4023 4024 4025 4026 |
# File 'lib/ruby_parser.rb', line 4022 def _reduce_225(val, _values, result) result = val[1] result end |
#_reduce_226(val, _values, result) ⇒ Object
4028 4029 4030 4031 4032 4033 |
# File 'lib/ruby_parser.rb', line 4028 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
4035 4036 4037 4038 4039 4040 |
# File 'lib/ruby_parser.rb', line 4035 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
3082 3083 3084 3085 3086 |
# File 'lib/ruby_parser.rb', line 3082 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
4046 4047 4048 4049 4050 4051 |
# File 'lib/ruby_parser.rb', line 4046 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
4053 4054 4055 4056 4057 |
# File 'lib/ruby_parser.rb', line 4053 def _reduce_231(val, _values, result) result = self.arg_blk_pass val[0], val[1] result end |
#_reduce_232(val, _values, result) ⇒ Object
4059 4060 4061 4062 4063 4064 |
# File 'lib/ruby_parser.rb', line 4059 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
4066 4067 4068 4069 4070 4071 |
# File 'lib/ruby_parser.rb', line 4066 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
4073 4074 4075 4076 4077 4078 |
# File 'lib/ruby_parser.rb', line 4073 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
4080 4081 4082 4083 4084 4085 |
# File 'lib/ruby_parser.rb', line 4080 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
4087 4088 4089 4090 4091 4092 4093 |
# File 'lib/ruby_parser.rb', line 4087 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
4095 4096 4097 4098 4099 |
# File 'lib/ruby_parser.rb', line 4095 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
4103 4104 4105 4106 4107 4108 |
# File 'lib/ruby_parser.rb', line 4103 def _reduce_239(val, _values, result) args = self.list_prepend val[0], val[2] result = self.arg_blk_pass args, val[3] result end |
#_reduce_24(val, _values, result) ⇒ Object
3088 3089 3090 3091 3092 |
# File 'lib/ruby_parser.rb', line 3088 def _reduce_24(val, _values, result) result = new_masgn val[0], val[2], :wrap result end |
#_reduce_240(val, _values, result) ⇒ Object
4110 4111 4112 4113 4114 |
# File 'lib/ruby_parser.rb', line 4110 def _reduce_240(val, _values, result) result = self.arg_blk_pass val[0], val[2] result end |
#_reduce_241(val, _values, result) ⇒ Object
4116 4117 4118 4119 4120 4121 |
# File 'lib/ruby_parser.rb', line 4116 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
4123 4124 4125 4126 4127 4128 |
# File 'lib/ruby_parser.rb', line 4123 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
4130 4131 4132 4133 4134 4135 |
# File 'lib/ruby_parser.rb', line 4130 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
4137 4138 4139 4140 4141 4142 |
# File 'lib/ruby_parser.rb', line 4137 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
4144 4145 4146 4147 4148 4149 |
# File 'lib/ruby_parser.rb', line 4144 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
4151 4152 4153 4154 4155 4156 |
# File 'lib/ruby_parser.rb', line 4151 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
4158 4159 4160 4161 4162 4163 |
# File 'lib/ruby_parser.rb', line 4158 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
4165 4166 4167 4168 4169 4170 |
# File 'lib/ruby_parser.rb', line 4165 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
4172 4173 4174 4175 4176 |
# File 'lib/ruby_parser.rb', line 4172 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
3094 3095 3096 3097 3098 |
# File 'lib/ruby_parser.rb', line 3094 def _reduce_25(val, _values, result) result = new_op_asgn val result end |
#_reduce_251(val, _values, result) ⇒ Object
reduce 250 omitted
4180 4181 4182 4183 4184 4185 |
# File 'lib/ruby_parser.rb', line 4180 def _reduce_251(val, _values, result) result = lexer.cmdarg.stack.dup lexer.cmdarg.push true result end |
#_reduce_252(val, _values, result) ⇒ Object
4187 4188 4189 4190 4191 4192 |
# File 'lib/ruby_parser.rb', line 4187 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
4196 4197 4198 4199 4200 |
# File 'lib/ruby_parser.rb', line 4196 def _reduce_254(val, _values, result) lexer.lex_state = :expr_endarg result end |
#_reduce_255(val, _values, result) ⇒ Object
4202 4203 4204 4205 4206 4207 |
# File 'lib/ruby_parser.rb', line 4202 def _reduce_255(val, _values, result) warning "don't put space before argument parentheses" result = nil result end |
#_reduce_256(val, _values, result) ⇒ Object
4209 4210 4211 4212 4213 |
# File 'lib/ruby_parser.rb', line 4209 def _reduce_256(val, _values, result) lexer.lex_state = :expr_endarg result end |
#_reduce_257(val, _values, result) ⇒ Object
4215 4216 4217 4218 4219 4220 |
# File 'lib/ruby_parser.rb', line 4215 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
4222 4223 4224 4225 4226 |
# File 'lib/ruby_parser.rb', line 4222 def _reduce_258(val, _values, result) result = s(:block_pass, val[1]) result end |
#_reduce_259(val, _values, result) ⇒ Object
4228 4229 4230 4231 4232 |
# File 'lib/ruby_parser.rb', line 4228 def _reduce_259(val, _values, result) result = val[1] result end |
#_reduce_26(val, _values, result) ⇒ Object
3100 3101 3102 3103 3104 |
# File 'lib/ruby_parser.rb', line 3100 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
4236 4237 4238 4239 4240 |
# File 'lib/ruby_parser.rb', line 4236 def _reduce_261(val, _values, result) result = s(:array, val[0]) result end |
#_reduce_262(val, _values, result) ⇒ Object
4242 4243 4244 4245 4246 |
# File 'lib/ruby_parser.rb', line 4242 def _reduce_262(val, _values, result) result = self.list_append val[0], val[2] result end |
#_reduce_263(val, _values, result) ⇒ Object
4248 4249 4250 4251 4252 |
# File 'lib/ruby_parser.rb', line 4248 def _reduce_263(val, _values, result) result = val[0] << val[2] result end |
#_reduce_264(val, _values, result) ⇒ Object
4254 4255 4256 4257 4258 |
# File 'lib/ruby_parser.rb', line 4254 def _reduce_264(val, _values, result) result = self.arg_concat val[0], val[3] result end |
#_reduce_265(val, _values, result) ⇒ Object
4260 4261 4262 4263 4264 |
# File 'lib/ruby_parser.rb', line 4260 def _reduce_265(val, _values, result) result = s(:splat, val[1]) result end |
#_reduce_27(val, _values, result) ⇒ Object
3106 3107 3108 3109 3110 |
# File 'lib/ruby_parser.rb', line 3106 def _reduce_27(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2], val[3]) result end |
#_reduce_274(val, _values, result) ⇒ Object
reduce 273 omitted
4282 4283 4284 4285 4286 |
# File 'lib/ruby_parser.rb', line 4282 def _reduce_274(val, _values, result) result = new_call nil, val[0].to_sym result end |
#_reduce_275(val, _values, result) ⇒ Object
4288 4289 4290 4291 4292 |
# File 'lib/ruby_parser.rb', line 4288 def _reduce_275(val, _values, result) result = self.lexer.lineno result end |
#_reduce_276(val, _values, result) ⇒ Object
4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 |
# File 'lib/ruby_parser.rb', line 4294 def _reduce_276(val, _values, result) unless val[2] then result = s(:nil) else result = s(:begin, val[2]) end result.line = val[1] result end |
#_reduce_277(val, _values, result) ⇒ Object
4306 4307 4308 4309 4310 |
# File 'lib/ruby_parser.rb', line 4306 def _reduce_277(val, _values, result) lexer.lex_state = :expr_endarg result end |
#_reduce_278(val, _values, result) ⇒ Object
4312 4313 4314 4315 4316 4317 |
# File 'lib/ruby_parser.rb', line 4312 def _reduce_278(val, _values, result) warning "(...) interpreted as grouped expression" result = val[1] result end |
#_reduce_279(val, _values, result) ⇒ Object
4319 4320 4321 4322 4323 4324 |
# File 'lib/ruby_parser.rb', line 4319 def _reduce_279(val, _values, result) result = val[1] || s(:nil) result.paren = true result end |
#_reduce_28(val, _values, result) ⇒ Object
3112 3113 3114 3115 3116 |
# File 'lib/ruby_parser.rb', line 3112 def _reduce_28(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2], val[3]) result end |
#_reduce_280(val, _values, result) ⇒ Object
4326 4327 4328 4329 4330 |
# File 'lib/ruby_parser.rb', line 4326 def _reduce_280(val, _values, result) result = s(:colon2, val[0], val[2].to_sym) result end |
#_reduce_281(val, _values, result) ⇒ Object
4332 4333 4334 4335 4336 |
# File 'lib/ruby_parser.rb', line 4332 def _reduce_281(val, _values, result) result = s(:colon3, val[1].to_sym) result end |
#_reduce_282(val, _values, result) ⇒ Object
4338 4339 4340 4341 4342 |
# File 'lib/ruby_parser.rb', line 4338 def _reduce_282(val, _values, result) result = new_aref val result end |
#_reduce_283(val, _values, result) ⇒ Object
4344 4345 4346 4347 4348 |
# File 'lib/ruby_parser.rb', line 4344 def _reduce_283(val, _values, result) result = val[1] || s(:array) result end |
#_reduce_284(val, _values, result) ⇒ Object
4350 4351 4352 4353 4354 |
# File 'lib/ruby_parser.rb', line 4350 def _reduce_284(val, _values, result) result = s(:hash, *val[1].values) result end |
#_reduce_285(val, _values, result) ⇒ Object
4356 4357 4358 4359 4360 |
# File 'lib/ruby_parser.rb', line 4356 def _reduce_285(val, _values, result) result = s(:return) result end |
#_reduce_286(val, _values, result) ⇒ Object
4362 4363 4364 4365 4366 |
# File 'lib/ruby_parser.rb', line 4362 def _reduce_286(val, _values, result) result = new_yield val[2] result end |
#_reduce_287(val, _values, result) ⇒ Object
4368 4369 4370 4371 4372 |
# File 'lib/ruby_parser.rb', line 4368 def _reduce_287(val, _values, result) result = new_yield result end |
#_reduce_288(val, _values, result) ⇒ Object
4374 4375 4376 4377 4378 |
# File 'lib/ruby_parser.rb', line 4374 def _reduce_288(val, _values, result) result = new_yield result end |
#_reduce_289(val, _values, result) ⇒ Object
4380 4381 4382 4383 4384 |
# File 'lib/ruby_parser.rb', line 4380 def _reduce_289(val, _values, result) result = s(:defined, val[3]) result end |
#_reduce_29(val, _values, result) ⇒ Object
3118 3119 3120 3121 3122 |
# File 'lib/ruby_parser.rb', line 3118 def _reduce_29(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2], val[3]) result end |
#_reduce_290(val, _values, result) ⇒ Object
4386 4387 4388 4389 4390 4391 4392 4393 4394 |
# File 'lib/ruby_parser.rb', line 4386 def _reduce_290(val, _values, result) oper, iter = val[0], val[1] call = new_call(nil, oper.to_sym) iter.insert 1, call result = iter call.line ||= iter.line result end |
#_reduce_292(val, _values, result) ⇒ Object
reduce 291 omitted
4398 4399 4400 4401 4402 4403 4404 |
# File 'lib/ruby_parser.rb', line 4398 def _reduce_292(val, _values, result) call, iter = val[0], val[1] iter.insert 1, call result = iter result end |
#_reduce_293(val, _values, result) ⇒ Object
4406 4407 4408 4409 4410 |
# File 'lib/ruby_parser.rb', line 4406 def _reduce_293(val, _values, result) result = new_if val[1], val[3], val[4] result end |
#_reduce_294(val, _values, result) ⇒ Object
4412 4413 4414 4415 4416 |
# File 'lib/ruby_parser.rb', line 4412 def _reduce_294(val, _values, result) result = new_if val[1], val[4], val[3] result end |
#_reduce_295(val, _values, result) ⇒ Object
4418 4419 4420 4421 4422 |
# File 'lib/ruby_parser.rb', line 4418 def _reduce_295(val, _values, result) lexer.cond.push true result end |
#_reduce_296(val, _values, result) ⇒ Object
4424 4425 4426 4427 4428 |
# File 'lib/ruby_parser.rb', line 4424 def _reduce_296(val, _values, result) lexer.cond.pop result end |
#_reduce_297(val, _values, result) ⇒ Object
4430 4431 4432 4433 4434 |
# File 'lib/ruby_parser.rb', line 4430 def _reduce_297(val, _values, result) result = new_while val[5], val[2], true result end |
#_reduce_298(val, _values, result) ⇒ Object
4436 4437 4438 4439 4440 |
# File 'lib/ruby_parser.rb', line 4436 def _reduce_298(val, _values, result) lexer.cond.push true result end |
#_reduce_299(val, _values, result) ⇒ Object
4442 4443 4444 4445 4446 |
# File 'lib/ruby_parser.rb', line 4442 def _reduce_299(val, _values, result) lexer.cond.pop result end |
#_reduce_3(val, _values, result) ⇒ Object
2962 2963 2964 2965 2966 |
# File 'lib/ruby_parser.rb', line 2962 def _reduce_3(val, _values, result) result = new_body val result end |
#_reduce_30(val, _values, result) ⇒ Object
3124 3125 3126 3127 3128 |
# File 'lib/ruby_parser.rb', line 3124 def _reduce_30(val, _values, result) self.backref_assign_error val[0] result end |
#_reduce_300(val, _values, result) ⇒ Object
4448 4449 4450 4451 4452 |
# File 'lib/ruby_parser.rb', line 4448 def _reduce_300(val, _values, result) result = new_until val[5], val[2], true result end |
#_reduce_301(val, _values, result) ⇒ Object
4454 4455 4456 4457 4458 |
# File 'lib/ruby_parser.rb', line 4454 def _reduce_301(val, _values, result) result = new_case val[1], val[3] result end |
#_reduce_302(val, _values, result) ⇒ Object
4460 4461 4462 4463 4464 |
# File 'lib/ruby_parser.rb', line 4460 def _reduce_302(val, _values, result) result = new_case nil, val[2] result end |
#_reduce_303(val, _values, result) ⇒ Object
4466 4467 4468 4469 4470 |
# File 'lib/ruby_parser.rb', line 4466 def _reduce_303(val, _values, result) result = new_case nil, val[3] result end |
#_reduce_304(val, _values, result) ⇒ Object
4472 4473 4474 4475 4476 |
# File 'lib/ruby_parser.rb', line 4472 def _reduce_304(val, _values, result) lexer.cond.push true result end |
#_reduce_305(val, _values, result) ⇒ Object
4478 4479 4480 4481 4482 |
# File 'lib/ruby_parser.rb', line 4478 def _reduce_305(val, _values, result) lexer.cond.pop result end |
#_reduce_306(val, _values, result) ⇒ Object
4484 4485 4486 4487 4488 |
# File 'lib/ruby_parser.rb', line 4484 def _reduce_306(val, _values, result) result = new_for val[4], val[1], val[7] result end |
#_reduce_307(val, _values, result) ⇒ Object
4490 4491 4492 4493 4494 |
# File 'lib/ruby_parser.rb', line 4490 def _reduce_307(val, _values, result) result = self.lexer.lineno result end |
#_reduce_308(val, _values, result) ⇒ Object
4496 4497 4498 4499 4500 4501 4502 4503 4504 |
# File 'lib/ruby_parser.rb', line 4496 def _reduce_308(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_309(val, _values, result) ⇒ Object
4506 4507 4508 4509 4510 4511 |
# File 'lib/ruby_parser.rb', line 4506 def _reduce_309(val, _values, result) result = new_class val self.env.unextend result end |
#_reduce_31(val, _values, result) ⇒ Object
3130 3131 3132 3133 3134 |
# File 'lib/ruby_parser.rb', line 3130 def _reduce_31(val, _values, result) result = self.node_assign val[0], s(:svalue, val[2]) result end |
#_reduce_310(val, _values, result) ⇒ Object
4513 4514 4515 4516 4517 |
# File 'lib/ruby_parser.rb', line 4513 def _reduce_310(val, _values, result) result = self.lexer.lineno result end |
#_reduce_311(val, _values, result) ⇒ Object
4519 4520 4521 4522 4523 4524 |
# File 'lib/ruby_parser.rb', line 4519 def _reduce_311(val, _values, result) result = self.in_def self.in_def = false result end |
#_reduce_312(val, _values, result) ⇒ Object
4526 4527 4528 4529 4530 4531 4532 |
# File 'lib/ruby_parser.rb', line 4526 def _reduce_312(val, _values, result) result = self.in_single self.in_single = 0 self.env.extend result end |
#_reduce_313(val, _values, result) ⇒ Object
4534 4535 4536 4537 4538 4539 |
# File 'lib/ruby_parser.rb', line 4534 def _reduce_313(val, _values, result) result = new_sclass val self.env.unextend result end |
#_reduce_314(val, _values, result) ⇒ Object
4541 4542 4543 4544 4545 |
# File 'lib/ruby_parser.rb', line 4541 def _reduce_314(val, _values, result) result = self.lexer.lineno result end |
#_reduce_315(val, _values, result) ⇒ Object
4547 4548 4549 4550 4551 4552 4553 4554 4555 |
# File 'lib/ruby_parser.rb', line 4547 def _reduce_315(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_316(val, _values, result) ⇒ Object
4557 4558 4559 4560 4561 4562 |
# File 'lib/ruby_parser.rb', line 4557 def _reduce_316(val, _values, result) result = new_module val self.env.unextend result end |
#_reduce_317(val, _values, result) ⇒ Object
4564 4565 4566 4567 4568 4569 4570 4571 |
# File 'lib/ruby_parser.rb', line 4564 def _reduce_317(val, _values, result) self.comments.push self.lexer.comments self.in_def = true self.env.extend result = lexer.lineno, lexer.src.beginning_of_line? result end |
#_reduce_318(val, _values, result) ⇒ Object
4573 4574 4575 4576 4577 4578 4579 |
# File 'lib/ruby_parser.rb', line 4573 def _reduce_318(val, _values, result) result = new_defn val self.env.unextend self.in_def = false result end |
#_reduce_319(val, _values, result) ⇒ Object
4581 4582 4583 4584 4585 4586 |
# File 'lib/ruby_parser.rb', line 4581 def _reduce_319(val, _values, result) self.comments.push self.lexer.comments lexer.lex_state = :expr_fname result end |
#_reduce_32(val, _values, result) ⇒ Object
3136 3137 3138 3139 3140 |
# File 'lib/ruby_parser.rb', line 3136 def _reduce_32(val, _values, result) result = new_masgn val[0], val[2], :wrap result end |
#_reduce_320(val, _values, result) ⇒ Object
4588 4589 4590 4591 4592 4593 4594 |
# File 'lib/ruby_parser.rb', line 4588 def _reduce_320(val, _values, result) self.in_single += 1 self.env.extend lexer.lex_state = :expr_end # force for args result end |
#_reduce_321(val, _values, result) ⇒ Object
4596 4597 4598 4599 4600 4601 4602 4603 |
# File 'lib/ruby_parser.rb', line 4596 def _reduce_321(val, _values, result) result = new_defs val self.env.unextend self.in_single -= 1 result end |
#_reduce_322(val, _values, result) ⇒ Object
4605 4606 4607 4608 4609 |
# File 'lib/ruby_parser.rb', line 4605 def _reduce_322(val, _values, result) result = s(:break) result end |
#_reduce_323(val, _values, result) ⇒ Object
4611 4612 4613 4614 4615 |
# File 'lib/ruby_parser.rb', line 4611 def _reduce_323(val, _values, result) result = s(:next) result end |
#_reduce_324(val, _values, result) ⇒ Object
4617 4618 4619 4620 4621 |
# File 'lib/ruby_parser.rb', line 4617 def _reduce_324(val, _values, result) result = s(:redo) result end |
#_reduce_325(val, _values, result) ⇒ Object
4623 4624 4625 4626 4627 |
# File 'lib/ruby_parser.rb', line 4623 def _reduce_325(val, _values, result) result = s(:retry) result end |
#_reduce_326(val, _values, result) ⇒ Object
4629 4630 4631 4632 4633 |
# File 'lib/ruby_parser.rb', line 4629 def _reduce_326(val, _values, result) result = value_expr(val[0]) result end |
#_reduce_33(val, _values, result) ⇒ Object
3142 3143 3144 3145 3146 |
# File 'lib/ruby_parser.rb', line 3142 def _reduce_33(val, _values, result) result = new_masgn val[0], val[2] result end |
#_reduce_335(val, _values, result) ⇒ Object
reduce 334 omitted
4651 4652 4653 4654 4655 |
# File 'lib/ruby_parser.rb', line 4651 def _reduce_335(val, _values, result) result = s(:if, val[1], val[3], val[4]) result end |
#_reduce_337(val, _values, result) ⇒ Object
reduce 336 omitted
4659 4660 4661 4662 4663 |
# File 'lib/ruby_parser.rb', line 4659 def _reduce_337(val, _values, result) result = val[1] result end |
#_reduce_339(val, _values, result) ⇒ Object
reduce 338 omitted
4667 4668 4669 4670 4671 |
# File 'lib/ruby_parser.rb', line 4667 def _reduce_339(val, _values, result) val[0].delete_at 1 if val[0][1].nil? # HACK result end |
#_reduce_341(val, _values, result) ⇒ Object
reduce 340 omitted
4675 4676 4677 4678 4679 |
# File 'lib/ruby_parser.rb', line 4675 def _reduce_341(val, _values, result) result = 0 result end |
#_reduce_342(val, _values, result) ⇒ Object
4681 4682 4683 4684 4685 |
# File 'lib/ruby_parser.rb', line 4681 def _reduce_342(val, _values, result) result = 0 result end |
#_reduce_343(val, _values, result) ⇒ Object
4687 4688 4689 4690 4691 |
# File 'lib/ruby_parser.rb', line 4687 def _reduce_343(val, _values, result) result = val[1] result end |
#_reduce_344(val, _values, result) ⇒ Object
4693 4694 4695 4696 4697 |
# File 'lib/ruby_parser.rb', line 4693 def _reduce_344(val, _values, result) self.env.extend :dynamic result end |
#_reduce_345(val, _values, result) ⇒ Object
4699 4700 4701 4702 4703 |
# File 'lib/ruby_parser.rb', line 4699 def _reduce_345(val, _values, result) result = self.env.dynamic.keys result end |
#_reduce_346(val, _values, result) ⇒ Object
4705 4706 4707 4708 4709 4710 4711 4712 4713 |
# File 'lib/ruby_parser.rb', line 4705 def _reduce_346(val, _values, result) vars = val[2] body = val[4] result = new_iter nil, vars, body self.env.unextend result end |
#_reduce_347(val, _values, result) ⇒ Object
4715 4716 4717 4718 4719 4720 4721 4722 4723 |
# File 'lib/ruby_parser.rb', line 4715 def _reduce_347(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_348(val, _values, result) ⇒ Object
4725 4726 4727 4728 4729 |
# File 'lib/ruby_parser.rb', line 4725 def _reduce_348(val, _values, result) result = new_call val[0], val[2], val[3] result end |
#_reduce_349(val, _values, result) ⇒ Object
4731 4732 4733 4734 4735 |
# File 'lib/ruby_parser.rb', line 4731 def _reduce_349(val, _values, result) result = new_call val[0], val[2], val[3] result end |
#_reduce_350(val, _values, result) ⇒ Object
4737 4738 4739 4740 4741 |
# File 'lib/ruby_parser.rb', line 4737 def _reduce_350(val, _values, result) result = self.lexer.lineno result end |
#_reduce_351(val, _values, result) ⇒ Object
4743 4744 4745 4746 4747 |
# File 'lib/ruby_parser.rb', line 4743 def _reduce_351(val, _values, result) result = new_call nil, val[0].to_sym, val[2] result end |
#_reduce_352(val, _values, result) ⇒ Object
4749 4750 4751 4752 4753 |
# File 'lib/ruby_parser.rb', line 4749 def _reduce_352(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end |
#_reduce_353(val, _values, result) ⇒ Object
4755 4756 4757 4758 4759 |
# File 'lib/ruby_parser.rb', line 4755 def _reduce_353(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end |
#_reduce_354(val, _values, result) ⇒ Object
4761 4762 4763 4764 4765 |
# File 'lib/ruby_parser.rb', line 4761 def _reduce_354(val, _values, result) result = new_call val[0], val[2].to_sym result end |
#_reduce_355(val, _values, result) ⇒ Object
4767 4768 4769 4770 4771 |
# File 'lib/ruby_parser.rb', line 4767 def _reduce_355(val, _values, result) result = new_super val[1] result end |
#_reduce_356(val, _values, result) ⇒ Object
4773 4774 4775 4776 4777 |
# File 'lib/ruby_parser.rb', line 4773 def _reduce_356(val, _values, result) result = s(:zsuper) result end |
#_reduce_357(val, _values, result) ⇒ Object
4779 4780 4781 4782 4783 4784 |
# File 'lib/ruby_parser.rb', line 4779 def _reduce_357(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end |
#_reduce_358(val, _values, result) ⇒ Object
4786 4787 4788 4789 4790 |
# File 'lib/ruby_parser.rb', line 4786 def _reduce_358(val, _values, result) result = self.env.dynamic.keys result end |
#_reduce_359(val, _values, result) ⇒ Object
4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 |
# File 'lib/ruby_parser.rb', line 4792 def _reduce_359(val, _values, result) # REFACTOR args = val[2] body = val[4] result = new_iter nil, args, body self.env.unextend result.line = val[1] result end |
#_reduce_36(val, _values, result) ⇒ Object
reduce 35 omitted
3152 3153 3154 3155 3156 |
# File 'lib/ruby_parser.rb', line 3152 def _reduce_36(val, _values, result) result = logop(:and, val[0], val[2]) result end |
#_reduce_360(val, _values, result) ⇒ Object
4803 4804 4805 4806 4807 4808 |
# File 'lib/ruby_parser.rb', line 4803 def _reduce_360(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end |
#_reduce_361(val, _values, result) ⇒ Object
4810 4811 4812 4813 4814 |
# File 'lib/ruby_parser.rb', line 4810 def _reduce_361(val, _values, result) result = self.env.dynamic.keys result end |
#_reduce_362(val, _values, result) ⇒ Object
4816 4817 4818 4819 4820 4821 4822 4823 4824 |
# File 'lib/ruby_parser.rb', line 4816 def _reduce_362(val, _values, result) args = val[2] body = val[4] result = new_iter nil, args, body self.env.unextend result.line = val[1] result end |
#_reduce_363(val, _values, result) ⇒ Object
4826 4827 4828 4829 4830 |
# File 'lib/ruby_parser.rb', line 4826 def _reduce_363(val, _values, result) result = self.lexer.lineno result end |
#_reduce_364(val, _values, result) ⇒ Object
4832 4833 4834 4835 4836 4837 4838 |
# File 'lib/ruby_parser.rb', line 4832 def _reduce_364(val, _values, result) result = s(:when, val[2], val[4]) result.line = val[1] result << val[5] if val[5] result end |
#_reduce_366(val, _values, result) ⇒ Object
reduce 365 omitted
4842 4843 4844 4845 4846 |
# File 'lib/ruby_parser.rb', line 4842 def _reduce_366(val, _values, result) result = self.list_append val[0], s(:when, val[3], nil) result end |
#_reduce_367(val, _values, result) ⇒ Object
4848 4849 4850 4851 4852 |
# File 'lib/ruby_parser.rb', line 4848 def _reduce_367(val, _values, result) result = s(:array, s(:when, val[1], nil)) result end |
#_reduce_37(val, _values, result) ⇒ Object
3158 3159 3160 3161 3162 |
# File 'lib/ruby_parser.rb', line 3158 def _reduce_37(val, _values, result) result = logop(:or, val[0], val[2]) result end |
#_reduce_370(val, _values, result) ⇒ Object
reduce 369 omitted
4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 |
# File 'lib/ruby_parser.rb', line 4858 def _reduce_370(val, _values, result) klasses, var, body, rest = val[1], val[2], val[4], val[5] klasses ||= s(:array) klasses << node_assign(var, s(:gvar, :"$!")) if var result = s(:resbody, klasses, body) result << rest if rest # UGH, rewritten above result end |
#_reduce_371(val, _values, result) ⇒ Object
4870 4871 4872 4873 4874 |
# File 'lib/ruby_parser.rb', line 4870 def _reduce_371(val, _values, result) result = nil result end |
#_reduce_372(val, _values, result) ⇒ Object
4876 4877 4878 4879 4880 |
# File 'lib/ruby_parser.rb', line 4876 def _reduce_372(val, _values, result) result = s(:array, val[0]) result end |
#_reduce_375(val, _values, result) ⇒ Object
reduce 374 omitted
4886 4887 4888 4889 4890 |
# File 'lib/ruby_parser.rb', line 4886 def _reduce_375(val, _values, result) result = val[1] result end |
#_reduce_377(val, _values, result) ⇒ Object
reduce 376 omitted
4894 4895 4896 4897 4898 4899 4900 4901 4902 |
# File 'lib/ruby_parser.rb', line 4894 def _reduce_377(val, _values, result) if (val[1] != nil) then result = val[1] else result = s(:nil) end result end |
#_reduce_379(val, _values, result) ⇒ Object
reduce 378 omitted
4906 4907 4908 4909 |
# File 'lib/ruby_parser.rb', line 4906 def _reduce_379(val, _values, result) result = s(:lit, val[0]) result end |
#_reduce_38(val, _values, result) ⇒ Object
3164 3165 3166 3167 3168 |
# File 'lib/ruby_parser.rb', line 3164 def _reduce_38(val, _values, result) result = s(:not, val[1]) result end |
#_reduce_380(val, _values, result) ⇒ Object
4911 4912 4913 4914 |
# File 'lib/ruby_parser.rb', line 4911 def _reduce_380(val, _values, result) result = s(:lit, val[0]) result end |
#_reduce_382(val, _values, result) ⇒ Object
reduce 381 omitted
4918 4919 4920 4921 4922 4923 |
# File 'lib/ruby_parser.rb', line 4918 def _reduce_382(val, _values, result) val[0] = s(:dstr, val[0].value) if val[0][0] == :evstr result = val[0] result end |
#_reduce_384(val, _values, result) ⇒ Object
reduce 383 omitted
4927 4928 4929 4930 4931 |
# File 'lib/ruby_parser.rb', line 4927 def _reduce_384(val, _values, result) result = self.literal_concat val[0], val[1] result end |
#_reduce_385(val, _values, result) ⇒ Object
4933 4934 4935 4936 4937 |
# File 'lib/ruby_parser.rb', line 4933 def _reduce_385(val, _values, result) result = val[1] result end |
#_reduce_386(val, _values, result) ⇒ Object
4939 4940 4941 4942 4943 |
# File 'lib/ruby_parser.rb', line 4939 def _reduce_386(val, _values, result) result = s(:str, val[0]) result end |
#_reduce_387(val, _values, result) ⇒ Object
4945 4946 4947 4948 4949 |
# File 'lib/ruby_parser.rb', line 4945 def _reduce_387(val, _values, result) result = new_xstring val[1] result end |
#_reduce_388(val, _values, result) ⇒ Object
4951 4952 4953 4954 4955 |
# File 'lib/ruby_parser.rb', line 4951 def _reduce_388(val, _values, result) result = new_regexp val result end |
#_reduce_389(val, _values, result) ⇒ Object
4957 4958 4959 4960 4961 |
# File 'lib/ruby_parser.rb', line 4957 def _reduce_389(val, _values, result) result = s(:array) result end |
#_reduce_39(val, _values, result) ⇒ Object
3170 3171 3172 3173 3174 |
# File 'lib/ruby_parser.rb', line 3170 def _reduce_39(val, _values, result) result = s(:not, val[1]) result end |
#_reduce_390(val, _values, result) ⇒ Object
4963 4964 4965 4966 4967 |
# File 'lib/ruby_parser.rb', line 4963 def _reduce_390(val, _values, result) result = val[1] result end |
#_reduce_391(val, _values, result) ⇒ Object
4969 4970 4971 4972 4973 |
# File 'lib/ruby_parser.rb', line 4969 def _reduce_391(val, _values, result) result = s(:array) result end |
#_reduce_392(val, _values, result) ⇒ Object
4975 4976 4977 4978 4979 4980 |
# File 'lib/ruby_parser.rb', line 4975 def _reduce_392(val, _values, result) word = val[1][0] == :evstr ? s(:dstr, "", val[1]) : val[1] result = val[0] << word result end |
#_reduce_394(val, _values, result) ⇒ Object
reduce 393 omitted
4984 4985 4986 4987 4988 |
# File 'lib/ruby_parser.rb', line 4984 def _reduce_394(val, _values, result) result = self.literal_concat val[0], val[1] result end |
#_reduce_395(val, _values, result) ⇒ Object
4990 4991 4992 4993 4994 |
# File 'lib/ruby_parser.rb', line 4990 def _reduce_395(val, _values, result) result = s(:array) result end |
#_reduce_396(val, _values, result) ⇒ Object
4996 4997 4998 4999 5000 |
# File 'lib/ruby_parser.rb', line 4996 def _reduce_396(val, _values, result) result = val[1] result end |
#_reduce_397(val, _values, result) ⇒ Object
5002 5003 5004 5005 5006 |
# File 'lib/ruby_parser.rb', line 5002 def _reduce_397(val, _values, result) result = s(:array) result end |
#_reduce_398(val, _values, result) ⇒ Object
5008 5009 5010 5011 5012 |
# File 'lib/ruby_parser.rb', line 5008 def _reduce_398(val, _values, result) result = val[0] << s(:str, val[1]) result end |
#_reduce_399(val, _values, result) ⇒ Object
5014 5015 5016 5017 5018 |
# File 'lib/ruby_parser.rb', line 5014 def _reduce_399(val, _values, result) result = s(:str, "") result end |
#_reduce_4(val, _values, result) ⇒ Object
2968 2969 2970 2971 2972 |
# File 'lib/ruby_parser.rb', line 2968 def _reduce_4(val, _values, result) result = new_compstmt val result end |
#_reduce_400(val, _values, result) ⇒ Object
5020 5021 5022 5023 5024 |
# File 'lib/ruby_parser.rb', line 5020 def _reduce_400(val, _values, result) result = literal_concat(val[0], val[1]) result end |
#_reduce_401(val, _values, result) ⇒ Object
5026 5027 5028 5029 5030 |
# File 'lib/ruby_parser.rb', line 5026 def _reduce_401(val, _values, result) result = nil result end |
#_reduce_402(val, _values, result) ⇒ Object
5032 5033 5034 5035 5036 |
# File 'lib/ruby_parser.rb', line 5032 def _reduce_402(val, _values, result) result = literal_concat(val[0], val[1]) result end |
#_reduce_403(val, _values, result) ⇒ Object
5038 5039 5040 5041 5042 |
# File 'lib/ruby_parser.rb', line 5038 def _reduce_403(val, _values, result) result = s(:str, val[0]) result end |
#_reduce_404(val, _values, result) ⇒ Object
5044 5045 5046 5047 5048 5049 5050 |
# File 'lib/ruby_parser.rb', line 5044 def _reduce_404(val, _values, result) result = lexer.lex_strterm lexer.lex_strterm = nil lexer.lex_state = :expr_beg result end |
#_reduce_405(val, _values, result) ⇒ Object
5052 5053 5054 5055 5056 5057 |
# File 'lib/ruby_parser.rb', line 5052 def _reduce_405(val, _values, result) lexer.lex_strterm = val[1] result = s(:evstr, val[2]) result end |
#_reduce_406(val, _values, result) ⇒ Object
5059 5060 5061 5062 5063 5064 5065 5066 5067 |
# File 'lib/ruby_parser.rb', line 5059 def _reduce_406(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_407(val, _values, result) ⇒ Object
5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 |
# File 'lib/ruby_parser.rb', line 5069 def _reduce_407(val, _values, result) lexer.lex_strterm = val[1] lexer.cond.lexpop lexer.cmdarg.lexpop case val[2] when Sexp then case val[2][0] when :str, :dstr, :evstr then result = val[2] else result = s(:evstr, val[2]) end when nil then result = s(:evstr) else raise "unknown rescue body: #{val[2].inspect}" end result end |
#_reduce_408(val, _values, result) ⇒ Object
5091 5092 5093 5094 |
# File 'lib/ruby_parser.rb', line 5091 def _reduce_408(val, _values, result) result = s(:gvar, val[0].to_sym) result end |
#_reduce_409(val, _values, result) ⇒ Object
5096 5097 5098 5099 |
# File 'lib/ruby_parser.rb', line 5096 def _reduce_409(val, _values, result) result = s(:ivar, val[0].to_sym) result end |
#_reduce_41(val, _values, result) ⇒ Object
reduce 40 omitted
3178 3179 3180 3181 3182 |
# File 'lib/ruby_parser.rb', line 3178 def _reduce_41(val, _values, result) result = value_expr(val[0]) result end |
#_reduce_410(val, _values, result) ⇒ Object
5101 5102 5103 5104 |
# File 'lib/ruby_parser.rb', line 5101 def _reduce_410(val, _values, result) result = s(:cvar, val[0].to_sym) result end |
#_reduce_412(val, _values, result) ⇒ Object
reduce 411 omitted
5108 5109 5110 5111 5112 5113 |
# File 'lib/ruby_parser.rb', line 5108 def _reduce_412(val, _values, result) lexer.lex_state = :expr_end result = val[1].to_sym result end |
#_reduce_413(val, _values, result) ⇒ Object
5115 5116 5117 5118 5119 |
# File 'lib/ruby_parser.rb', line 5115 def _reduce_413(val, _values, result) result = val[0].to_sym result end |
#_reduce_418(val, _values, result) ⇒ Object
reduce 417 omitted
5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 |
# File 'lib/ruby_parser.rb', line 5129 def _reduce_418(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_421(val, _values, result) ⇒ Object
reduce 420 omitted
5152 5153 5154 5155 5156 |
# File 'lib/ruby_parser.rb', line 5152 def _reduce_421(val, _values, result) result = -val[1] # TODO: pt_testcase result end |
#_reduce_422(val, _values, result) ⇒ Object
5158 5159 5160 5161 5162 |
# File 'lib/ruby_parser.rb', line 5158 def _reduce_422(val, _values, result) result = -val[1] # TODO: pt_testcase result end |
#_reduce_428(val, _values, result) ⇒ Object
reduce 427 omitted
5174 5175 5176 5177 |
# File 'lib/ruby_parser.rb', line 5174 def _reduce_428(val, _values, result) result = :nil result end |
#_reduce_429(val, _values, result) ⇒ Object
5179 5180 5181 5182 |
# File 'lib/ruby_parser.rb', line 5179 def _reduce_429(val, _values, result) result = :self result end |
#_reduce_430(val, _values, result) ⇒ Object
5184 5185 5186 5187 |
# File 'lib/ruby_parser.rb', line 5184 def _reduce_430(val, _values, result) result = :true result end |
#_reduce_431(val, _values, result) ⇒ Object
5189 5190 5191 5192 |
# File 'lib/ruby_parser.rb', line 5189 def _reduce_431(val, _values, result) result = :false result end |
#_reduce_432(val, _values, result) ⇒ Object
5194 5195 5196 5197 |
# File 'lib/ruby_parser.rb', line 5194 def _reduce_432(val, _values, result) result = :__FILE__ result end |
#_reduce_433(val, _values, result) ⇒ Object
5199 5200 5201 5202 |
# File 'lib/ruby_parser.rb', line 5199 def _reduce_433(val, _values, result) result = :__LINE__ result end |
#_reduce_434(val, _values, result) ⇒ Object
5204 5205 5206 5207 5208 |
# File 'lib/ruby_parser.rb', line 5204 def _reduce_434(val, _values, result) result = self.gettable val[0] result end |
#_reduce_435(val, _values, result) ⇒ Object
5210 5211 5212 5213 5214 |
# File 'lib/ruby_parser.rb', line 5210 def _reduce_435(val, _values, result) result = self.assignable val[0] result end |
#_reduce_436(val, _values, result) ⇒ Object
5216 5217 5218 5219 |
# File 'lib/ruby_parser.rb', line 5216 def _reduce_436(val, _values, result) result = s(:nth_ref, val[0]) result end |
#_reduce_437(val, _values, result) ⇒ Object
5221 5222 5223 5224 |
# File 'lib/ruby_parser.rb', line 5221 def _reduce_437(val, _values, result) result = s(:back_ref, val[0]) result end |
#_reduce_438(val, _values, result) ⇒ Object
5226 5227 5228 5229 5230 |
# File 'lib/ruby_parser.rb', line 5226 def _reduce_438(val, _values, result) result = nil result end |
#_reduce_439(val, _values, result) ⇒ Object
5232 5233 5234 5235 5236 |
# File 'lib/ruby_parser.rb', line 5232 def _reduce_439(val, _values, result) lexer.lex_state = :expr_beg result end |
#_reduce_44(val, _values, result) ⇒ Object
reduce 43 omitted
3188 3189 3190 3191 3192 |
# File 'lib/ruby_parser.rb', line 3188 def _reduce_44(val, _values, result) result = s(:return, ret_args(val[1])) result end |
#_reduce_440(val, _values, result) ⇒ Object
5238 5239 5240 5241 5242 |
# File 'lib/ruby_parser.rb', line 5238 def _reduce_440(val, _values, result) result = val[2] result end |
#_reduce_441(val, _values, result) ⇒ Object
5244 5245 5246 5247 5248 5249 |
# File 'lib/ruby_parser.rb', line 5244 def _reduce_441(val, _values, result) yyerrok result = nil result end |
#_reduce_442(val, _values, result) ⇒ Object
5251 5252 5253 5254 5255 5256 |
# File 'lib/ruby_parser.rb', line 5251 def _reduce_442(val, _values, result) result = val[1] lexer.lex_state = :expr_beg result end |
#_reduce_443(val, _values, result) ⇒ Object
5258 5259 5260 5261 5262 |
# File 'lib/ruby_parser.rb', line 5258 def _reduce_443(val, _values, result) result = val[0] result end |
#_reduce_444(val, _values, result) ⇒ Object
5264 5265 5266 5267 5268 |
# File 'lib/ruby_parser.rb', line 5264 def _reduce_444(val, _values, result) result = args val[0], val[2], val[4], val[5] result end |
#_reduce_445(val, _values, result) ⇒ Object
5270 5271 5272 5273 5274 |
# File 'lib/ruby_parser.rb', line 5270 def _reduce_445(val, _values, result) result = args val[0], val[2], nil, val[3] result end |
#_reduce_446(val, _values, result) ⇒ Object
5276 5277 5278 5279 5280 |
# File 'lib/ruby_parser.rb', line 5276 def _reduce_446(val, _values, result) result = args val[0], nil, val[2], val[3] result end |
#_reduce_447(val, _values, result) ⇒ Object
5282 5283 5284 5285 5286 |
# File 'lib/ruby_parser.rb', line 5282 def _reduce_447(val, _values, result) result = args val[0], nil, nil, val[1] result end |
#_reduce_448(val, _values, result) ⇒ Object
5288 5289 5290 5291 5292 |
# File 'lib/ruby_parser.rb', line 5288 def _reduce_448(val, _values, result) result = args nil, val[0], val[2], val[3] result end |
#_reduce_449(val, _values, result) ⇒ Object
5294 5295 5296 5297 5298 |
# File 'lib/ruby_parser.rb', line 5294 def _reduce_449(val, _values, result) result = args nil, val[0], nil, val[1] result end |
#_reduce_45(val, _values, result) ⇒ Object
3194 3195 3196 3197 3198 |
# File 'lib/ruby_parser.rb', line 3194 def _reduce_45(val, _values, result) result = s(:break, ret_args(val[1])) result end |
#_reduce_450(val, _values, result) ⇒ Object
5300 5301 5302 5303 5304 |
# File 'lib/ruby_parser.rb', line 5300 def _reduce_450(val, _values, result) result = args nil, nil, val[0], val[1] result end |
#_reduce_451(val, _values, result) ⇒ Object
5306 5307 5308 5309 5310 |
# File 'lib/ruby_parser.rb', line 5306 def _reduce_451(val, _values, result) result = args nil, nil, nil, val[0] result end |
#_reduce_452(val, _values, result) ⇒ Object
5312 5313 5314 5315 5316 |
# File 'lib/ruby_parser.rb', line 5312 def _reduce_452(val, _values, result) result = args nil, nil, nil, nil result end |
#_reduce_453(val, _values, result) ⇒ Object
5318 5319 5320 5321 5322 |
# File 'lib/ruby_parser.rb', line 5318 def _reduce_453(val, _values, result) yyerror "formal argument cannot be a constant: #{val[0]}" result end |
#_reduce_454(val, _values, result) ⇒ Object
5324 5325 5326 5327 5328 |
# File 'lib/ruby_parser.rb', line 5324 def _reduce_454(val, _values, result) yyerror "formal argument cannot be an instance variable" result end |
#_reduce_455(val, _values, result) ⇒ Object
5330 5331 5332 5333 5334 |
# File 'lib/ruby_parser.rb', line 5330 def _reduce_455(val, _values, result) yyerror "formal argument cannot be a class variable" result end |
#_reduce_456(val, _values, result) ⇒ Object
5336 5337 5338 5339 5340 5341 5342 5343 |
# File 'lib/ruby_parser.rb', line 5336 def _reduce_456(val, _values, result) identifier = val[0].to_sym self.env[identifier] = :lvar result = val[0] result end |
#_reduce_457(val, _values, result) ⇒ Object
5345 5346 5347 5348 5349 5350 |
# File 'lib/ruby_parser.rb', line 5345 def _reduce_457(val, _values, result) result = s(:args) result << val[0].to_sym result end |
#_reduce_458(val, _values, result) ⇒ Object
5352 5353 5354 5355 5356 5357 |
# File 'lib/ruby_parser.rb', line 5352 def _reduce_458(val, _values, result) val[0] << val[2].to_sym result = val[0] result end |
#_reduce_459(val, _values, result) ⇒ Object
5359 5360 5361 5362 5363 5364 |
# File 'lib/ruby_parser.rb', line 5359 def _reduce_459(val, _values, result) result = self.assignable val[0], val[2] # TODO: detect duplicate names result end |
#_reduce_46(val, _values, result) ⇒ Object
3200 3201 3202 3203 3204 |
# File 'lib/ruby_parser.rb', line 3200 def _reduce_46(val, _values, result) result = s(:next, ret_args(val[1])) result end |
#_reduce_460(val, _values, result) ⇒ Object
5366 5367 5368 5369 5370 |
# File 'lib/ruby_parser.rb', line 5366 def _reduce_460(val, _values, result) result = s(:block, val[0]) result end |
#_reduce_461(val, _values, result) ⇒ Object
5372 5373 5374 5375 5376 |
# File 'lib/ruby_parser.rb', line 5372 def _reduce_461(val, _values, result) result = self.append_to_block val[0], val[2] result end |
#_reduce_464(val, _values, result) ⇒ Object
reduce 463 omitted
5382 5383 5384 5385 5386 5387 5388 5389 |
# File 'lib/ruby_parser.rb', line 5382 def _reduce_464(val, _values, result) # TODO: differs from parse.y - needs tests name = val[1].to_sym self.assignable name result = :"*#{name}" result end |
#_reduce_465(val, _values, result) ⇒ Object
5391 5392 5393 5394 5395 5396 5397 |
# File 'lib/ruby_parser.rb', line 5391 def _reduce_465(val, _values, result) name = :"*" self.env[name] = :lvar result = name result end |
#_reduce_468(val, _values, result) ⇒ Object
reduce 467 omitted
5403 5404 5405 5406 5407 5408 5409 5410 |
# File 'lib/ruby_parser.rb', line 5403 def _reduce_468(val, _values, result) identifier = val[1].to_sym self.env[identifier] = :lvar result = s(:block_arg, identifier.to_sym) result end |
#_reduce_469(val, _values, result) ⇒ Object
5412 5413 5414 5415 5416 |
# File 'lib/ruby_parser.rb', line 5412 def _reduce_469(val, _values, result) result = val[1] result end |
#_reduce_470(val, _values, result) ⇒ Object
5418 5419 5420 5421 5422 |
# File 'lib/ruby_parser.rb', line 5418 def _reduce_470(val, _values, result) result = nil result end |
#_reduce_472(val, _values, result) ⇒ Object
reduce 471 omitted
5426 5427 5428 5429 5430 |
# File 'lib/ruby_parser.rb', line 5426 def _reduce_472(val, _values, result) lexer.lex_state = :expr_beg result end |
#_reduce_473(val, _values, result) ⇒ Object
5432 5433 5434 5435 5436 5437 5438 |
# File 'lib/ruby_parser.rb', line 5432 def _reduce_473(val, _values, result) result = val[2] yyerror "Can't define single method for literals." if result[0] == :lit result end |
#_reduce_474(val, _values, result) ⇒ Object
5440 5441 5442 5443 5444 |
# File 'lib/ruby_parser.rb', line 5440 def _reduce_474(val, _values, result) result = s(:array) result end |
#_reduce_475(val, _values, result) ⇒ Object
5446 5447 5448 5449 5450 |
# File 'lib/ruby_parser.rb', line 5446 def _reduce_475(val, _values, result) result = val[0] result end |
#_reduce_476(val, _values, result) ⇒ Object
5452 5453 5454 5455 5456 5457 5458 5459 5460 |
# File 'lib/ruby_parser.rb', line 5452 def _reduce_476(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_478(val, _values, result) ⇒ Object
reduce 477 omitted
5464 5465 5466 5467 5468 5469 5470 5471 |
# File 'lib/ruby_parser.rb', line 5464 def _reduce_478(val, _values, result) list = val[0].dup more = val[2][1..-1] list.push(*more) unless more.empty? result = list result end |
#_reduce_479(val, _values, result) ⇒ Object
5473 5474 5475 5476 5477 |
# File 'lib/ruby_parser.rb', line 5473 def _reduce_479(val, _values, result) result = s(:array, val[0], val[2]) result end |
#_reduce_48(val, _values, result) ⇒ Object
reduce 47 omitted
3208 3209 3210 3211 3212 |
# File 'lib/ruby_parser.rb', line 3208 def _reduce_48(val, _values, result) result = new_call val[0], val[2], val[3] result end |
#_reduce_49(val, _values, result) ⇒ Object
3214 3215 3216 3217 3218 |
# File 'lib/ruby_parser.rb', line 3214 def _reduce_49(val, _values, result) result = new_call val[0], val[2], val[3] result end |
#_reduce_499(val, _values, result) ⇒ Object
reduce 498 omitted
5517 5518 5519 5520 |
# File 'lib/ruby_parser.rb', line 5517 def _reduce_499(val, _values, result) yyerrok result end |
#_reduce_50(val, _values, result) ⇒ Object
3220 3221 3222 3223 3224 3225 |
# File 'lib/ruby_parser.rb', line 3220 def _reduce_50(val, _values, result) self.env.extend(:dynamic) result = self.lexer.lineno result end |
#_reduce_502(val, _values, result) ⇒ Object
reduce 501 omitted
5526 5527 5528 5529 |
# File 'lib/ruby_parser.rb', line 5526 def _reduce_502(val, _values, result) yyerrok result end |
#_reduce_503(val, _values, result) ⇒ Object
5531 5532 5533 5534 |
# File 'lib/ruby_parser.rb', line 5531 def _reduce_503(val, _values, result) result = nil result end |
#_reduce_504(val, _values, result) ⇒ Object
5536 5537 5538 5539 |
# File 'lib/ruby_parser.rb', line 5536 def _reduce_504(val, _values, result) result = nil result end |
#_reduce_51(val, _values, result) ⇒ Object
3227 3228 3229 3230 3231 |
# File 'lib/ruby_parser.rb', line 3227 def _reduce_51(val, _values, result) result = self.env.dynamic.keys result end |
#_reduce_52(val, _values, result) ⇒ Object
3233 3234 3235 3236 3237 3238 |
# File 'lib/ruby_parser.rb', line 3233 def _reduce_52(val, _values, result) result = new_iter nil, val[2], val[4] self.env.unextend result end |
#_reduce_53(val, _values, result) ⇒ Object
3240 3241 3242 3243 3244 |
# File 'lib/ruby_parser.rb', line 3240 def _reduce_53(val, _values, result) result = new_call nil, val[0].to_sym, val[1] result end |
#_reduce_54(val, _values, result) ⇒ Object
3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 |
# File 'lib/ruby_parser.rb', line 3246 def _reduce_54(val, _values, result) result = new_call nil, 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 result, operation = val[2], result result.insert 1, operation end result end |
#_reduce_55(val, _values, result) ⇒ Object
3259 3260 3261 3262 3263 |
# File 'lib/ruby_parser.rb', line 3259 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
3265 3266 3267 3268 3269 |
# File 'lib/ruby_parser.rb', line 3265 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
3271 3272 3273 3274 3275 |
# File 'lib/ruby_parser.rb', line 3271 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
3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 |
# File 'lib/ruby_parser.rb', line 3277 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
3290 3291 3292 3293 3294 |
# File 'lib/ruby_parser.rb', line 3290 def _reduce_59(val, _values, result) result = new_super val[1] result end |
#_reduce_60(val, _values, result) ⇒ Object
3296 3297 3298 3299 3300 |
# File 'lib/ruby_parser.rb', line 3296 def _reduce_60(val, _values, result) result = new_yield val[1] result end |
#_reduce_62(val, _values, result) ⇒ Object
reduce 61 omitted
3304 3305 3306 3307 3308 |
# File 'lib/ruby_parser.rb', line 3304 def _reduce_62(val, _values, result) result = val[1] result end |
#_reduce_64(val, _values, result) ⇒ Object
reduce 63 omitted
3312 3313 3314 3315 3316 |
# File 'lib/ruby_parser.rb', line 3312 def _reduce_64(val, _values, result) result = s(:masgn, s(:array, val[1])) result end |
#_reduce_65(val, _values, result) ⇒ Object
3318 3319 3320 3321 3322 |
# File 'lib/ruby_parser.rb', line 3318 def _reduce_65(val, _values, result) result = s(:masgn, val[0]) result end |
#_reduce_66(val, _values, result) ⇒ Object
3324 3325 3326 3327 3328 |
# File 'lib/ruby_parser.rb', line 3324 def _reduce_66(val, _values, result) result = s(:masgn, val[0] << val[1].compact) result end |
#_reduce_67(val, _values, result) ⇒ Object
3330 3331 3332 3333 3334 |
# File 'lib/ruby_parser.rb', line 3330 def _reduce_67(val, _values, result) result = s(:masgn, val[0] << s(:splat, val[2])) result end |
#_reduce_68(val, _values, result) ⇒ Object
3336 3337 3338 3339 3340 |
# File 'lib/ruby_parser.rb', line 3336 def _reduce_68(val, _values, result) result = s(:masgn, val[0] << s(:splat)) result end |
#_reduce_69(val, _values, result) ⇒ Object
3342 3343 3344 3345 3346 |
# File 'lib/ruby_parser.rb', line 3342 def _reduce_69(val, _values, result) result = s(:masgn, s(:array, s(:splat, val[1]))) result end |
#_reduce_7(val, _values, result) ⇒ Object
reduce 6 omitted
2978 2979 2980 2981 2982 |
# File 'lib/ruby_parser.rb', line 2978 def _reduce_7(val, _values, result) result = self.block_append val[0], val[2] result end |
#_reduce_70(val, _values, result) ⇒ Object
3348 3349 3350 3351 3352 |
# File 'lib/ruby_parser.rb', line 3348 def _reduce_70(val, _values, result) result = s(:masgn, s(:array, s(:splat))) result end |
#_reduce_72(val, _values, result) ⇒ Object
reduce 71 omitted
3356 3357 3358 3359 3360 |
# File 'lib/ruby_parser.rb', line 3356 def _reduce_72(val, _values, result) result = val[1] result end |
#_reduce_73(val, _values, result) ⇒ Object
3362 3363 3364 3365 3366 |
# File 'lib/ruby_parser.rb', line 3362 def _reduce_73(val, _values, result) result = s(:array, val[0]) result end |
#_reduce_74(val, _values, result) ⇒ Object
3368 3369 3370 3371 3372 |
# File 'lib/ruby_parser.rb', line 3368 def _reduce_74(val, _values, result) result = val[0] << val[1].compact result end |
#_reduce_75(val, _values, result) ⇒ Object
3374 3375 3376 3377 3378 |
# File 'lib/ruby_parser.rb', line 3374 def _reduce_75(val, _values, result) result = self.assignable val[0] result end |
#_reduce_76(val, _values, result) ⇒ Object
3380 3381 3382 3383 3384 |
# File 'lib/ruby_parser.rb', line 3380 def _reduce_76(val, _values, result) result = self.aryset val[0], val[2] result end |
#_reduce_77(val, _values, result) ⇒ Object
3386 3387 3388 3389 3390 |
# File 'lib/ruby_parser.rb', line 3386 def _reduce_77(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=", s(:arglist)) result end |
#_reduce_78(val, _values, result) ⇒ Object
3392 3393 3394 3395 3396 |
# File 'lib/ruby_parser.rb', line 3392 def _reduce_78(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=", s(:arglist)) result end |
#_reduce_79(val, _values, result) ⇒ Object
3398 3399 3400 3401 3402 |
# File 'lib/ruby_parser.rb', line 3398 def _reduce_79(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=", s(:arglist)) result end |
#_reduce_8(val, _values, result) ⇒ Object
2984 2985 2986 2987 2988 |
# File 'lib/ruby_parser.rb', line 2984 def _reduce_8(val, _values, result) result = val[1] result end |
#_reduce_80(val, _values, result) ⇒ Object
3404 3405 3406 3407 3408 3409 3410 3411 3412 |
# File 'lib/ruby_parser.rb', line 3404 def _reduce_80(val, _values, result) if (self.in_def || self.in_single > 0) then yyerror "dynamic constant assignment" end result = s(:const, s(:colon2, val[0], val[2].to_sym), nil) result end |
#_reduce_81(val, _values, result) ⇒ Object
3414 3415 3416 3417 3418 3419 3420 3421 3422 |
# File 'lib/ruby_parser.rb', line 3414 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
3424 3425 3426 3427 3428 |
# File 'lib/ruby_parser.rb', line 3424 def _reduce_82(val, _values, result) self.backref_assign_error val[0] result end |
#_reduce_83(val, _values, result) ⇒ Object
3430 3431 3432 3433 3434 |
# File 'lib/ruby_parser.rb', line 3430 def _reduce_83(val, _values, result) result = self.assignable val[0] result end |
#_reduce_84(val, _values, result) ⇒ Object
3436 3437 3438 3439 3440 |
# File 'lib/ruby_parser.rb', line 3436 def _reduce_84(val, _values, result) result = self.aryset val[0], val[2] result end |
#_reduce_85(val, _values, result) ⇒ Object
3442 3443 3444 3445 3446 |
# File 'lib/ruby_parser.rb', line 3442 def _reduce_85(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end |
#_reduce_86(val, _values, result) ⇒ Object
3448 3449 3450 3451 3452 |
# File 'lib/ruby_parser.rb', line 3448 def _reduce_86(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end |
#_reduce_87(val, _values, result) ⇒ Object
3454 3455 3456 3457 3458 |
# File 'lib/ruby_parser.rb', line 3454 def _reduce_87(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end |
#_reduce_88(val, _values, result) ⇒ Object
3460 3461 3462 3463 3464 3465 3466 3467 3468 |
# File 'lib/ruby_parser.rb', line 3460 def _reduce_88(val, _values, result) if (self.in_def || self.in_single > 0) then yyerror "dynamic constant assignment" end result = s(:const, s(:colon2, val[0], val[2].to_sym)) result end |
#_reduce_89(val, _values, result) ⇒ Object
3470 3471 3472 3473 3474 3475 3476 3477 3478 |
# File 'lib/ruby_parser.rb', line 3470 def _reduce_89(val, _values, result) if (self.in_def || self.in_single > 0) then yyerror "dynamic constant assignment" end result = s(:const, s(:colon3, val[1].to_sym)) result end |
#_reduce_9(val, _values, result) ⇒ Object
2990 2991 2992 2993 2994 2995 |
# File 'lib/ruby_parser.rb', line 2990 def _reduce_9(val, _values, result) lexer.lex_state = :expr_fname result = self.lexer.lineno result end |
#_reduce_90(val, _values, result) ⇒ Object
3480 3481 3482 3483 3484 |
# File 'lib/ruby_parser.rb', line 3480 def _reduce_90(val, _values, result) self.backref_assign_error val[0] result end |
#_reduce_91(val, _values, result) ⇒ Object
3486 3487 3488 3489 3490 |
# File 'lib/ruby_parser.rb', line 3486 def _reduce_91(val, _values, result) yyerror "class/module name must be CONSTANT" result end |
#_reduce_93(val, _values, result) ⇒ Object
reduce 92 omitted
3494 3495 3496 3497 3498 |
# File 'lib/ruby_parser.rb', line 3494 def _reduce_93(val, _values, result) result = s(:colon3, val[1].to_sym) result end |
#_reduce_94(val, _values, result) ⇒ Object
3500 3501 3502 3503 3504 |
# File 'lib/ruby_parser.rb', line 3500 def _reduce_94(val, _values, result) result = val[0].to_sym result end |
#_reduce_95(val, _values, result) ⇒ Object
3506 3507 3508 3509 3510 |
# File 'lib/ruby_parser.rb', line 3506 def _reduce_95(val, _values, result) result = s(:colon2, val[0], val[2].to_sym) result end |
#_reduce_99(val, _values, result) ⇒ Object
reduce 98 omitted
3518 3519 3520 3521 3522 3523 |
# File 'lib/ruby_parser.rb', line 3518 def _reduce_99(val, _values, result) lexer.lex_state = :expr_end result = val[0] result end |
#_reduce_none(val, _values, result) ⇒ Object
5541 5542 5543 |
# File 'lib/ruby_parser.rb', line 5541 def _reduce_none(val, _values, result) val[0] end |
#append_to_block(head, tail) ⇒ Object
FIX: wtf is this?!? switch to block_append
123 124 125 126 127 128 129 130 |
# File 'lib/ruby_parser_extras.rb', line 123 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 head end |
#arg_add(node1, node2) ⇒ Object
TODO: nuke
132 133 134 135 136 137 138 139 |
# File 'lib/ruby_parser_extras.rb', line 132 def arg_add(node1, node2) # TODO: nuke return s(:arglist, node2) unless node1 node1[0] = :arglist if node1[0] == :array return node1 << node2 if node1[0] == :arglist return s(:arglist, node1, node2) end |
#arg_blk_pass(node1, node2) ⇒ Object
TODO: nuke
141 142 143 144 145 |
# File 'lib/ruby_parser_extras.rb', line 141 def arg_blk_pass node1, node2 # TODO: nuke node1 = s(:arglist, node1) unless [:arglist, :array].include? node1.first node1 << node2 if node2 node1 end |
#arg_concat(node1, node2) ⇒ Object
TODO: nuke
147 148 149 150 151 |
# File 'lib/ruby_parser_extras.rb', line 147 def arg_concat node1, node2 # TODO: nuke raise "huh" unless node2 node1 << s(:splat, node2).compact node1 end |
#args(arg, optarg, rest_arg, block_arg) ⇒ Object
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/ruby_parser_extras.rb', line 153 def args arg, optarg, rest_arg, block_arg arg ||= s(:args) result = arg if optarg then optarg[1..-1].each do |lasgn| # FIX clean sexp iter raise "wtf? #{lasgn.inspect}" unless lasgn[0] == :lasgn result << lasgn[1] end end result << rest_arg if rest_arg result << :"&#{block_arg.last}" if block_arg result << optarg if optarg # TODO? huh - processed above as well result end |
#aryset(receiver, index) ⇒ Object
171 172 173 174 |
# File 'lib/ruby_parser_extras.rb', line 171 def aryset receiver, index index[0] = :arglist if index[0] == :array s(:attrasgn, receiver, :"[]=", index) end |
#assignable(lhs, value = nil) ⇒ Object
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 |
# File 'lib/ruby_parser_extras.rb', line 176 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(:lasgn, id) elsif self.env[id] == :dvar then self.env.use(id) s(:lasgn, id) elsif ! self.env.dynamic? then s(:lasgn, id) else s(:lasgn, id) end else raise "wtf? unknown type: #{self.env[id]}" end end self.env[id] ||= :lvar result << value if value return result end |
#block_append(head, tail, strip_tail_block = false) ⇒ Object
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 |
# File 'lib/ruby_parser_extras.rb', line 220 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 line = [head.line, tail.line].compact.min 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 head.line = line head end |
#cond(node) ⇒ Object
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 |
# File 'lib/ruby_parser_extras.rb', line 244 def cond node return nil if node.nil? node = value_expr node case node.first 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] = :lvar return s(:flip2, node[1], node[2]) when :dot3 then label = "flip#{node.hash}" env[label] = :lvar return s(:flip3, node[1], node[2]) else return node end end |
#do_parse ⇒ Object
for pure ruby systems only
275 276 277 |
# File 'lib/ruby_parser_extras.rb', line 275 def do_parse _racc_do_parse_rb(_racc_setup, false) end |
#get_match_node(lhs, rhs) ⇒ Object
TODO: rename to new_match
279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 |
# File 'lib/ruby_parser_extras.rb', line 279 def get_match_node lhs, rhs # TODO: rename to new_match if lhs then case lhs[0] when :dregx, :dregx_once then return s(:match2, lhs, rhs).line(lhs.line) when :lit then return s(:match2, lhs, rhs).line(lhs.line) if Regexp === lhs.last end end if rhs then case rhs[0] when :dregx, :dregx_once then return s(:match3, rhs, lhs).line(lhs.line) when :lit then return s(:match3, rhs, lhs).line(lhs.line) if Regexp === rhs.last end end return s(:call, lhs, :"=~", s(:arglist, rhs)).line(lhs.line) end |
#gettable(id) ⇒ Object
301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 |
# File 'lib/ruby_parser_extras.rb', line 301 def gettable(id) raise "no: #{id.inspect}" if Sexp === 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(:lvar, id) else s(:call, nil, id, s(:arglist)) end end return result if result raise "identifier #{id.inspect} is not valid" end |
#list_append(list, item) ⇒ Object
TODO: nuke me sigh
348 349 350 351 352 |
# File 'lib/ruby_parser_extras.rb', line 348 def list_append list, item # TODO: nuke me *sigh* return s(:array, item) unless list list = s(:array, list) unless Sexp === list && list.first == :array list << item end |
#list_prepend(item, list) ⇒ Object
TODO: nuke me sigh
354 355 356 357 358 |
# File 'lib/ruby_parser_extras.rb', line 354 def list_prepend item, list # TODO: nuke me *sigh* list = s(:array, list) unless Sexp === list && list[0] == :array list.insert 1, item list end |
#literal_concat(head, tail) ⇒ Object
360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 |
# File 'lib/ruby_parser_extras.rb', line 360 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.size > 1 and tail[1][0] == :str then head[-1] << tail[1][-1] head[0] = :str if head.size == 2 # HACK ? else head.push(tail) end else x = [head, tail] raise "unknown type: #{x.inspect}" end return head end |
#logop(type, left, right) ⇒ Object
TODO: rename logical_op
404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 |
# File 'lib/ruby_parser_extras.rb', line 404 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_aref(val) ⇒ Object
422 423 424 425 426 427 428 429 430 431 |
# File 'lib/ruby_parser_extras.rb', line 422 def new_aref val val[2] ||= s(:arglist) val[2][0] = :arglist if val[2][0] == :array # REFACTOR if val[0].node_type == :self then result = new_call nil, :"[]", val[2] else result = new_call val[0], :"[]", val[2] end result end |
#new_body(val) ⇒ Object
433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 |
# File 'lib/ruby_parser_extras.rb', line 433 def new_body val result = val[0] if val[1] then result = s(:rescue) result << val[0] if val[0] resbody = val[1] while resbody do result << resbody resbody = resbody.resbody(true) end result << val[2] if val[2] result.line = (val[0] || val[1]).line 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] return result end |
#new_call(recv, meth, args = nil) ⇒ Object
459 460 461 462 463 464 465 466 467 468 |
# File 'lib/ruby_parser_extras.rb', line 459 def new_call recv, meth, args = nil result = s(:call, recv, meth) result.line = recv.line if recv args ||= s(:arglist) args[0] = :arglist if args.first == :array args = s(:arglist, args) unless args.first == :arglist result << args result end |
#new_case(expr, body) ⇒ Object
470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 |
# File 'lib/ruby_parser_extras.rb', line 470 def new_case expr, body result = s(:case, expr) line = (expr || body).line while body and body.node_type == :when result << body body = body.delete_at 3 end # else body = nil if body == s(:block) result << body result.line = line result end |
#new_class(val) ⇒ Object
487 488 489 490 491 492 493 494 |
# File 'lib/ruby_parser_extras.rb', line 487 def new_class val line, path, superclass, body = val[1], val[2], val[3], val[5] scope = s(:scope, body).compact result = s(:class, path, superclass, scope) result.line = line result.comments = self.comments.pop result end |
#new_compstmt(val) ⇒ Object
496 497 498 499 500 |
# File 'lib/ruby_parser_extras.rb', line 496 def new_compstmt val result = void_stmts(val[0]) result = remove_begin(result) if result result end |
#new_defn(val) ⇒ Object
502 503 504 505 506 507 508 509 510 511 512 513 514 |
# File 'lib/ruby_parser_extras.rb', line 502 def new_defn val (line, bol), name, args, body = val[2], val[1], val[3], val[4] body ||= s(:nil) body ||= s(:block) body = s(:block, body) unless body.first == :block result = s(:defn, name.to_sym, args, s(:scope, body)) result.line = line result.line -= 1 if bol result.comments = self.comments.pop result end |
#new_defs(val) ⇒ Object
516 517 518 519 520 521 522 523 524 525 526 |
# File 'lib/ruby_parser_extras.rb', line 516 def new_defs val recv, name, args, body = val[1], val[4], val[6], val[7] body ||= s(:block) body = s(:block, body) unless body.first == :block result = s(:defs, recv, name.to_sym, args, s(:scope, body)) result.line = recv.line result.comments = self.comments.pop result end |
#new_for(expr, var, body) ⇒ Object
528 529 530 531 532 |
# File 'lib/ruby_parser_extras.rb', line 528 def new_for expr, var, body result = s(:for, expr, var).line(var.line) result << body if body result end |
#new_if(c, t, f) ⇒ Object
534 535 536 537 538 539 |
# File 'lib/ruby_parser_extras.rb', line 534 def new_if c, t, f l = [c.line, t && t.line, f && f.line].compact.min c = cond c c, t, f = c.last, f, t if c[0] == :not s(:if, c, t, f).line(l) end |
#new_iter(call, args, body) ⇒ Object
541 542 543 544 545 546 547 |
# File 'lib/ruby_parser_extras.rb', line 541 def new_iter call, args, body result = s(:iter) result << call if call result << args result << body if body result end |
#new_masgn(lhs, rhs, wrap = false) ⇒ Object
549 550 551 552 553 554 555 556 557 |
# File 'lib/ruby_parser_extras.rb', line 549 def new_masgn lhs, rhs, wrap = false rhs = value_expr(rhs) rhs = lhs[1] ? s(:to_ary, rhs) : s(:array, rhs) if wrap lhs.delete_at 1 if lhs[1].nil? lhs << rhs lhs end |
#new_module(val) ⇒ Object
559 560 561 562 563 564 565 566 |
# File 'lib/ruby_parser_extras.rb', line 559 def new_module val line, path, body = val[1], val[2], val[4] body = s(:scope, body).compact result = s(:module, path, body) result.line = line result.comments = self.comments.pop result end |
#new_op_asgn(val) ⇒ Object
568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 |
# File 'lib/ruby_parser_extras.rb', line 568 def new_op_asgn val lhs, asgn_op, arg = val[0], val[1].to_sym, val[2] name = lhs.value arg = remove_begin(arg) result = case asgn_op # REFACTOR when :"||" then lhs << arg s(:op_asgn_or, self.gettable(name), lhs) when :"&&" then lhs << arg s(:op_asgn_and, self.gettable(name), lhs) else # TODO: why [2] ? lhs[2] = new_call(self.gettable(name), asgn_op, s(:arglist, arg)) lhs end result.line = lhs.line result end |
#new_regexp(val) ⇒ Object
589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 |
# File 'lib/ruby_parser_extras.rb', line 589 def new_regexp val node = val[1] || s(:str, '') = val[2] o, k = 0, nil .split(//).uniq.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 node end |
#new_sclass(val) ⇒ Object
634 635 636 637 638 639 640 641 642 |
# File 'lib/ruby_parser_extras.rb', line 634 def new_sclass val recv, in_def, in_single, body = val[3], val[4], val[6], val[7] scope = s(:scope, body).compact result = s(:sclass, recv, scope) result.line = val[2] self.in_def = in_def self.in_single = in_single result end |
#new_super(args) ⇒ Object
644 645 646 647 648 649 650 651 |
# File 'lib/ruby_parser_extras.rb', line 644 def new_super args if args && args.node_type == :block_pass then s(:super, args) else args ||= s(:arglist) s(:super, *args[1..-1]) end end |
#new_undef(n, m = nil) ⇒ Object
653 654 655 656 657 658 659 |
# File 'lib/ruby_parser_extras.rb', line 653 def new_undef n, m = nil if m then block_append(n, s(:undef, m)) else s(:undef, n) end end |
#new_until(block, expr, pre) ⇒ Object
661 662 663 664 |
# File 'lib/ruby_parser_extras.rb', line 661 def new_until block, expr, pre expr = (expr.first == :not ? expr.last : s(:not, expr)).line(expr.line) new_while block, expr, pre end |
#new_while(block, expr, pre) ⇒ Object
666 667 668 669 670 671 672 673 674 675 676 677 678 679 |
# File 'lib/ruby_parser_extras.rb', line 666 def new_while block, expr, pre line = [block && block.line, expr.line].compact.min block, pre = block.last, false if block && block[0] == :begin expr = cond expr result = if expr.first == :not then s(:until, expr.last, block, pre) else s(:while, expr, block, pre) end result.line = line result end |
#new_xstring(str) ⇒ Object
681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 |
# File 'lib/ruby_parser_extras.rb', line 681 def new_xstring str if str then case str[0] when :str str[0] = :xstr when :dstr str[0] = :dxstr else str = s(:dxstr, '', str) end str else s(:xstr, '') end end |
#new_yield(args = nil) ⇒ Object
697 698 699 700 701 702 703 704 705 706 707 708 709 |
# File 'lib/ruby_parser_extras.rb', line 697 def new_yield args = nil # TODO: raise args.inspect unless [:arglist].include? args.first # HACK raise SyntaxError, "Block argument should not be given." if args && args.node_type == :block_pass args ||= s(:arglist) # TODO: I can prolly clean this up args[0] = :arglist if args.first == :array args = s(:arglist, args) unless args.first == :arglist return s(:yield, *args[1..-1]) end |
#next_token ⇒ Object
711 712 713 714 715 716 717 |
# File 'lib/ruby_parser_extras.rb', line 711 def next_token if self.lexer.advance then return self.lexer.token, self.lexer.yacc_value else return [false, '$end'] end end |
#node_assign(lhs, rhs) ⇒ Object
TODO: rename new_assign
719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 |
# File 'lib/ruby_parser_extras.rb', line 719 def node_assign(lhs, rhs) # TODO: rename new_assign 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.pop unless Symbol === lhs.last lhs << arg_add(args, rhs) when :const then lhs[0] = :cdecl lhs << rhs else raise "unknown lhs #{lhs.inspect}" end lhs end |
#old_yyerror ⇒ Object
811 |
# File 'lib/ruby_parser_extras.rb', line 811 alias :old_yyerror :yyerror |
#process(str, file = "(string)") ⇒ Object Also known as: parse
741 742 743 744 745 746 747 748 749 750 |
# File 'lib/ruby_parser_extras.rb', line 741 def process(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
753 754 755 756 757 758 759 760 |
# File 'lib/ruby_parser_extras.rb', line 753 def remove_begin node oldnode = node if node and :begin == node[0] and node.size == 2 then node = node[-1] node.line = oldnode.line end node end |
#reset ⇒ Object
762 763 764 765 766 767 768 |
# File 'lib/ruby_parser_extras.rb', line 762 def reset lexer.reset self.in_def = false self.in_single = 0 self.env.reset self.comments.clear end |
#ret_args(node) ⇒ Object
770 771 772 773 774 775 776 777 778 779 780 781 782 783 |
# File 'lib/ruby_parser_extras.rb', line 770 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 node[0] = :svalue if node[0] == :arglist && node[1][0] == :splat end node end |
#s(*args) ⇒ Object
785 786 787 788 789 790 |
# File 'lib/ruby_parser_extras.rb', line 785 def s(*args) result = Sexp.new(*args) result.line ||= lexer.lineno if lexer.src # otherwise... result.file = self.file result end |
#value_expr(oldnode) ⇒ Object
HACK
792 793 794 795 796 797 |
# File 'lib/ruby_parser_extras.rb', line 792 def value_expr oldnode # HACK node = remove_begin oldnode node.line = oldnode.line if oldnode node[2] = value_expr(node[2]) if node and node[0] == :if node end |
#void_stmts(node) ⇒ Object
799 800 801 802 803 804 805 |
# File 'lib/ruby_parser_extras.rb', line 799 def void_stmts node return nil unless node return node unless node[0] == :block node[1..-1] = node[1..-1].map { |n| remove_begin(n) } node end |
#warning(s) ⇒ Object
807 808 809 |
# File 'lib/ruby_parser_extras.rb', line 807 def warning s # do nothing for now end |
#yyerror(msg) ⇒ Object
812 813 814 815 |
# File 'lib/ruby_parser_extras.rb', line 812 def yyerror msg # for now do nothing with the msg old_yyerror end |