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.3'
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
2949 2950 2951 2952 2953 |
# File 'lib/ruby_parser.rb', line 2949 def _reduce_1(val, _values, result) self.lexer.lex_state = :expr_beg result end |
#_reduce_10(val, _values, result) ⇒ Object
2996 2997 2998 2999 3000 |
# File 'lib/ruby_parser.rb', line 2996 def _reduce_10(val, _values, result) result = s(:alias, val[1], val[3]).line(val[2]) result end |
#_reduce_100(val, _values, result) ⇒ Object
3524 3525 3526 3527 3528 3529 |
# File 'lib/ruby_parser.rb', line 3524 def _reduce_100(val, _values, result) lexer.lex_state = :expr_end result = val[0] result end |
#_reduce_101(val, _values, result) ⇒ Object
3531 3532 3533 3534 |
# File 'lib/ruby_parser.rb', line 3531 def _reduce_101(val, _values, result) result = s(:lit, val[0].to_sym) result end |
#_reduce_102(val, _values, result) ⇒ Object
3536 3537 3538 3539 |
# File 'lib/ruby_parser.rb', line 3536 def _reduce_102(val, _values, result) result = s(:lit, val[0]) result end |
#_reduce_103(val, _values, result) ⇒ Object
3541 3542 3543 3544 3545 |
# File 'lib/ruby_parser.rb', line 3541 def _reduce_103(val, _values, result) result = new_undef val[0] result end |
#_reduce_104(val, _values, result) ⇒ Object
3547 3548 3549 3550 3551 |
# File 'lib/ruby_parser.rb', line 3547 def _reduce_104(val, _values, result) lexer.lex_state = :expr_fname result end |
#_reduce_105(val, _values, result) ⇒ Object
3553 3554 3555 3556 3557 |
# File 'lib/ruby_parser.rb', line 3553 def _reduce_105(val, _values, result) result = new_undef val[0], val[3] result end |
#_reduce_11(val, _values, result) ⇒ Object
3002 3003 3004 3005 3006 |
# File 'lib/ruby_parser.rb', line 3002 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
3008 3009 3010 3011 3012 |
# File 'lib/ruby_parser.rb', line 3008 def _reduce_12(val, _values, result) result = s(:valias, val[1].to_sym, :"$#{val[2]}") result end |
#_reduce_13(val, _values, result) ⇒ Object
3014 3015 3016 3017 3018 |
# File 'lib/ruby_parser.rb', line 3014 def _reduce_13(val, _values, result) yyerror "can't make alias for the number variables" result end |
#_reduce_14(val, _values, result) ⇒ Object
3020 3021 3022 3023 3024 |
# File 'lib/ruby_parser.rb', line 3020 def _reduce_14(val, _values, result) result = val[1] result end |
#_reduce_15(val, _values, result) ⇒ Object
3026 3027 3028 3029 3030 |
# File 'lib/ruby_parser.rb', line 3026 def _reduce_15(val, _values, result) result = new_if val[2], val[0], nil result end |
#_reduce_16(val, _values, result) ⇒ Object
3032 3033 3034 3035 3036 |
# File 'lib/ruby_parser.rb', line 3032 def _reduce_16(val, _values, result) result = new_if val[2], nil, val[0] result end |
#_reduce_17(val, _values, result) ⇒ Object
3038 3039 3040 3041 3042 |
# File 'lib/ruby_parser.rb', line 3038 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
3693 3694 3695 3696 3697 |
# File 'lib/ruby_parser.rb', line 3693 def _reduce_173(val, _values, result) result = self.node_assign val[0], val[2] result end |
#_reduce_174(val, _values, result) ⇒ Object
3699 3700 3701 3702 3703 3704 |
# File 'lib/ruby_parser.rb', line 3699 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
3706 3707 3708 3709 3710 |
# File 'lib/ruby_parser.rb', line 3706 def _reduce_175(val, _values, result) result = new_op_asgn val result end |
#_reduce_176(val, _values, result) ⇒ Object
3712 3713 3714 3715 3716 3717 |
# File 'lib/ruby_parser.rb', line 3712 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
3719 3720 3721 3722 3723 |
# File 'lib/ruby_parser.rb', line 3719 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
3725 3726 3727 3728 3729 |
# File 'lib/ruby_parser.rb', line 3725 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
3731 3732 3733 3734 3735 |
# File 'lib/ruby_parser.rb', line 3731 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
3044 3045 3046 3047 3048 |
# File 'lib/ruby_parser.rb', line 3044 def _reduce_18(val, _values, result) result = new_until val[0], val[2], true result end |
#_reduce_180(val, _values, result) ⇒ Object
3737 3738 3739 3740 3741 |
# File 'lib/ruby_parser.rb', line 3737 def _reduce_180(val, _values, result) yyerror "constant re-assignment" result end |
#_reduce_181(val, _values, result) ⇒ Object
3743 3744 3745 3746 3747 |
# File 'lib/ruby_parser.rb', line 3743 def _reduce_181(val, _values, result) yyerror "constant re-assignment" result end |
#_reduce_182(val, _values, result) ⇒ Object
3749 3750 3751 3752 3753 |
# File 'lib/ruby_parser.rb', line 3749 def _reduce_182(val, _values, result) self.backref_assign_error val[0] result end |
#_reduce_183(val, _values, result) ⇒ Object
3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 |
# File 'lib/ruby_parser.rb', line 3755 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
3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 |
# File 'lib/ruby_parser.rb', line 3766 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
3777 3778 3779 3780 3781 |
# File 'lib/ruby_parser.rb', line 3777 def _reduce_185(val, _values, result) result = new_call val[0], :+, s(:arglist, val[2]) result end |
#_reduce_186(val, _values, result) ⇒ Object
3783 3784 3785 3786 3787 |
# File 'lib/ruby_parser.rb', line 3783 def _reduce_186(val, _values, result) result = new_call val[0], :-, s(:arglist, val[2]) result end |
#_reduce_187(val, _values, result) ⇒ Object
3789 3790 3791 3792 3793 |
# File 'lib/ruby_parser.rb', line 3789 def _reduce_187(val, _values, result) result = new_call val[0], :*, s(:arglist, val[2]) result end |
#_reduce_188(val, _values, result) ⇒ Object
3795 3796 3797 3798 3799 |
# File 'lib/ruby_parser.rb', line 3795 def _reduce_188(val, _values, result) result = new_call val[0], :"/", s(:arglist, val[2]) result end |
#_reduce_189(val, _values, result) ⇒ Object
3801 3802 3803 3804 3805 |
# File 'lib/ruby_parser.rb', line 3801 def _reduce_189(val, _values, result) result = new_call val[0], :%, s(:arglist, val[2]) result end |
#_reduce_19(val, _values, result) ⇒ Object
3050 3051 3052 3053 3054 |
# File 'lib/ruby_parser.rb', line 3050 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
3807 3808 3809 3810 3811 |
# File 'lib/ruby_parser.rb', line 3807 def _reduce_190(val, _values, result) result = new_call val[0], :**, s(:arglist, val[2]) result end |
#_reduce_191(val, _values, result) ⇒ Object
3813 3814 3815 3816 3817 |
# File 'lib/ruby_parser.rb', line 3813 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
3819 3820 3821 3822 3823 |
# File 'lib/ruby_parser.rb', line 3819 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
3825 3826 3827 3828 3829 3830 3831 3832 3833 |
# File 'lib/ruby_parser.rb', line 3825 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
3835 3836 3837 3838 3839 |
# File 'lib/ruby_parser.rb', line 3835 def _reduce_194(val, _values, result) result = new_call val[1], :"-@", s(:arglist) result end |
#_reduce_195(val, _values, result) ⇒ Object
3841 3842 3843 3844 3845 |
# File 'lib/ruby_parser.rb', line 3841 def _reduce_195(val, _values, result) result = new_call val[0], :"|", s(:arglist, val[2]) result end |
#_reduce_196(val, _values, result) ⇒ Object
3847 3848 3849 3850 3851 |
# File 'lib/ruby_parser.rb', line 3847 def _reduce_196(val, _values, result) result = new_call val[0], :"^", s(:arglist, val[2]) result end |
#_reduce_197(val, _values, result) ⇒ Object
3853 3854 3855 3856 3857 |
# File 'lib/ruby_parser.rb', line 3853 def _reduce_197(val, _values, result) result = new_call val[0], :"&", s(:arglist, val[2]) result end |
#_reduce_198(val, _values, result) ⇒ Object
3859 3860 3861 3862 3863 |
# File 'lib/ruby_parser.rb', line 3859 def _reduce_198(val, _values, result) result = new_call val[0], :"<=>", s(:arglist, val[2]) result end |
#_reduce_199(val, _values, result) ⇒ Object
3865 3866 3867 3868 3869 |
# File 'lib/ruby_parser.rb', line 3865 def _reduce_199(val, _values, result) result = new_call val[0], :">", s(:arglist, val[2]) result end |
#_reduce_2(val, _values, result) ⇒ Object
2955 2956 2957 2958 2959 |
# File 'lib/ruby_parser.rb', line 2955 def _reduce_2(val, _values, result) result = val[1] result end |
#_reduce_20(val, _values, result) ⇒ Object
3056 3057 3058 3059 3060 3061 3062 3063 |
# File 'lib/ruby_parser.rb', line 3056 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
3871 3872 3873 3874 3875 |
# File 'lib/ruby_parser.rb', line 3871 def _reduce_200(val, _values, result) result = new_call val[0], :">=", s(:arglist, val[2]) result end |
#_reduce_201(val, _values, result) ⇒ Object
3877 3878 3879 3880 3881 |
# File 'lib/ruby_parser.rb', line 3877 def _reduce_201(val, _values, result) result = new_call val[0], :"<", s(:arglist, val[2]) result end |
#_reduce_202(val, _values, result) ⇒ Object
3883 3884 3885 3886 3887 |
# File 'lib/ruby_parser.rb', line 3883 def _reduce_202(val, _values, result) result = new_call val[0], :"<=", s(:arglist, val[2]) result end |
#_reduce_203(val, _values, result) ⇒ Object
3889 3890 3891 3892 3893 |
# File 'lib/ruby_parser.rb', line 3889 def _reduce_203(val, _values, result) result = new_call val[0], :"==", s(:arglist, val[2]) result end |
#_reduce_204(val, _values, result) ⇒ Object
3895 3896 3897 3898 3899 |
# File 'lib/ruby_parser.rb', line 3895 def _reduce_204(val, _values, result) result = new_call val[0], :"===", s(:arglist, val[2]) result end |
#_reduce_205(val, _values, result) ⇒ Object
3901 3902 3903 3904 3905 3906 3907 |
# File 'lib/ruby_parser.rb', line 3901 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
3909 3910 3911 3912 3913 |
# File 'lib/ruby_parser.rb', line 3909 def _reduce_206(val, _values, result) result = self.get_match_node val[0], val[2] result end |
#_reduce_207(val, _values, result) ⇒ Object
3915 3916 3917 3918 3919 |
# File 'lib/ruby_parser.rb', line 3915 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
3921 3922 3923 3924 3925 |
# File 'lib/ruby_parser.rb', line 3921 def _reduce_208(val, _values, result) result = s(:not, val[1]) result end |
#_reduce_209(val, _values, result) ⇒ Object
3927 3928 3929 3930 3931 3932 |
# File 'lib/ruby_parser.rb', line 3927 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
3065 3066 3067 3068 3069 3070 |
# File 'lib/ruby_parser.rb', line 3065 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
3934 3935 3936 3937 3938 3939 3940 |
# File 'lib/ruby_parser.rb', line 3934 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
3942 3943 3944 3945 3946 3947 3948 |
# File 'lib/ruby_parser.rb', line 3942 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
3950 3951 3952 3953 3954 |
# File 'lib/ruby_parser.rb', line 3950 def _reduce_212(val, _values, result) result = logop(:and, val[0], val[2]) result end |
#_reduce_213(val, _values, result) ⇒ Object
3956 3957 3958 3959 3960 |
# File 'lib/ruby_parser.rb', line 3956 def _reduce_213(val, _values, result) result = logop(:or, val[0], val[2]) result end |
#_reduce_214(val, _values, result) ⇒ Object
3962 3963 3964 3965 3966 |
# File 'lib/ruby_parser.rb', line 3962 def _reduce_214(val, _values, result) result = s(:defined, val[2]) result end |
#_reduce_215(val, _values, result) ⇒ Object
3968 3969 3970 3971 3972 |
# File 'lib/ruby_parser.rb', line 3968 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
3976 3977 3978 3979 3980 |
# File 'lib/ruby_parser.rb', line 3976 def _reduce_217(val, _values, result) result = value_expr(val[0]) result end |
#_reduce_219(val, _values, result) ⇒ Object
reduce 218 omitted
3984 3985 3986 3987 3988 3989 |
# File 'lib/ruby_parser.rb', line 3984 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
3072 3073 3074 3075 3076 3077 3078 3079 |
# File 'lib/ruby_parser.rb', line 3072 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
3991 3992 3993 3994 3995 |
# File 'lib/ruby_parser.rb', line 3991 def _reduce_220(val, _values, result) result = val[0] result end |
#_reduce_221(val, _values, result) ⇒ Object
3997 3998 3999 4000 4001 |
# File 'lib/ruby_parser.rb', line 3997 def _reduce_221(val, _values, result) result = self.arg_concat val[0], val[3] result end |
#_reduce_222(val, _values, result) ⇒ Object
4003 4004 4005 4006 4007 |
# File 'lib/ruby_parser.rb', line 4003 def _reduce_222(val, _values, result) result = s(:array, s(:hash, *val[0].values)) result end |
#_reduce_223(val, _values, result) ⇒ Object
4009 4010 4011 4012 4013 |
# File 'lib/ruby_parser.rb', line 4009 def _reduce_223(val, _values, result) result = s(:array, s(:splat, val[1])) result end |
#_reduce_224(val, _values, result) ⇒ Object
4015 4016 4017 4018 4019 |
# File 'lib/ruby_parser.rb', line 4015 def _reduce_224(val, _values, result) result = val[1] result end |
#_reduce_225(val, _values, result) ⇒ Object
4021 4022 4023 4024 4025 |
# File 'lib/ruby_parser.rb', line 4021 def _reduce_225(val, _values, result) result = val[1] result end |
#_reduce_226(val, _values, result) ⇒ Object
4027 4028 4029 4030 4031 4032 |
# File 'lib/ruby_parser.rb', line 4027 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
4034 4035 4036 4037 4038 4039 |
# File 'lib/ruby_parser.rb', line 4034 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
3081 3082 3083 3084 3085 |
# File 'lib/ruby_parser.rb', line 3081 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
4045 4046 4047 4048 4049 4050 |
# File 'lib/ruby_parser.rb', line 4045 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
4052 4053 4054 4055 4056 |
# File 'lib/ruby_parser.rb', line 4052 def _reduce_231(val, _values, result) result = self.arg_blk_pass val[0], val[1] result end |
#_reduce_232(val, _values, result) ⇒ Object
4058 4059 4060 4061 4062 4063 |
# File 'lib/ruby_parser.rb', line 4058 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
4065 4066 4067 4068 4069 4070 |
# File 'lib/ruby_parser.rb', line 4065 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
4072 4073 4074 4075 4076 4077 |
# File 'lib/ruby_parser.rb', line 4072 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
4079 4080 4081 4082 4083 4084 |
# File 'lib/ruby_parser.rb', line 4079 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
4086 4087 4088 4089 4090 4091 4092 |
# File 'lib/ruby_parser.rb', line 4086 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
4094 4095 4096 4097 4098 |
# File 'lib/ruby_parser.rb', line 4094 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
4102 4103 4104 4105 4106 4107 |
# File 'lib/ruby_parser.rb', line 4102 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
3087 3088 3089 3090 3091 |
# File 'lib/ruby_parser.rb', line 3087 def _reduce_24(val, _values, result) result = new_masgn val[0], val[2], :wrap result end |
#_reduce_240(val, _values, result) ⇒ Object
4109 4110 4111 4112 4113 |
# File 'lib/ruby_parser.rb', line 4109 def _reduce_240(val, _values, result) result = self.arg_blk_pass val[0], val[2] result end |
#_reduce_241(val, _values, result) ⇒ Object
4115 4116 4117 4118 4119 4120 |
# File 'lib/ruby_parser.rb', line 4115 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
4122 4123 4124 4125 4126 4127 |
# File 'lib/ruby_parser.rb', line 4122 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
4129 4130 4131 4132 4133 4134 |
# File 'lib/ruby_parser.rb', line 4129 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
4136 4137 4138 4139 4140 4141 |
# File 'lib/ruby_parser.rb', line 4136 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
4143 4144 4145 4146 4147 4148 |
# File 'lib/ruby_parser.rb', line 4143 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
4150 4151 4152 4153 4154 4155 |
# File 'lib/ruby_parser.rb', line 4150 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
4157 4158 4159 4160 4161 4162 |
# File 'lib/ruby_parser.rb', line 4157 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
4164 4165 4166 4167 4168 4169 |
# File 'lib/ruby_parser.rb', line 4164 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
4171 4172 4173 4174 4175 |
# File 'lib/ruby_parser.rb', line 4171 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
3093 3094 3095 3096 3097 |
# File 'lib/ruby_parser.rb', line 3093 def _reduce_25(val, _values, result) result = new_op_asgn val result end |
#_reduce_251(val, _values, result) ⇒ Object
reduce 250 omitted
4179 4180 4181 4182 4183 4184 |
# File 'lib/ruby_parser.rb', line 4179 def _reduce_251(val, _values, result) result = lexer.cmdarg.stack.dup lexer.cmdarg.push true result end |
#_reduce_252(val, _values, result) ⇒ Object
4186 4187 4188 4189 4190 4191 |
# File 'lib/ruby_parser.rb', line 4186 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
4195 4196 4197 4198 4199 |
# File 'lib/ruby_parser.rb', line 4195 def _reduce_254(val, _values, result) lexer.lex_state = :expr_endarg result end |
#_reduce_255(val, _values, result) ⇒ Object
4201 4202 4203 4204 4205 4206 |
# File 'lib/ruby_parser.rb', line 4201 def _reduce_255(val, _values, result) warning "don't put space before argument parentheses" result = nil result end |
#_reduce_256(val, _values, result) ⇒ Object
4208 4209 4210 4211 4212 |
# File 'lib/ruby_parser.rb', line 4208 def _reduce_256(val, _values, result) lexer.lex_state = :expr_endarg result end |
#_reduce_257(val, _values, result) ⇒ Object
4214 4215 4216 4217 4218 4219 |
# File 'lib/ruby_parser.rb', line 4214 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
4221 4222 4223 4224 4225 |
# File 'lib/ruby_parser.rb', line 4221 def _reduce_258(val, _values, result) result = s(:block_pass, val[1]) result end |
#_reduce_259(val, _values, result) ⇒ Object
4227 4228 4229 4230 4231 |
# File 'lib/ruby_parser.rb', line 4227 def _reduce_259(val, _values, result) result = val[1] result end |
#_reduce_26(val, _values, result) ⇒ Object
3099 3100 3101 3102 3103 |
# File 'lib/ruby_parser.rb', line 3099 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
4235 4236 4237 4238 4239 |
# File 'lib/ruby_parser.rb', line 4235 def _reduce_261(val, _values, result) result = s(:array, val[0]) result end |
#_reduce_262(val, _values, result) ⇒ Object
4241 4242 4243 4244 4245 |
# File 'lib/ruby_parser.rb', line 4241 def _reduce_262(val, _values, result) result = self.list_append val[0], val[2] result end |
#_reduce_263(val, _values, result) ⇒ Object
4247 4248 4249 4250 4251 |
# File 'lib/ruby_parser.rb', line 4247 def _reduce_263(val, _values, result) result = val[0] << val[2] result end |
#_reduce_264(val, _values, result) ⇒ Object
4253 4254 4255 4256 4257 |
# File 'lib/ruby_parser.rb', line 4253 def _reduce_264(val, _values, result) result = self.arg_concat val[0], val[3] result end |
#_reduce_265(val, _values, result) ⇒ Object
4259 4260 4261 4262 4263 |
# File 'lib/ruby_parser.rb', line 4259 def _reduce_265(val, _values, result) result = s(:splat, val[1]) result end |
#_reduce_27(val, _values, result) ⇒ Object
3105 3106 3107 3108 3109 |
# File 'lib/ruby_parser.rb', line 3105 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
4281 4282 4283 4284 4285 |
# File 'lib/ruby_parser.rb', line 4281 def _reduce_274(val, _values, result) result = new_call nil, val[0].to_sym result end |
#_reduce_275(val, _values, result) ⇒ Object
4287 4288 4289 4290 4291 |
# File 'lib/ruby_parser.rb', line 4287 def _reduce_275(val, _values, result) result = self.lexer.lineno result end |
#_reduce_276(val, _values, result) ⇒ Object
4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 |
# File 'lib/ruby_parser.rb', line 4293 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
4305 4306 4307 4308 4309 |
# File 'lib/ruby_parser.rb', line 4305 def _reduce_277(val, _values, result) lexer.lex_state = :expr_endarg result end |
#_reduce_278(val, _values, result) ⇒ Object
4311 4312 4313 4314 4315 4316 |
# File 'lib/ruby_parser.rb', line 4311 def _reduce_278(val, _values, result) warning "(...) interpreted as grouped expression" result = val[1] result end |
#_reduce_279(val, _values, result) ⇒ Object
4318 4319 4320 4321 4322 4323 |
# File 'lib/ruby_parser.rb', line 4318 def _reduce_279(val, _values, result) result = val[1] || s(:nil) result.paren = true result end |
#_reduce_28(val, _values, result) ⇒ Object
3111 3112 3113 3114 3115 |
# File 'lib/ruby_parser.rb', line 3111 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
4325 4326 4327 4328 4329 |
# File 'lib/ruby_parser.rb', line 4325 def _reduce_280(val, _values, result) result = s(:colon2, val[0], val[2].to_sym) result end |
#_reduce_281(val, _values, result) ⇒ Object
4331 4332 4333 4334 4335 |
# File 'lib/ruby_parser.rb', line 4331 def _reduce_281(val, _values, result) result = s(:colon3, val[1].to_sym) result end |
#_reduce_282(val, _values, result) ⇒ Object
4337 4338 4339 4340 4341 |
# File 'lib/ruby_parser.rb', line 4337 def _reduce_282(val, _values, result) result = new_aref val result end |
#_reduce_283(val, _values, result) ⇒ Object
4343 4344 4345 4346 4347 |
# File 'lib/ruby_parser.rb', line 4343 def _reduce_283(val, _values, result) result = val[1] || s(:array) result end |
#_reduce_284(val, _values, result) ⇒ Object
4349 4350 4351 4352 4353 |
# File 'lib/ruby_parser.rb', line 4349 def _reduce_284(val, _values, result) result = s(:hash, *val[1].values) result end |
#_reduce_285(val, _values, result) ⇒ Object
4355 4356 4357 4358 4359 |
# File 'lib/ruby_parser.rb', line 4355 def _reduce_285(val, _values, result) result = s(:return) result end |
#_reduce_286(val, _values, result) ⇒ Object
4361 4362 4363 4364 4365 |
# File 'lib/ruby_parser.rb', line 4361 def _reduce_286(val, _values, result) result = new_yield val[2] result end |
#_reduce_287(val, _values, result) ⇒ Object
4367 4368 4369 4370 4371 |
# File 'lib/ruby_parser.rb', line 4367 def _reduce_287(val, _values, result) result = new_yield result end |
#_reduce_288(val, _values, result) ⇒ Object
4373 4374 4375 4376 4377 |
# File 'lib/ruby_parser.rb', line 4373 def _reduce_288(val, _values, result) result = new_yield result end |
#_reduce_289(val, _values, result) ⇒ Object
4379 4380 4381 4382 4383 |
# File 'lib/ruby_parser.rb', line 4379 def _reduce_289(val, _values, result) result = s(:defined, val[3]) result end |
#_reduce_29(val, _values, result) ⇒ Object
3117 3118 3119 3120 3121 |
# File 'lib/ruby_parser.rb', line 3117 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
4385 4386 4387 4388 4389 4390 4391 4392 4393 |
# File 'lib/ruby_parser.rb', line 4385 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
4397 4398 4399 4400 4401 4402 4403 |
# File 'lib/ruby_parser.rb', line 4397 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
4405 4406 4407 4408 4409 |
# File 'lib/ruby_parser.rb', line 4405 def _reduce_293(val, _values, result) result = new_if val[1], val[3], val[4] result end |
#_reduce_294(val, _values, result) ⇒ Object
4411 4412 4413 4414 4415 |
# File 'lib/ruby_parser.rb', line 4411 def _reduce_294(val, _values, result) result = new_if val[1], val[4], val[3] result end |
#_reduce_295(val, _values, result) ⇒ Object
4417 4418 4419 4420 4421 |
# File 'lib/ruby_parser.rb', line 4417 def _reduce_295(val, _values, result) lexer.cond.push true result end |
#_reduce_296(val, _values, result) ⇒ Object
4423 4424 4425 4426 4427 |
# File 'lib/ruby_parser.rb', line 4423 def _reduce_296(val, _values, result) lexer.cond.pop result end |
#_reduce_297(val, _values, result) ⇒ Object
4429 4430 4431 4432 4433 |
# File 'lib/ruby_parser.rb', line 4429 def _reduce_297(val, _values, result) result = new_while val[5], val[2], true result end |
#_reduce_298(val, _values, result) ⇒ Object
4435 4436 4437 4438 4439 |
# File 'lib/ruby_parser.rb', line 4435 def _reduce_298(val, _values, result) lexer.cond.push true result end |
#_reduce_299(val, _values, result) ⇒ Object
4441 4442 4443 4444 4445 |
# File 'lib/ruby_parser.rb', line 4441 def _reduce_299(val, _values, result) lexer.cond.pop result end |
#_reduce_3(val, _values, result) ⇒ Object
2961 2962 2963 2964 2965 |
# File 'lib/ruby_parser.rb', line 2961 def _reduce_3(val, _values, result) result = new_body val result end |
#_reduce_30(val, _values, result) ⇒ Object
3123 3124 3125 3126 3127 |
# File 'lib/ruby_parser.rb', line 3123 def _reduce_30(val, _values, result) self.backref_assign_error val[0] result end |
#_reduce_300(val, _values, result) ⇒ Object
4447 4448 4449 4450 4451 |
# File 'lib/ruby_parser.rb', line 4447 def _reduce_300(val, _values, result) result = new_until val[5], val[2], true result end |
#_reduce_301(val, _values, result) ⇒ Object
4453 4454 4455 4456 4457 |
# File 'lib/ruby_parser.rb', line 4453 def _reduce_301(val, _values, result) result = new_case val[1], val[3] result end |
#_reduce_302(val, _values, result) ⇒ Object
4459 4460 4461 4462 4463 |
# File 'lib/ruby_parser.rb', line 4459 def _reduce_302(val, _values, result) result = new_case nil, val[2] result end |
#_reduce_303(val, _values, result) ⇒ Object
4465 4466 4467 4468 4469 |
# File 'lib/ruby_parser.rb', line 4465 def _reduce_303(val, _values, result) result = new_case nil, val[3] result end |
#_reduce_304(val, _values, result) ⇒ Object
4471 4472 4473 4474 4475 |
# File 'lib/ruby_parser.rb', line 4471 def _reduce_304(val, _values, result) lexer.cond.push true result end |
#_reduce_305(val, _values, result) ⇒ Object
4477 4478 4479 4480 4481 |
# File 'lib/ruby_parser.rb', line 4477 def _reduce_305(val, _values, result) lexer.cond.pop result end |
#_reduce_306(val, _values, result) ⇒ Object
4483 4484 4485 4486 4487 |
# File 'lib/ruby_parser.rb', line 4483 def _reduce_306(val, _values, result) result = new_for val[4], val[1], val[7] result end |
#_reduce_307(val, _values, result) ⇒ Object
4489 4490 4491 4492 4493 |
# File 'lib/ruby_parser.rb', line 4489 def _reduce_307(val, _values, result) result = self.lexer.lineno result end |
#_reduce_308(val, _values, result) ⇒ Object
4495 4496 4497 4498 4499 4500 4501 4502 4503 |
# File 'lib/ruby_parser.rb', line 4495 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
4505 4506 4507 4508 4509 4510 |
# File 'lib/ruby_parser.rb', line 4505 def _reduce_309(val, _values, result) result = new_class val self.env.unextend result end |
#_reduce_31(val, _values, result) ⇒ Object
3129 3130 3131 3132 3133 |
# File 'lib/ruby_parser.rb', line 3129 def _reduce_31(val, _values, result) result = self.node_assign val[0], s(:svalue, val[2]) result end |
#_reduce_310(val, _values, result) ⇒ Object
4512 4513 4514 4515 4516 |
# File 'lib/ruby_parser.rb', line 4512 def _reduce_310(val, _values, result) result = self.lexer.lineno result end |
#_reduce_311(val, _values, result) ⇒ Object
4518 4519 4520 4521 4522 4523 |
# File 'lib/ruby_parser.rb', line 4518 def _reduce_311(val, _values, result) result = self.in_def self.in_def = false result end |
#_reduce_312(val, _values, result) ⇒ Object
4525 4526 4527 4528 4529 4530 4531 |
# File 'lib/ruby_parser.rb', line 4525 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
4533 4534 4535 4536 4537 4538 |
# File 'lib/ruby_parser.rb', line 4533 def _reduce_313(val, _values, result) result = new_sclass val self.env.unextend result end |
#_reduce_314(val, _values, result) ⇒ Object
4540 4541 4542 4543 4544 |
# File 'lib/ruby_parser.rb', line 4540 def _reduce_314(val, _values, result) result = self.lexer.lineno result end |
#_reduce_315(val, _values, result) ⇒ Object
4546 4547 4548 4549 4550 4551 4552 4553 4554 |
# File 'lib/ruby_parser.rb', line 4546 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
4556 4557 4558 4559 4560 4561 |
# File 'lib/ruby_parser.rb', line 4556 def _reduce_316(val, _values, result) result = new_module val self.env.unextend result end |
#_reduce_317(val, _values, result) ⇒ Object
4563 4564 4565 4566 4567 4568 4569 4570 |
# File 'lib/ruby_parser.rb', line 4563 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
4572 4573 4574 4575 4576 4577 4578 |
# File 'lib/ruby_parser.rb', line 4572 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
4580 4581 4582 4583 4584 4585 |
# File 'lib/ruby_parser.rb', line 4580 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
3135 3136 3137 3138 3139 |
# File 'lib/ruby_parser.rb', line 3135 def _reduce_32(val, _values, result) result = new_masgn val[0], val[2], :wrap result end |
#_reduce_320(val, _values, result) ⇒ Object
4587 4588 4589 4590 4591 4592 4593 |
# File 'lib/ruby_parser.rb', line 4587 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
4595 4596 4597 4598 4599 4600 4601 4602 |
# File 'lib/ruby_parser.rb', line 4595 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
4604 4605 4606 4607 4608 |
# File 'lib/ruby_parser.rb', line 4604 def _reduce_322(val, _values, result) result = s(:break) result end |
#_reduce_323(val, _values, result) ⇒ Object
4610 4611 4612 4613 4614 |
# File 'lib/ruby_parser.rb', line 4610 def _reduce_323(val, _values, result) result = s(:next) result end |
#_reduce_324(val, _values, result) ⇒ Object
4616 4617 4618 4619 4620 |
# File 'lib/ruby_parser.rb', line 4616 def _reduce_324(val, _values, result) result = s(:redo) result end |
#_reduce_325(val, _values, result) ⇒ Object
4622 4623 4624 4625 4626 |
# File 'lib/ruby_parser.rb', line 4622 def _reduce_325(val, _values, result) result = s(:retry) result end |
#_reduce_326(val, _values, result) ⇒ Object
4628 4629 4630 4631 4632 |
# File 'lib/ruby_parser.rb', line 4628 def _reduce_326(val, _values, result) result = value_expr(val[0]) result end |
#_reduce_33(val, _values, result) ⇒ Object
3141 3142 3143 3144 3145 |
# File 'lib/ruby_parser.rb', line 3141 def _reduce_33(val, _values, result) result = new_masgn val[0], val[2] result end |
#_reduce_335(val, _values, result) ⇒ Object
reduce 334 omitted
4650 4651 4652 4653 4654 |
# File 'lib/ruby_parser.rb', line 4650 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
4658 4659 4660 4661 4662 |
# File 'lib/ruby_parser.rb', line 4658 def _reduce_337(val, _values, result) result = val[1] result end |
#_reduce_339(val, _values, result) ⇒ Object
reduce 338 omitted
4666 4667 4668 4669 4670 |
# File 'lib/ruby_parser.rb', line 4666 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
4674 4675 4676 4677 4678 |
# File 'lib/ruby_parser.rb', line 4674 def _reduce_341(val, _values, result) result = 0 result end |
#_reduce_342(val, _values, result) ⇒ Object
4680 4681 4682 4683 4684 |
# File 'lib/ruby_parser.rb', line 4680 def _reduce_342(val, _values, result) result = 0 result end |
#_reduce_343(val, _values, result) ⇒ Object
4686 4687 4688 4689 4690 |
# File 'lib/ruby_parser.rb', line 4686 def _reduce_343(val, _values, result) result = val[1] result end |
#_reduce_344(val, _values, result) ⇒ Object
4692 4693 4694 4695 4696 |
# File 'lib/ruby_parser.rb', line 4692 def _reduce_344(val, _values, result) self.env.extend :dynamic result end |
#_reduce_345(val, _values, result) ⇒ Object
4698 4699 4700 4701 4702 |
# File 'lib/ruby_parser.rb', line 4698 def _reduce_345(val, _values, result) result = self.env.dynamic.keys result end |
#_reduce_346(val, _values, result) ⇒ Object
4704 4705 4706 4707 4708 4709 4710 4711 4712 |
# File 'lib/ruby_parser.rb', line 4704 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
4714 4715 4716 4717 4718 4719 4720 4721 4722 |
# File 'lib/ruby_parser.rb', line 4714 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
4724 4725 4726 4727 4728 |
# File 'lib/ruby_parser.rb', line 4724 def _reduce_348(val, _values, result) result = new_call val[0], val[2], val[3] result end |
#_reduce_349(val, _values, result) ⇒ Object
4730 4731 4732 4733 4734 |
# File 'lib/ruby_parser.rb', line 4730 def _reduce_349(val, _values, result) result = new_call val[0], val[2], val[3] result end |
#_reduce_350(val, _values, result) ⇒ Object
4736 4737 4738 4739 4740 |
# File 'lib/ruby_parser.rb', line 4736 def _reduce_350(val, _values, result) result = self.lexer.lineno result end |
#_reduce_351(val, _values, result) ⇒ Object
4742 4743 4744 4745 4746 |
# File 'lib/ruby_parser.rb', line 4742 def _reduce_351(val, _values, result) result = new_call nil, val[0].to_sym, val[2] result end |
#_reduce_352(val, _values, result) ⇒ Object
4748 4749 4750 4751 4752 |
# File 'lib/ruby_parser.rb', line 4748 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
4754 4755 4756 4757 4758 |
# File 'lib/ruby_parser.rb', line 4754 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
4760 4761 4762 4763 4764 |
# File 'lib/ruby_parser.rb', line 4760 def _reduce_354(val, _values, result) result = new_call val[0], val[2].to_sym result end |
#_reduce_355(val, _values, result) ⇒ Object
4766 4767 4768 4769 4770 |
# File 'lib/ruby_parser.rb', line 4766 def _reduce_355(val, _values, result) result = new_super val[1] result end |
#_reduce_356(val, _values, result) ⇒ Object
4772 4773 4774 4775 4776 |
# File 'lib/ruby_parser.rb', line 4772 def _reduce_356(val, _values, result) result = s(:zsuper) result end |
#_reduce_357(val, _values, result) ⇒ Object
4778 4779 4780 4781 4782 4783 |
# File 'lib/ruby_parser.rb', line 4778 def _reduce_357(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end |
#_reduce_358(val, _values, result) ⇒ Object
4785 4786 4787 4788 4789 |
# File 'lib/ruby_parser.rb', line 4785 def _reduce_358(val, _values, result) result = self.env.dynamic.keys result end |
#_reduce_359(val, _values, result) ⇒ Object
4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 |
# File 'lib/ruby_parser.rb', line 4791 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
3151 3152 3153 3154 3155 |
# File 'lib/ruby_parser.rb', line 3151 def _reduce_36(val, _values, result) result = logop(:and, val[0], val[2]) result end |
#_reduce_360(val, _values, result) ⇒ Object
4802 4803 4804 4805 4806 4807 |
# File 'lib/ruby_parser.rb', line 4802 def _reduce_360(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end |
#_reduce_361(val, _values, result) ⇒ Object
4809 4810 4811 4812 4813 |
# File 'lib/ruby_parser.rb', line 4809 def _reduce_361(val, _values, result) result = self.env.dynamic.keys result end |
#_reduce_362(val, _values, result) ⇒ Object
4815 4816 4817 4818 4819 4820 4821 4822 4823 |
# File 'lib/ruby_parser.rb', line 4815 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
4825 4826 4827 4828 4829 |
# File 'lib/ruby_parser.rb', line 4825 def _reduce_363(val, _values, result) result = self.lexer.lineno result end |
#_reduce_364(val, _values, result) ⇒ Object
4831 4832 4833 4834 4835 4836 4837 |
# File 'lib/ruby_parser.rb', line 4831 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
4841 4842 4843 4844 4845 |
# File 'lib/ruby_parser.rb', line 4841 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
4847 4848 4849 4850 4851 |
# File 'lib/ruby_parser.rb', line 4847 def _reduce_367(val, _values, result) result = s(:array, s(:when, val[1], nil)) result end |
#_reduce_37(val, _values, result) ⇒ Object
3157 3158 3159 3160 3161 |
# File 'lib/ruby_parser.rb', line 3157 def _reduce_37(val, _values, result) result = logop(:or, val[0], val[2]) result end |
#_reduce_370(val, _values, result) ⇒ Object
reduce 369 omitted
4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 |
# File 'lib/ruby_parser.rb', line 4857 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
4869 4870 4871 4872 4873 |
# File 'lib/ruby_parser.rb', line 4869 def _reduce_371(val, _values, result) result = nil result end |
#_reduce_372(val, _values, result) ⇒ Object
4875 4876 4877 4878 4879 |
# File 'lib/ruby_parser.rb', line 4875 def _reduce_372(val, _values, result) result = s(:array, val[0]) result end |
#_reduce_375(val, _values, result) ⇒ Object
reduce 374 omitted
4885 4886 4887 4888 4889 |
# File 'lib/ruby_parser.rb', line 4885 def _reduce_375(val, _values, result) result = val[1] result end |
#_reduce_377(val, _values, result) ⇒ Object
reduce 376 omitted
4893 4894 4895 4896 4897 4898 4899 4900 4901 |
# File 'lib/ruby_parser.rb', line 4893 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
4905 4906 4907 4908 |
# File 'lib/ruby_parser.rb', line 4905 def _reduce_379(val, _values, result) result = s(:lit, val[0]) result end |
#_reduce_38(val, _values, result) ⇒ Object
3163 3164 3165 3166 3167 |
# File 'lib/ruby_parser.rb', line 3163 def _reduce_38(val, _values, result) result = s(:not, val[1]) result end |
#_reduce_380(val, _values, result) ⇒ Object
4910 4911 4912 4913 |
# File 'lib/ruby_parser.rb', line 4910 def _reduce_380(val, _values, result) result = s(:lit, val[0]) result end |
#_reduce_382(val, _values, result) ⇒ Object
reduce 381 omitted
4917 4918 4919 4920 4921 4922 |
# File 'lib/ruby_parser.rb', line 4917 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
4926 4927 4928 4929 4930 |
# File 'lib/ruby_parser.rb', line 4926 def _reduce_384(val, _values, result) result = self.literal_concat val[0], val[1] result end |
#_reduce_385(val, _values, result) ⇒ Object
4932 4933 4934 4935 4936 |
# File 'lib/ruby_parser.rb', line 4932 def _reduce_385(val, _values, result) result = val[1] result end |
#_reduce_386(val, _values, result) ⇒ Object
4938 4939 4940 4941 4942 |
# File 'lib/ruby_parser.rb', line 4938 def _reduce_386(val, _values, result) result = s(:str, val[0]) result end |
#_reduce_387(val, _values, result) ⇒ Object
4944 4945 4946 4947 4948 |
# File 'lib/ruby_parser.rb', line 4944 def _reduce_387(val, _values, result) result = new_xstring val[1] result end |
#_reduce_388(val, _values, result) ⇒ Object
4950 4951 4952 4953 4954 |
# File 'lib/ruby_parser.rb', line 4950 def _reduce_388(val, _values, result) result = new_regexp val result end |
#_reduce_389(val, _values, result) ⇒ Object
4956 4957 4958 4959 4960 |
# File 'lib/ruby_parser.rb', line 4956 def _reduce_389(val, _values, result) result = s(:array) result end |
#_reduce_39(val, _values, result) ⇒ Object
3169 3170 3171 3172 3173 |
# File 'lib/ruby_parser.rb', line 3169 def _reduce_39(val, _values, result) result = s(:not, val[1]) result end |
#_reduce_390(val, _values, result) ⇒ Object
4962 4963 4964 4965 4966 |
# File 'lib/ruby_parser.rb', line 4962 def _reduce_390(val, _values, result) result = val[1] result end |
#_reduce_391(val, _values, result) ⇒ Object
4968 4969 4970 4971 4972 |
# File 'lib/ruby_parser.rb', line 4968 def _reduce_391(val, _values, result) result = s(:array) result end |
#_reduce_392(val, _values, result) ⇒ Object
4974 4975 4976 4977 4978 4979 |
# File 'lib/ruby_parser.rb', line 4974 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
4983 4984 4985 4986 4987 |
# File 'lib/ruby_parser.rb', line 4983 def _reduce_394(val, _values, result) result = self.literal_concat val[0], val[1] result end |
#_reduce_395(val, _values, result) ⇒ Object
4989 4990 4991 4992 4993 |
# File 'lib/ruby_parser.rb', line 4989 def _reduce_395(val, _values, result) result = s(:array) result end |
#_reduce_396(val, _values, result) ⇒ Object
4995 4996 4997 4998 4999 |
# File 'lib/ruby_parser.rb', line 4995 def _reduce_396(val, _values, result) result = val[1] result end |
#_reduce_397(val, _values, result) ⇒ Object
5001 5002 5003 5004 5005 |
# File 'lib/ruby_parser.rb', line 5001 def _reduce_397(val, _values, result) result = s(:array) result end |
#_reduce_398(val, _values, result) ⇒ Object
5007 5008 5009 5010 5011 |
# File 'lib/ruby_parser.rb', line 5007 def _reduce_398(val, _values, result) result = val[0] << s(:str, val[1]) result end |
#_reduce_399(val, _values, result) ⇒ Object
5013 5014 5015 5016 5017 |
# File 'lib/ruby_parser.rb', line 5013 def _reduce_399(val, _values, result) result = s(:str, "") result end |
#_reduce_4(val, _values, result) ⇒ Object
2967 2968 2969 2970 2971 |
# File 'lib/ruby_parser.rb', line 2967 def _reduce_4(val, _values, result) result = new_compstmt val result end |
#_reduce_400(val, _values, result) ⇒ Object
5019 5020 5021 5022 5023 |
# File 'lib/ruby_parser.rb', line 5019 def _reduce_400(val, _values, result) result = literal_concat(val[0], val[1]) result end |
#_reduce_401(val, _values, result) ⇒ Object
5025 5026 5027 5028 5029 |
# File 'lib/ruby_parser.rb', line 5025 def _reduce_401(val, _values, result) result = nil result end |
#_reduce_402(val, _values, result) ⇒ Object
5031 5032 5033 5034 5035 |
# File 'lib/ruby_parser.rb', line 5031 def _reduce_402(val, _values, result) result = literal_concat(val[0], val[1]) result end |
#_reduce_403(val, _values, result) ⇒ Object
5037 5038 5039 5040 5041 |
# File 'lib/ruby_parser.rb', line 5037 def _reduce_403(val, _values, result) result = s(:str, val[0]) result end |
#_reduce_404(val, _values, result) ⇒ Object
5043 5044 5045 5046 5047 5048 5049 |
# File 'lib/ruby_parser.rb', line 5043 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
5051 5052 5053 5054 5055 5056 |
# File 'lib/ruby_parser.rb', line 5051 def _reduce_405(val, _values, result) lexer.lex_strterm = val[1] result = s(:evstr, val[2]) result end |
#_reduce_406(val, _values, result) ⇒ Object
5058 5059 5060 5061 5062 5063 5064 5065 5066 |
# File 'lib/ruby_parser.rb', line 5058 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
5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 |
# File 'lib/ruby_parser.rb', line 5068 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
5090 5091 5092 5093 |
# File 'lib/ruby_parser.rb', line 5090 def _reduce_408(val, _values, result) result = s(:gvar, val[0].to_sym) result end |
#_reduce_409(val, _values, result) ⇒ Object
5095 5096 5097 5098 |
# File 'lib/ruby_parser.rb', line 5095 def _reduce_409(val, _values, result) result = s(:ivar, val[0].to_sym) result end |
#_reduce_41(val, _values, result) ⇒ Object
reduce 40 omitted
3177 3178 3179 3180 3181 |
# File 'lib/ruby_parser.rb', line 3177 def _reduce_41(val, _values, result) result = value_expr(val[0]) result end |
#_reduce_410(val, _values, result) ⇒ Object
5100 5101 5102 5103 |
# File 'lib/ruby_parser.rb', line 5100 def _reduce_410(val, _values, result) result = s(:cvar, val[0].to_sym) result end |
#_reduce_412(val, _values, result) ⇒ Object
reduce 411 omitted
5107 5108 5109 5110 5111 5112 |
# File 'lib/ruby_parser.rb', line 5107 def _reduce_412(val, _values, result) lexer.lex_state = :expr_end result = val[1].to_sym result end |
#_reduce_413(val, _values, result) ⇒ Object
5114 5115 5116 5117 5118 |
# File 'lib/ruby_parser.rb', line 5114 def _reduce_413(val, _values, result) result = val[0].to_sym result end |
#_reduce_418(val, _values, result) ⇒ Object
reduce 417 omitted
5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 |
# File 'lib/ruby_parser.rb', line 5128 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
5151 5152 5153 5154 5155 |
# File 'lib/ruby_parser.rb', line 5151 def _reduce_421(val, _values, result) result = -val[1] # TODO: pt_testcase result end |
#_reduce_422(val, _values, result) ⇒ Object
5157 5158 5159 5160 5161 |
# File 'lib/ruby_parser.rb', line 5157 def _reduce_422(val, _values, result) result = -val[1] # TODO: pt_testcase result end |
#_reduce_428(val, _values, result) ⇒ Object
reduce 427 omitted
5173 5174 5175 5176 |
# File 'lib/ruby_parser.rb', line 5173 def _reduce_428(val, _values, result) result = :nil result end |
#_reduce_429(val, _values, result) ⇒ Object
5178 5179 5180 5181 |
# File 'lib/ruby_parser.rb', line 5178 def _reduce_429(val, _values, result) result = :self result end |
#_reduce_430(val, _values, result) ⇒ Object
5183 5184 5185 5186 |
# File 'lib/ruby_parser.rb', line 5183 def _reduce_430(val, _values, result) result = :true result end |
#_reduce_431(val, _values, result) ⇒ Object
5188 5189 5190 5191 |
# File 'lib/ruby_parser.rb', line 5188 def _reduce_431(val, _values, result) result = :false result end |
#_reduce_432(val, _values, result) ⇒ Object
5193 5194 5195 5196 |
# File 'lib/ruby_parser.rb', line 5193 def _reduce_432(val, _values, result) result = :__FILE__ result end |
#_reduce_433(val, _values, result) ⇒ Object
5198 5199 5200 5201 |
# File 'lib/ruby_parser.rb', line 5198 def _reduce_433(val, _values, result) result = :__LINE__ result end |
#_reduce_434(val, _values, result) ⇒ Object
5203 5204 5205 5206 5207 |
# File 'lib/ruby_parser.rb', line 5203 def _reduce_434(val, _values, result) result = self.gettable val[0] result end |
#_reduce_435(val, _values, result) ⇒ Object
5209 5210 5211 5212 5213 |
# File 'lib/ruby_parser.rb', line 5209 def _reduce_435(val, _values, result) result = self.assignable val[0] result end |
#_reduce_436(val, _values, result) ⇒ Object
5215 5216 5217 5218 |
# File 'lib/ruby_parser.rb', line 5215 def _reduce_436(val, _values, result) result = s(:nth_ref, val[0]) result end |
#_reduce_437(val, _values, result) ⇒ Object
5220 5221 5222 5223 |
# File 'lib/ruby_parser.rb', line 5220 def _reduce_437(val, _values, result) result = s(:back_ref, val[0]) result end |
#_reduce_438(val, _values, result) ⇒ Object
5225 5226 5227 5228 5229 |
# File 'lib/ruby_parser.rb', line 5225 def _reduce_438(val, _values, result) result = nil result end |
#_reduce_439(val, _values, result) ⇒ Object
5231 5232 5233 5234 5235 |
# File 'lib/ruby_parser.rb', line 5231 def _reduce_439(val, _values, result) lexer.lex_state = :expr_beg result end |
#_reduce_44(val, _values, result) ⇒ Object
reduce 43 omitted
3187 3188 3189 3190 3191 |
# File 'lib/ruby_parser.rb', line 3187 def _reduce_44(val, _values, result) result = s(:return, ret_args(val[1])) result end |
#_reduce_440(val, _values, result) ⇒ Object
5237 5238 5239 5240 5241 |
# File 'lib/ruby_parser.rb', line 5237 def _reduce_440(val, _values, result) result = val[2] result end |
#_reduce_441(val, _values, result) ⇒ Object
5243 5244 5245 5246 5247 5248 |
# File 'lib/ruby_parser.rb', line 5243 def _reduce_441(val, _values, result) yyerrok result = nil result end |
#_reduce_442(val, _values, result) ⇒ Object
5250 5251 5252 5253 5254 5255 |
# File 'lib/ruby_parser.rb', line 5250 def _reduce_442(val, _values, result) result = val[1] lexer.lex_state = :expr_beg result end |
#_reduce_443(val, _values, result) ⇒ Object
5257 5258 5259 5260 5261 |
# File 'lib/ruby_parser.rb', line 5257 def _reduce_443(val, _values, result) result = val[0] result end |
#_reduce_444(val, _values, result) ⇒ Object
5263 5264 5265 5266 5267 |
# File 'lib/ruby_parser.rb', line 5263 def _reduce_444(val, _values, result) result = args val[0], val[2], val[4], val[5] result end |
#_reduce_445(val, _values, result) ⇒ Object
5269 5270 5271 5272 5273 |
# File 'lib/ruby_parser.rb', line 5269 def _reduce_445(val, _values, result) result = args val[0], val[2], nil, val[3] result end |
#_reduce_446(val, _values, result) ⇒ Object
5275 5276 5277 5278 5279 |
# File 'lib/ruby_parser.rb', line 5275 def _reduce_446(val, _values, result) result = args val[0], nil, val[2], val[3] result end |
#_reduce_447(val, _values, result) ⇒ Object
5281 5282 5283 5284 5285 |
# File 'lib/ruby_parser.rb', line 5281 def _reduce_447(val, _values, result) result = args val[0], nil, nil, val[1] result end |
#_reduce_448(val, _values, result) ⇒ Object
5287 5288 5289 5290 5291 |
# File 'lib/ruby_parser.rb', line 5287 def _reduce_448(val, _values, result) result = args nil, val[0], val[2], val[3] result end |
#_reduce_449(val, _values, result) ⇒ Object
5293 5294 5295 5296 5297 |
# File 'lib/ruby_parser.rb', line 5293 def _reduce_449(val, _values, result) result = args nil, val[0], nil, val[1] result end |
#_reduce_45(val, _values, result) ⇒ Object
3193 3194 3195 3196 3197 |
# File 'lib/ruby_parser.rb', line 3193 def _reduce_45(val, _values, result) result = s(:break, ret_args(val[1])) result end |
#_reduce_450(val, _values, result) ⇒ Object
5299 5300 5301 5302 5303 |
# File 'lib/ruby_parser.rb', line 5299 def _reduce_450(val, _values, result) result = args nil, nil, val[0], val[1] result end |
#_reduce_451(val, _values, result) ⇒ Object
5305 5306 5307 5308 5309 |
# File 'lib/ruby_parser.rb', line 5305 def _reduce_451(val, _values, result) result = args nil, nil, nil, val[0] result end |
#_reduce_452(val, _values, result) ⇒ Object
5311 5312 5313 5314 5315 |
# File 'lib/ruby_parser.rb', line 5311 def _reduce_452(val, _values, result) result = args nil, nil, nil, nil result end |
#_reduce_453(val, _values, result) ⇒ Object
5317 5318 5319 5320 5321 |
# File 'lib/ruby_parser.rb', line 5317 def _reduce_453(val, _values, result) yyerror "formal argument cannot be a constant: #{val[0]}" result end |
#_reduce_454(val, _values, result) ⇒ Object
5323 5324 5325 5326 5327 |
# File 'lib/ruby_parser.rb', line 5323 def _reduce_454(val, _values, result) yyerror "formal argument cannot be an instance variable" result end |
#_reduce_455(val, _values, result) ⇒ Object
5329 5330 5331 5332 5333 |
# File 'lib/ruby_parser.rb', line 5329 def _reduce_455(val, _values, result) yyerror "formal argument cannot be a class variable" result end |
#_reduce_456(val, _values, result) ⇒ Object
5335 5336 5337 5338 5339 5340 5341 5342 |
# File 'lib/ruby_parser.rb', line 5335 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
5344 5345 5346 5347 5348 5349 |
# File 'lib/ruby_parser.rb', line 5344 def _reduce_457(val, _values, result) result = s(:args) result << val[0].to_sym result end |
#_reduce_458(val, _values, result) ⇒ Object
5351 5352 5353 5354 5355 5356 |
# File 'lib/ruby_parser.rb', line 5351 def _reduce_458(val, _values, result) val[0] << val[2].to_sym result = val[0] result end |
#_reduce_459(val, _values, result) ⇒ Object
5358 5359 5360 5361 5362 5363 |
# File 'lib/ruby_parser.rb', line 5358 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
3199 3200 3201 3202 3203 |
# File 'lib/ruby_parser.rb', line 3199 def _reduce_46(val, _values, result) result = s(:next, ret_args(val[1])) result end |
#_reduce_460(val, _values, result) ⇒ Object
5365 5366 5367 5368 5369 |
# File 'lib/ruby_parser.rb', line 5365 def _reduce_460(val, _values, result) result = s(:block, val[0]) result end |
#_reduce_461(val, _values, result) ⇒ Object
5371 5372 5373 5374 5375 |
# File 'lib/ruby_parser.rb', line 5371 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
5381 5382 5383 5384 5385 5386 5387 5388 |
# File 'lib/ruby_parser.rb', line 5381 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
5390 5391 5392 5393 5394 5395 5396 |
# File 'lib/ruby_parser.rb', line 5390 def _reduce_465(val, _values, result) name = :"*" self.env[name] = :lvar result = name result end |
#_reduce_468(val, _values, result) ⇒ Object
reduce 467 omitted
5402 5403 5404 5405 5406 5407 5408 5409 |
# File 'lib/ruby_parser.rb', line 5402 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
5411 5412 5413 5414 5415 |
# File 'lib/ruby_parser.rb', line 5411 def _reduce_469(val, _values, result) result = val[1] result end |
#_reduce_470(val, _values, result) ⇒ Object
5417 5418 5419 5420 5421 |
# File 'lib/ruby_parser.rb', line 5417 def _reduce_470(val, _values, result) result = nil result end |
#_reduce_472(val, _values, result) ⇒ Object
reduce 471 omitted
5425 5426 5427 5428 5429 |
# File 'lib/ruby_parser.rb', line 5425 def _reduce_472(val, _values, result) lexer.lex_state = :expr_beg result end |
#_reduce_473(val, _values, result) ⇒ Object
5431 5432 5433 5434 5435 5436 5437 |
# File 'lib/ruby_parser.rb', line 5431 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
5439 5440 5441 5442 5443 |
# File 'lib/ruby_parser.rb', line 5439 def _reduce_474(val, _values, result) result = s(:array) result end |
#_reduce_475(val, _values, result) ⇒ Object
5445 5446 5447 5448 5449 |
# File 'lib/ruby_parser.rb', line 5445 def _reduce_475(val, _values, result) result = val[0] result end |
#_reduce_476(val, _values, result) ⇒ Object
5451 5452 5453 5454 5455 5456 5457 5458 5459 |
# File 'lib/ruby_parser.rb', line 5451 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
5463 5464 5465 5466 5467 5468 5469 5470 |
# File 'lib/ruby_parser.rb', line 5463 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
5472 5473 5474 5475 5476 |
# File 'lib/ruby_parser.rb', line 5472 def _reduce_479(val, _values, result) result = s(:array, val[0], val[2]) result end |
#_reduce_48(val, _values, result) ⇒ Object
reduce 47 omitted
3207 3208 3209 3210 3211 |
# File 'lib/ruby_parser.rb', line 3207 def _reduce_48(val, _values, result) result = new_call val[0], val[2], val[3] result end |
#_reduce_49(val, _values, result) ⇒ Object
3213 3214 3215 3216 3217 |
# File 'lib/ruby_parser.rb', line 3213 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
5516 5517 5518 5519 |
# File 'lib/ruby_parser.rb', line 5516 def _reduce_499(val, _values, result) yyerrok result end |
#_reduce_50(val, _values, result) ⇒ Object
3219 3220 3221 3222 3223 3224 |
# File 'lib/ruby_parser.rb', line 3219 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
5525 5526 5527 5528 |
# File 'lib/ruby_parser.rb', line 5525 def _reduce_502(val, _values, result) yyerrok result end |
#_reduce_503(val, _values, result) ⇒ Object
5530 5531 5532 5533 |
# File 'lib/ruby_parser.rb', line 5530 def _reduce_503(val, _values, result) result = nil result end |
#_reduce_504(val, _values, result) ⇒ Object
5535 5536 5537 5538 |
# File 'lib/ruby_parser.rb', line 5535 def _reduce_504(val, _values, result) result = nil result end |
#_reduce_51(val, _values, result) ⇒ Object
3226 3227 3228 3229 3230 |
# File 'lib/ruby_parser.rb', line 3226 def _reduce_51(val, _values, result) result = self.env.dynamic.keys result end |
#_reduce_52(val, _values, result) ⇒ Object
3232 3233 3234 3235 3236 3237 |
# File 'lib/ruby_parser.rb', line 3232 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
3239 3240 3241 3242 3243 |
# File 'lib/ruby_parser.rb', line 3239 def _reduce_53(val, _values, result) result = new_call nil, val[0].to_sym, val[1] result end |
#_reduce_54(val, _values, result) ⇒ Object
3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 |
# File 'lib/ruby_parser.rb', line 3245 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
3258 3259 3260 3261 3262 |
# File 'lib/ruby_parser.rb', line 3258 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
3264 3265 3266 3267 3268 |
# File 'lib/ruby_parser.rb', line 3264 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
3270 3271 3272 3273 3274 |
# File 'lib/ruby_parser.rb', line 3270 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
3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 |
# File 'lib/ruby_parser.rb', line 3276 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
3289 3290 3291 3292 3293 |
# File 'lib/ruby_parser.rb', line 3289 def _reduce_59(val, _values, result) result = new_super val[1] result end |
#_reduce_60(val, _values, result) ⇒ Object
3295 3296 3297 3298 3299 |
# File 'lib/ruby_parser.rb', line 3295 def _reduce_60(val, _values, result) result = new_yield val[1] result end |
#_reduce_62(val, _values, result) ⇒ Object
reduce 61 omitted
3303 3304 3305 3306 3307 |
# File 'lib/ruby_parser.rb', line 3303 def _reduce_62(val, _values, result) result = val[1] result end |
#_reduce_64(val, _values, result) ⇒ Object
reduce 63 omitted
3311 3312 3313 3314 3315 |
# File 'lib/ruby_parser.rb', line 3311 def _reduce_64(val, _values, result) result = s(:masgn, s(:array, val[1])) result end |
#_reduce_65(val, _values, result) ⇒ Object
3317 3318 3319 3320 3321 |
# File 'lib/ruby_parser.rb', line 3317 def _reduce_65(val, _values, result) result = s(:masgn, val[0]) result end |
#_reduce_66(val, _values, result) ⇒ Object
3323 3324 3325 3326 3327 |
# File 'lib/ruby_parser.rb', line 3323 def _reduce_66(val, _values, result) result = s(:masgn, val[0] << val[1].compact) result end |
#_reduce_67(val, _values, result) ⇒ Object
3329 3330 3331 3332 3333 |
# File 'lib/ruby_parser.rb', line 3329 def _reduce_67(val, _values, result) result = s(:masgn, val[0] << s(:splat, val[2])) result end |
#_reduce_68(val, _values, result) ⇒ Object
3335 3336 3337 3338 3339 |
# File 'lib/ruby_parser.rb', line 3335 def _reduce_68(val, _values, result) result = s(:masgn, val[0] << s(:splat)) result end |
#_reduce_69(val, _values, result) ⇒ Object
3341 3342 3343 3344 3345 |
# File 'lib/ruby_parser.rb', line 3341 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
2977 2978 2979 2980 2981 |
# File 'lib/ruby_parser.rb', line 2977 def _reduce_7(val, _values, result) result = self.block_append val[0], val[2] result end |
#_reduce_70(val, _values, result) ⇒ Object
3347 3348 3349 3350 3351 |
# File 'lib/ruby_parser.rb', line 3347 def _reduce_70(val, _values, result) result = s(:masgn, s(:array, s(:splat))) result end |
#_reduce_72(val, _values, result) ⇒ Object
reduce 71 omitted
3355 3356 3357 3358 3359 |
# File 'lib/ruby_parser.rb', line 3355 def _reduce_72(val, _values, result) result = val[1] result end |
#_reduce_73(val, _values, result) ⇒ Object
3361 3362 3363 3364 3365 |
# File 'lib/ruby_parser.rb', line 3361 def _reduce_73(val, _values, result) result = s(:array, val[0]) result end |
#_reduce_74(val, _values, result) ⇒ Object
3367 3368 3369 3370 3371 |
# File 'lib/ruby_parser.rb', line 3367 def _reduce_74(val, _values, result) result = val[0] << val[1].compact result end |
#_reduce_75(val, _values, result) ⇒ Object
3373 3374 3375 3376 3377 |
# File 'lib/ruby_parser.rb', line 3373 def _reduce_75(val, _values, result) result = self.assignable val[0] result end |
#_reduce_76(val, _values, result) ⇒ Object
3379 3380 3381 3382 3383 |
# File 'lib/ruby_parser.rb', line 3379 def _reduce_76(val, _values, result) result = self.aryset val[0], val[2] result end |
#_reduce_77(val, _values, result) ⇒ Object
3385 3386 3387 3388 3389 |
# File 'lib/ruby_parser.rb', line 3385 def _reduce_77(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=", s(:arglist)) result end |
#_reduce_78(val, _values, result) ⇒ Object
3391 3392 3393 3394 3395 |
# File 'lib/ruby_parser.rb', line 3391 def _reduce_78(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=", s(:arglist)) result end |
#_reduce_79(val, _values, result) ⇒ Object
3397 3398 3399 3400 3401 |
# File 'lib/ruby_parser.rb', line 3397 def _reduce_79(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=", s(:arglist)) result end |
#_reduce_8(val, _values, result) ⇒ Object
2983 2984 2985 2986 2987 |
# File 'lib/ruby_parser.rb', line 2983 def _reduce_8(val, _values, result) result = val[1] result end |
#_reduce_80(val, _values, result) ⇒ Object
3403 3404 3405 3406 3407 3408 3409 3410 3411 |
# File 'lib/ruby_parser.rb', line 3403 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
3413 3414 3415 3416 3417 3418 3419 3420 3421 |
# File 'lib/ruby_parser.rb', line 3413 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
3423 3424 3425 3426 3427 |
# File 'lib/ruby_parser.rb', line 3423 def _reduce_82(val, _values, result) self.backref_assign_error val[0] result end |
#_reduce_83(val, _values, result) ⇒ Object
3429 3430 3431 3432 3433 |
# File 'lib/ruby_parser.rb', line 3429 def _reduce_83(val, _values, result) result = self.assignable val[0] result end |
#_reduce_84(val, _values, result) ⇒ Object
3435 3436 3437 3438 3439 |
# File 'lib/ruby_parser.rb', line 3435 def _reduce_84(val, _values, result) result = self.aryset val[0], val[2] result end |
#_reduce_85(val, _values, result) ⇒ Object
3441 3442 3443 3444 3445 |
# File 'lib/ruby_parser.rb', line 3441 def _reduce_85(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end |
#_reduce_86(val, _values, result) ⇒ Object
3447 3448 3449 3450 3451 |
# File 'lib/ruby_parser.rb', line 3447 def _reduce_86(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end |
#_reduce_87(val, _values, result) ⇒ Object
3453 3454 3455 3456 3457 |
# File 'lib/ruby_parser.rb', line 3453 def _reduce_87(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end |
#_reduce_88(val, _values, result) ⇒ Object
3459 3460 3461 3462 3463 3464 3465 3466 3467 |
# File 'lib/ruby_parser.rb', line 3459 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
3469 3470 3471 3472 3473 3474 3475 3476 3477 |
# File 'lib/ruby_parser.rb', line 3469 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
2989 2990 2991 2992 2993 2994 |
# File 'lib/ruby_parser.rb', line 2989 def _reduce_9(val, _values, result) lexer.lex_state = :expr_fname result = self.lexer.lineno result end |
#_reduce_90(val, _values, result) ⇒ Object
3479 3480 3481 3482 3483 |
# File 'lib/ruby_parser.rb', line 3479 def _reduce_90(val, _values, result) self.backref_assign_error val[0] result end |
#_reduce_91(val, _values, result) ⇒ Object
3485 3486 3487 3488 3489 |
# File 'lib/ruby_parser.rb', line 3485 def _reduce_91(val, _values, result) yyerror "class/module name must be CONSTANT" result end |
#_reduce_93(val, _values, result) ⇒ Object
reduce 92 omitted
3493 3494 3495 3496 3497 |
# File 'lib/ruby_parser.rb', line 3493 def _reduce_93(val, _values, result) result = s(:colon3, val[1].to_sym) result end |
#_reduce_94(val, _values, result) ⇒ Object
3499 3500 3501 3502 3503 |
# File 'lib/ruby_parser.rb', line 3499 def _reduce_94(val, _values, result) result = val[0].to_sym result end |
#_reduce_95(val, _values, result) ⇒ Object
3505 3506 3507 3508 3509 |
# File 'lib/ruby_parser.rb', line 3505 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
3517 3518 3519 3520 3521 3522 |
# File 'lib/ruby_parser.rb', line 3517 def _reduce_99(val, _values, result) lexer.lex_state = :expr_end result = val[0] result end |
#_reduce_none(val, _values, result) ⇒ Object
5540 5541 5542 |
# File 'lib/ruby_parser.rb', line 5540 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(//).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 |