Class: Opal::Parser
- Defined in:
- opal/lib/opal/parser.rb,
opal/lib/opal/parser/grammar.rb
Overview
Parser is used to parse a string of ruby code into a tree of Sexp to represent the given ruby source code. The Compiler used this tree of sexp expressions, and turns them into the resulting javascript code.
Usually, you would want to use Compiler directly, but this class can be useful for debugging the compiler, as well as building tools around the opal compiler to view the code structure.
Invalid ruby code will raise an exception.
Opal::Parser.new.parse "ruby code"
# => sexp tree
Constant Summary
- 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", "kDO_LAMBDA", "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__", "k__ENCODING__", "tIDENTIFIER", "tFID", "tGVAR", "tIVAR", "tCONSTANT", "tLABEL", "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", "ARRAY_BEG", "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", "tLAMBDA", "tLAMBEG", "tLBRACK2", "tLBRACK", "tDSTAR", "tEQL", "tLOWEST", "\"-@NUM\"", "\"+@NUM\"", "$start", "program", "top_compstmt", "top_stmts", "opt_terms", "top_stmt", "terms", "stmt", "bodystmt", "compstmt", "opt_rescue", "opt_else", "opt_ensure", "stmts", "fitem", "undef_list", "expr_value", "lhs", "command_call", "mlhs", "var_lhs", "primary_value", "aref_args", "backref", "mrhs", "arg_value", "expr", "@1", "arg", "command", "block_command", "call_args", "block_call", "operation2", "command_args", "cmd_brace_block", "opt_block_var", "operation", "mlhs_basic", "mlhs_entry", "mlhs_head", "mlhs_item", "mlhs_node", "mlhs_post", "variable", "cname", "cpath", "fname", "op", "reswords", "symbol", "opt_nl", "primary", "none", "args", "trailer", "assocs", "paren_args", "opt_paren_args", "opt_block_arg", "block_arg", "call_args2", "open_args", "@2", "literal", "strings", "xstring", "regexp", "words", "awords", "var_ref", "assoc_list", "brace_block", "method_call", "lambda", "then", "if_tail", "do", "case_body", "for_var", "superclass", "term", "f_arglist", "singleton", "dot_or_colon", "@3", "@4", "@5", "@6", "@7", "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", "@16", "@17", "f_larglist", "lambda_body", "block_param", "f_block_optarg", "f_block_opt", "block_args_tail", "f_block_arg", "opt_block_args_tail", "f_arg", "f_rest_arg", "do_block", "@18", "operation3", "@19", "@20", "cases", "@21", "exc_list", "exc_var", "numeric", "dsym", "string", "string1", "string_contents", "xstring_contents", "word_list", "word", "string_content", "qword_list", "string_dvar", "@22", "@23", "sym", "f_args", "kwrest_mark", "f_kwrest", "f_label", "f_kw", "f_kwarg", "args_tail", "opt_f_block_arg", "opt_args_tail", "f_optarg", "f_norm_arg", "f_bad_arg", "f_arg_item", "f_margs", "f_marg", "f_marg_list", "f_opt", "restarg_mark", "blkarg_mark", "assoc" ]
- Racc_debug_parser =
false
Instance Attribute Summary collapse
-
#file ⇒ Object
readonly
Returns the value of attribute file.
-
#lexer ⇒ Object
readonly
Returns the value of attribute lexer.
-
#scope ⇒ Object
readonly
Returns the value of attribute scope.
Instance Method Summary collapse
- #_reduce_10(val, _values, result) ⇒ Object
-
#_reduce_103(val, _values, result) ⇒ Object
reduce 102 omitted.
- #_reduce_104(val, _values, result) ⇒ Object
- #_reduce_105(val, _values, result) ⇒ Object
-
#_reduce_107(val, _values, result) ⇒ Object
reduce 106 omitted.
- #_reduce_108(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_17(val, _values, result) ⇒ Object
reduce 16 omitted.
- #_reduce_18(val, _values, result) ⇒ Object
-
#_reduce_183(val, _values, result) ⇒ Object
reduce 182 omitted.
- #_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_19(val, _values, result) ⇒ Object
-
#_reduce_193(val, _values, result) ⇒ Object
reduce 192 omitted.
- #_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 1 omitted.
- #_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_216(val, _values, result) ⇒ Object
- #_reduce_217(val, _values, result) ⇒ Object
- #_reduce_218(val, _values, result) ⇒ Object
- #_reduce_219(val, _values, result) ⇒ Object
- #_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_228(val, _values, result) ⇒ Object
reduce 227 omitted.
- #_reduce_229(val, _values, result) ⇒ Object
- #_reduce_23(val, _values, result) ⇒ Object
- #_reduce_230(val, _values, result) ⇒ Object
- #_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_237(val, _values, result) ⇒ Object
reduce 236 omitted.
-
#_reduce_239(val, _values, result) ⇒ Object
reduce 238 omitted.
- #_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_246(val, _values, result) ⇒ Object
reduce 245 omitted.
- #_reduce_247(val, _values, result) ⇒ Object
-
#_reduce_249(val, _values, result) ⇒ Object
reduce 248 omitted.
-
#_reduce_25(val, _values, result) ⇒ Object
reduce 24 omitted.
- #_reduce_250(val, _values, result) ⇒ Object
- #_reduce_251(val, _values, result) ⇒ Object
- #_reduce_252(val, _values, result) ⇒ Object
- #_reduce_253(val, _values, result) ⇒ Object
- #_reduce_254(val, _values, result) ⇒ Object
- #_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_260(val, _values, result) ⇒ Object
- #_reduce_27(val, _values, result) ⇒ Object
-
#_reduce_270(val, _values, result) ⇒ Object
reduce 269 omitted.
- #_reduce_271(val, _values, result) ⇒ Object
- #_reduce_272(val, _values, result) ⇒ Object
- #_reduce_273(val, _values, result) ⇒ Object
- #_reduce_274(val, _values, result) ⇒ Object
- #_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_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_288(val, _values, result) ⇒ Object
reduce 287 omitted.
- #_reduce_289(val, _values, result) ⇒ Object
-
#_reduce_29(val, _values, result) ⇒ Object
reduce 28 omitted.
- #_reduce_290(val, _values, result) ⇒ Object
- #_reduce_291(val, _values, result) ⇒ Object
- #_reduce_292(val, _values, result) ⇒ Object
- #_reduce_293(val, _values, result) ⇒ Object
- #_reduce_294(val, _values, result) ⇒ Object
- #_reduce_295(val, _values, result) ⇒ Object
- #_reduce_296(val, _values, result) ⇒ Object
- #_reduce_297(val, _values, result) ⇒ Object
- #_reduce_298(val, _values, result) ⇒ Object
- #_reduce_299(val, _values, result) ⇒ Object
- #_reduce_3(val, _values, result) ⇒ Object
- #_reduce_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_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_329(val, _values, result) ⇒ Object
reduce 328 omitted.
-
#_reduce_33(val, _values, result) ⇒ Object
reduce 32 omitted.
- #_reduce_330(val, _values, result) ⇒ Object
- #_reduce_331(val, _values, result) ⇒ Object
-
#_reduce_334(val, _values, result) ⇒ Object
reduce 333 omitted.
- #_reduce_335(val, _values, result) ⇒ Object
- #_reduce_336(val, _values, result) ⇒ Object
- #_reduce_337(val, _values, result) ⇒ Object
-
#_reduce_339(val, _values, result) ⇒ Object
reduce 338 omitted.
- #_reduce_34(val, _values, result) ⇒ Object
- #_reduce_340(val, _values, result) ⇒ Object
- #_reduce_341(val, _values, result) ⇒ Object
- #_reduce_342(val, _values, result) ⇒ Object
-
#_reduce_344(val, _values, result) ⇒ Object
reduce 343 omitted.
- #_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_35(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_360(val, _values, result) ⇒ Object
- #_reduce_361(val, _values, result) ⇒ Object
-
#_reduce_364(val, _values, result) ⇒ Object
reduce 363 omitted.
- #_reduce_365(val, _values, result) ⇒ Object
- #_reduce_366(val, _values, result) ⇒ Object
- #_reduce_367(val, _values, result) ⇒ Object
- #_reduce_368(val, _values, result) ⇒ Object
- #_reduce_369(val, _values, result) ⇒ Object
- #_reduce_370(val, _values, result) ⇒ Object
- #_reduce_371(val, _values, result) ⇒ Object
- #_reduce_372(val, _values, result) ⇒ Object
- #_reduce_373(val, _values, result) ⇒ Object
- #_reduce_374(val, _values, result) ⇒ Object
- #_reduce_375(val, _values, result) ⇒ Object
- #_reduce_376(val, _values, result) ⇒ Object
- #_reduce_377(val, _values, result) ⇒ Object
-
#_reduce_379(val, _values, result) ⇒ Object
reduce 378 omitted.
-
#_reduce_38(val, _values, result) ⇒ Object
reduce 37 omitted.
- #_reduce_380(val, _values, result) ⇒ Object
- #_reduce_381(val, _values, result) ⇒ Object
-
#_reduce_384(val, _values, result) ⇒ Object
reduce 383 omitted.
- #_reduce_385(val, _values, result) ⇒ Object
- #_reduce_386(val, _values, result) ⇒ Object
- #_reduce_39(val, _values, result) ⇒ Object
-
#_reduce_391(val, _values, result) ⇒ Object
reduce 390 omitted.
-
#_reduce_393(val, _values, result) ⇒ Object
reduce 392 omitted.
- #_reduce_394(val, _values, result) ⇒ Object
- #_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_40(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_410(val, _values, result) ⇒ Object
- #_reduce_411(val, _values, result) ⇒ Object
- #_reduce_412(val, _values, result) ⇒ Object
- #_reduce_413(val, _values, result) ⇒ Object
- #_reduce_414(val, _values, result) ⇒ Object
- #_reduce_415(val, _values, result) ⇒ Object
- #_reduce_416(val, _values, result) ⇒ Object
- #_reduce_417(val, _values, result) ⇒ Object
- #_reduce_418(val, _values, result) ⇒ Object
- #_reduce_419(val, _values, result) ⇒ Object
-
#_reduce_421(val, _values, result) ⇒ Object
reduce 420 omitted.
- #_reduce_422(val, _values, result) ⇒ Object
-
#_reduce_427(val, _values, result) ⇒ Object
reduce 426 omitted.
- #_reduce_428(val, _values, result) ⇒ Object
- #_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_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_449(val, _values, result) ⇒ Object
reduce 448 omitted.
- #_reduce_450(val, _values, result) ⇒ Object
- #_reduce_451(val, _values, result) ⇒ Object
- #_reduce_452(val, _values, result) ⇒ Object
- #_reduce_453(val, _values, result) ⇒ Object
-
#_reduce_456(val, _values, result) ⇒ Object
reduce 455 omitted.
- #_reduce_457(val, _values, result) ⇒ Object
- #_reduce_458(val, _values, result) ⇒ Object
- #_reduce_459(val, _values, result) ⇒ Object
-
#_reduce_46(val, _values, result) ⇒ Object
reduce 45 omitted.
- #_reduce_460(val, _values, result) ⇒ Object
- #_reduce_461(val, _values, result) ⇒ Object
- #_reduce_462(val, _values, result) ⇒ Object
- #_reduce_463(val, _values, result) ⇒ Object
- #_reduce_464(val, _values, result) ⇒ Object
- #_reduce_465(val, _values, result) ⇒ Object
- #_reduce_466(val, _values, result) ⇒ Object
- #_reduce_467(val, _values, result) ⇒ Object
- #_reduce_468(val, _values, result) ⇒ Object
- #_reduce_469(val, _values, result) ⇒ Object
- #_reduce_47(val, _values, result) ⇒ Object
- #_reduce_470(val, _values, result) ⇒ Object
- #_reduce_471(val, _values, result) ⇒ Object
- #_reduce_472(val, _values, result) ⇒ Object
- #_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_477(val, _values, result) ⇒ Object
-
#_reduce_479(val, _values, result) ⇒ Object
reduce 478 omitted.
- #_reduce_48(val, _values, result) ⇒ Object
- #_reduce_480(val, _values, result) ⇒ Object
- #_reduce_481(val, _values, result) ⇒ Object
- #_reduce_482(val, _values, result) ⇒ Object
- #_reduce_483(val, _values, result) ⇒ Object
- #_reduce_484(val, _values, result) ⇒ Object
- #_reduce_485(val, _values, result) ⇒ Object
-
#_reduce_488(val, _values, result) ⇒ Object
reduce 487 omitted.
-
#_reduce_490(val, _values, result) ⇒ Object
reduce 489 omitted.
- #_reduce_491(val, _values, result) ⇒ Object
-
#_reduce_497(val, _values, result) ⇒ Object
reduce 496 omitted.
- #_reduce_498(val, _values, result) ⇒ Object
- #_reduce_499(val, _values, result) ⇒ Object
- #_reduce_5(val, _values, result) ⇒ Object
- #_reduce_500(val, _values, result) ⇒ Object
- #_reduce_501(val, _values, result) ⇒ Object
-
#_reduce_504(val, _values, result) ⇒ Object
reduce 503 omitted.
- #_reduce_505(val, _values, result) ⇒ Object
-
#_reduce_508(val, _values, result) ⇒ Object
reduce 507 omitted.
- #_reduce_509(val, _values, result) ⇒ Object
- #_reduce_510(val, _values, result) ⇒ Object
- #_reduce_511(val, _values, result) ⇒ Object
- #_reduce_512(val, _values, result) ⇒ Object
- #_reduce_513(val, _values, result) ⇒ Object
- #_reduce_514(val, _values, result) ⇒ Object
- #_reduce_515(val, _values, result) ⇒ Object
- #_reduce_516(val, _values, result) ⇒ Object
- #_reduce_517(val, _values, result) ⇒ Object
- #_reduce_518(val, _values, result) ⇒ Object
-
#_reduce_53(val, _values, result) ⇒ Object
reduce 52 omitted.
-
#_reduce_542(val, _values, result) ⇒ Object
reduce 541 omitted.
-
#_reduce_55(val, _values, result) ⇒ Object
reduce 54 omitted.
-
#_reduce_57(val, _values, result) ⇒ Object
reduce 56 omitted.
-
#_reduce_59(val, _values, result) ⇒ Object
reduce 58 omitted.
- #_reduce_60(val, _values, result) ⇒ Object
- #_reduce_61(val, _values, result) ⇒ Object
- #_reduce_62(val, _values, result) ⇒ Object
- #_reduce_63(val, _values, result) ⇒ Object
- #_reduce_64(val, _values, result) ⇒ Object
- #_reduce_65(val, _values, result) ⇒ Object
- #_reduce_66(val, _values, result) ⇒ Object
- #_reduce_67(val, _values, result) ⇒ Object
-
#_reduce_69(val, _values, result) ⇒ Object
reduce 68 omitted.
-
#_reduce_7(val, _values, result) ⇒ Object
reduce 6 omitted.
-
#_reduce_71(val, _values, result) ⇒ Object
reduce 70 omitted.
- #_reduce_72(val, _values, result) ⇒ Object
-
#_reduce_74(val, _values, result) ⇒ Object
reduce 73 omitted.
- #_reduce_75(val, _values, result) ⇒ Object
- #_reduce_76(val, _values, result) ⇒ Object
- #_reduce_77(val, _values, result) ⇒ Object
- #_reduce_8(val, _values, result) ⇒ Object
-
#_reduce_80(val, _values, result) ⇒ Object
reduce 79 omitted.
- #_reduce_81(val, _values, result) ⇒ Object
- #_reduce_82(val, _values, result) ⇒ Object
-
#_reduce_88(val, _values, result) ⇒ Object
reduce 87 omitted.
- #_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_92(val, _values, result) ⇒ Object
- #_reduce_93(val, _values, result) ⇒ Object
- #_reduce_94(val, _values, result) ⇒ Object
-
#_reduce_97(val, _values, result) ⇒ Object
reduce 96 omitted.
- #_reduce_98(val, _values, result) ⇒ Object
- #_reduce_99(val, _values, result) ⇒ Object
- #_reduce_none(val, _values, result) ⇒ Object
- #add_block_pass(arglist, block) ⇒ Object
- #negate_num(sexp) ⇒ Object
- #new___FILE__(tok) ⇒ Object
- #new___LINE__(tok) ⇒ Object
- #new_alias(kw, new, old) ⇒ Object
- #new_and(lhs, tok, rhs) ⇒ Object
- #new_args(norm, opt, rest, tail) ⇒ Object
- #new_args_tail(kwarg, kwrest, block) ⇒ Object
- #new_array(start, args, finish) ⇒ Object
- #new_assign(lhs, tok, rhs) ⇒ Object
- #new_assignable(ref) ⇒ Object
- #new_attrasgn(recv, op, args = []) ⇒ Object
- #new_binary_call(recv, meth, arg) ⇒ Object
- #new_block(stmt = nil) ⇒ Object
- #new_block_args(norm, opt, rest, block) ⇒ Object
- #new_block_pass(amper_tok, val) ⇒ Object
- #new_body(compstmt, res, els, ens) ⇒ Object
- #new_break(kw, args = nil) ⇒ Object
- #new_call(recv, meth, args = nil) ⇒ Object
- #new_class(start, path, sup, body, endt) ⇒ Object
- #new_colon2(lhs, tok, name) ⇒ Object
- #new_colon3(tok, name) ⇒ Object
- #new_compstmt(block) ⇒ Object
- #new_const(tok) ⇒ Object
- #new_cvar(tok) ⇒ Object
- #new_def(kw, recv, name, args, body, end_tok) ⇒ Object
- #new_dsym(str) ⇒ Object
- #new_erange(beg, op, finish) ⇒ Object
- #new_evstr(str) ⇒ Object
- #new_false(tok) ⇒ Object
- #new_float(tok) ⇒ Object
- #new_gettable(ref) ⇒ Object
- #new_gvar(tok) ⇒ Object
- #new_hash(open, assocs, close) ⇒ Object
- #new_ident(tok) ⇒ Object
- #new_if(if_tok, expr, stmt, tail) ⇒ Object
- #new_int(tok) ⇒ Object
- #new_irange(beg, op, finish) ⇒ Object
- #new_iter(args, body) ⇒ Object
- #new_ivar(tok) ⇒ Object
- #new_kwarg(name) ⇒ Object
- #new_kwoptarg(name, val) ⇒ Object
- #new_kwrestarg(name = nil) ⇒ Object
- #new_module(kw, path, body, end_tok) ⇒ Object
- #new_next(kw, args = []) ⇒ Object
- #new_nil(tok) ⇒ Object
- #new_not(kw, expr) ⇒ Object
- #new_op_asgn(op, lhs, rhs) ⇒ Object
- #new_op_asgn1(lhs, args, op, rhs) ⇒ Object
- #new_or(lhs, tok, rhs) ⇒ Object
- #new_paren(open, expr, close) ⇒ Object
- #new_regexp(reg, ending) ⇒ Object
- #new_rescue_mod(kw, expr, resc) ⇒ Object
- #new_return(kw, args = nil) ⇒ Object
- #new_sclass(kw, expr, body, end_tok) ⇒ Object
- #new_self(tok) ⇒ Object
- #new_splat(tok, value) ⇒ Object
- #new_str(str) ⇒ Object
- #new_str_content(tok) ⇒ Object
- #new_super(kw, args) ⇒ Object
- #new_sym(tok) ⇒ Object
- #new_true(tok) ⇒ Object
- #new_unary_call(op, recv) ⇒ Object
- #new_until(kw, test, body) ⇒ Object
- #new_var_ref(ref) ⇒ Object
- #new_while(kw, test, body) ⇒ Object
- #new_xstr(start_t, str, end_t) ⇒ Object
- #new_yield(args) ⇒ Object
- #next_token ⇒ Object
- #on_error(t, val, vstack) ⇒ Object
- #op_to_setter(op) ⇒ Object
-
#parse(source, file = '(string)') ⇒ Opal::Sexp
Parse the given ruby source.
- #parse_to_sexp ⇒ Object
- #pop_scope ⇒ Object
- #push_scope(type = nil) ⇒ Object
- #s(*parts) ⇒ Object
- #s0(type, source) ⇒ Object
- #s1(type, first, source) ⇒ Object
- #source(tok) ⇒ Object
- #str_append(str, str2) ⇒ Object
- #value(tok) ⇒ Object
Instance Attribute Details
#file ⇒ Object (readonly)
Returns the value of attribute file
22 23 24 |
# File 'opal/lib/opal/parser.rb', line 22 def file @file end |
#lexer ⇒ Object (readonly)
Returns the value of attribute lexer
22 23 24 |
# File 'opal/lib/opal/parser.rb', line 22 def lexer @lexer end |
#scope ⇒ Object (readonly)
Returns the value of attribute scope
22 23 24 |
# File 'opal/lib/opal/parser.rb', line 22 def scope @scope end |
Instance Method Details
#_reduce_10(val, _values, result) ⇒ Object
3078 3079 3080 3081 3082 |
# File 'opal/lib/opal/parser/grammar.rb', line 3078 def _reduce_10(val, _values, result) result = new_block result end |
#_reduce_103(val, _values, result) ⇒ Object
reduce 102 omitted
3502 3503 3504 3505 3506 3507 |
# File 'opal/lib/opal/parser/grammar.rb', line 3502 def _reduce_103(val, _values, result) lexer.lex_state = :expr_end result = val[0] result end |
#_reduce_104(val, _values, result) ⇒ Object
3509 3510 3511 3512 3513 3514 |
# File 'opal/lib/opal/parser/grammar.rb', line 3509 def _reduce_104(val, _values, result) lexer.lex_state = :expr_end result = val[0] result end |
#_reduce_105(val, _values, result) ⇒ Object
3516 3517 3518 3519 3520 |
# File 'opal/lib/opal/parser/grammar.rb', line 3516 def _reduce_105(val, _values, result) result = new_sym(val[0]) result end |
#_reduce_107(val, _values, result) ⇒ Object
reduce 106 omitted
3524 3525 3526 3527 3528 |
# File 'opal/lib/opal/parser/grammar.rb', line 3524 def _reduce_107(val, _values, result) result = s(:undef, val[0]) result end |
#_reduce_108(val, _values, result) ⇒ Object
3530 3531 3532 3533 3534 |
# File 'opal/lib/opal/parser/grammar.rb', line 3530 def _reduce_108(val, _values, result) result = val[0] << val[2] result end |
#_reduce_11(val, _values, result) ⇒ Object
3084 3085 3086 3087 3088 |
# File 'opal/lib/opal/parser/grammar.rb', line 3084 def _reduce_11(val, _values, result) result = new_block val[0] result end |
#_reduce_12(val, _values, result) ⇒ Object
3090 3091 3092 3093 3094 3095 |
# File 'opal/lib/opal/parser/grammar.rb', line 3090 def _reduce_12(val, _values, result) val[0] << val[2] result = val[0] result end |
#_reduce_13(val, _values, result) ⇒ Object
3097 3098 3099 3100 3101 |
# File 'opal/lib/opal/parser/grammar.rb', line 3097 def _reduce_13(val, _values, result) lexer.lex_state = :expr_fname result end |
#_reduce_14(val, _values, result) ⇒ Object
3103 3104 3105 3106 3107 |
# File 'opal/lib/opal/parser/grammar.rb', line 3103 def _reduce_14(val, _values, result) result = new_alias(val[0], val[1], val[3]) result end |
#_reduce_15(val, _values, result) ⇒ Object
3109 3110 3111 3112 3113 |
# File 'opal/lib/opal/parser/grammar.rb', line 3109 def _reduce_15(val, _values, result) result = s(:valias, value(val[1]).to_sym, value(val[2]).to_sym) result end |
#_reduce_17(val, _values, result) ⇒ Object
reduce 16 omitted
3117 3118 3119 3120 3121 |
# File 'opal/lib/opal/parser/grammar.rb', line 3117 def _reduce_17(val, _values, result) result = s(:valias, value(val[1]).to_sym, value(val[2]).to_sym) result end |
#_reduce_18(val, _values, result) ⇒ Object
3123 3124 3125 3126 3127 |
# File 'opal/lib/opal/parser/grammar.rb', line 3123 def _reduce_18(val, _values, result) result = val[1] result end |
#_reduce_183(val, _values, result) ⇒ Object
reduce 182 omitted
3684 3685 3686 3687 3688 |
# File 'opal/lib/opal/parser/grammar.rb', line 3684 def _reduce_183(val, _values, result) result = new_assign(val[0], val[1], val[2]) result end |
#_reduce_184(val, _values, result) ⇒ Object
3690 3691 3692 3693 3694 |
# File 'opal/lib/opal/parser/grammar.rb', line 3690 def _reduce_184(val, _values, result) result = new_assign val[0], val[1], s(:rescue_mod, val[2], val[4]) result end |
#_reduce_185(val, _values, result) ⇒ Object
3696 3697 3698 3699 3700 |
# File 'opal/lib/opal/parser/grammar.rb', line 3696 def _reduce_185(val, _values, result) result = new_op_asgn val[1], val[0], val[2] result end |
#_reduce_186(val, _values, result) ⇒ Object
3702 3703 3704 3705 3706 |
# File 'opal/lib/opal/parser/grammar.rb', line 3702 def _reduce_186(val, _values, result) result = new_op_asgn1(val[0], val[2], val[4], val[5]) result end |
#_reduce_187(val, _values, result) ⇒ Object
3708 3709 3710 3711 3712 |
# File 'opal/lib/opal/parser/grammar.rb', line 3708 def _reduce_187(val, _values, result) result = s(:op_asgn2, val[0], op_to_setter(val[2]), value(val[3]).to_sym, val[4]) result end |
#_reduce_19(val, _values, result) ⇒ Object
3129 3130 3131 3132 3133 |
# File 'opal/lib/opal/parser/grammar.rb', line 3129 def _reduce_19(val, _values, result) result = new_if(val[1], val[2], val[0], nil) result end |
#_reduce_193(val, _values, result) ⇒ Object
reduce 192 omitted
3724 3725 3726 3727 3728 |
# File 'opal/lib/opal/parser/grammar.rb', line 3724 def _reduce_193(val, _values, result) result = new_irange(val[0], val[1], val[2]) result end |
#_reduce_194(val, _values, result) ⇒ Object
3730 3731 3732 3733 3734 |
# File 'opal/lib/opal/parser/grammar.rb', line 3730 def _reduce_194(val, _values, result) result = new_erange(val[0], val[1], val[2]) result end |
#_reduce_195(val, _values, result) ⇒ Object
3736 3737 3738 3739 3740 |
# File 'opal/lib/opal/parser/grammar.rb', line 3736 def _reduce_195(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_196(val, _values, result) ⇒ Object
3742 3743 3744 3745 3746 |
# File 'opal/lib/opal/parser/grammar.rb', line 3742 def _reduce_196(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_197(val, _values, result) ⇒ Object
3748 3749 3750 3751 3752 |
# File 'opal/lib/opal/parser/grammar.rb', line 3748 def _reduce_197(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_198(val, _values, result) ⇒ Object
3754 3755 3756 3757 3758 |
# File 'opal/lib/opal/parser/grammar.rb', line 3754 def _reduce_198(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_199(val, _values, result) ⇒ Object
3760 3761 3762 3763 3764 |
# File 'opal/lib/opal/parser/grammar.rb', line 3760 def _reduce_199(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_2(val, _values, result) ⇒ Object
reduce 1 omitted
3033 3034 3035 3036 3037 |
# File 'opal/lib/opal/parser/grammar.rb', line 3033 def _reduce_2(val, _values, result) result = new_compstmt val[0] result end |
#_reduce_20(val, _values, result) ⇒ Object
3135 3136 3137 3138 3139 |
# File 'opal/lib/opal/parser/grammar.rb', line 3135 def _reduce_20(val, _values, result) result = new_if(val[1], val[2], nil, val[0]) result end |
#_reduce_200(val, _values, result) ⇒ Object
3766 3767 3768 3769 3770 |
# File 'opal/lib/opal/parser/grammar.rb', line 3766 def _reduce_200(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_201(val, _values, result) ⇒ Object
3772 3773 3774 3775 3776 |
# File 'opal/lib/opal/parser/grammar.rb', line 3772 def _reduce_201(val, _values, result) result = new_call new_binary_call(new_int(val[1]), val[2], val[3]), [:-@", []], [] result end |
#_reduce_202(val, _values, result) ⇒ Object
3778 3779 3780 3781 3782 |
# File 'opal/lib/opal/parser/grammar.rb', line 3778 def _reduce_202(val, _values, result) result = new_call new_binary_call(new_float(val[1]), val[2], val[3]), [:-@", []], [] result end |
#_reduce_203(val, _values, result) ⇒ Object
3784 3785 3786 3787 3788 3789 3790 3791 |
# File 'opal/lib/opal/parser/grammar.rb', line 3784 def _reduce_203(val, _values, result) result = new_call val[1], [:+@", []], [] if [:int, :float].include? val[1].type result = val[1] end result end |
#_reduce_204(val, _values, result) ⇒ Object
3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 |
# File 'opal/lib/opal/parser/grammar.rb', line 3793 def _reduce_204(val, _values, result) result = new_call val[1], [:-@", []], [] if val[1].type == :int val[1][1] = -val[1][1] result = val[1] elsif val[1].type == :float val[1][1] = -val[1][1].to_f result = val[1] end result end |
#_reduce_205(val, _values, result) ⇒ Object
3806 3807 3808 3809 3810 |
# File 'opal/lib/opal/parser/grammar.rb', line 3806 def _reduce_205(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_206(val, _values, result) ⇒ Object
3812 3813 3814 3815 3816 |
# File 'opal/lib/opal/parser/grammar.rb', line 3812 def _reduce_206(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_207(val, _values, result) ⇒ Object
3818 3819 3820 3821 3822 |
# File 'opal/lib/opal/parser/grammar.rb', line 3818 def _reduce_207(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_208(val, _values, result) ⇒ Object
3824 3825 3826 3827 3828 |
# File 'opal/lib/opal/parser/grammar.rb', line 3824 def _reduce_208(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_209(val, _values, result) ⇒ Object
3830 3831 3832 3833 3834 |
# File 'opal/lib/opal/parser/grammar.rb', line 3830 def _reduce_209(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_21(val, _values, result) ⇒ Object
3141 3142 3143 3144 3145 |
# File 'opal/lib/opal/parser/grammar.rb', line 3141 def _reduce_21(val, _values, result) result = new_while(val[1], val[2], val[0]) result end |
#_reduce_210(val, _values, result) ⇒ Object
3836 3837 3838 3839 3840 |
# File 'opal/lib/opal/parser/grammar.rb', line 3836 def _reduce_210(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_211(val, _values, result) ⇒ Object
3842 3843 3844 3845 3846 |
# File 'opal/lib/opal/parser/grammar.rb', line 3842 def _reduce_211(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_212(val, _values, result) ⇒ Object
3848 3849 3850 3851 3852 |
# File 'opal/lib/opal/parser/grammar.rb', line 3848 def _reduce_212(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_213(val, _values, result) ⇒ Object
3854 3855 3856 3857 3858 |
# File 'opal/lib/opal/parser/grammar.rb', line 3854 def _reduce_213(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_214(val, _values, result) ⇒ Object
3860 3861 3862 3863 3864 |
# File 'opal/lib/opal/parser/grammar.rb', line 3860 def _reduce_214(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_215(val, _values, result) ⇒ Object
3866 3867 3868 3869 3870 3871 |
# File 'opal/lib/opal/parser/grammar.rb', line 3866 def _reduce_215(val, _values, result) result = new_unary_call(['!', []], new_binary_call( val[0], ['==', []], val[2])) result end |
#_reduce_216(val, _values, result) ⇒ Object
3873 3874 3875 3876 3877 |
# File 'opal/lib/opal/parser/grammar.rb', line 3873 def _reduce_216(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_217(val, _values, result) ⇒ Object
3879 3880 3881 3882 3883 3884 |
# File 'opal/lib/opal/parser/grammar.rb', line 3879 def _reduce_217(val, _values, result) result = new_not(val[1], new_binary_call( val[0], ['=~', []], val[2])) result end |
#_reduce_218(val, _values, result) ⇒ Object
3886 3887 3888 3889 3890 |
# File 'opal/lib/opal/parser/grammar.rb', line 3886 def _reduce_218(val, _values, result) result = new_unary_call(val[0], val[1]) result end |
#_reduce_219(val, _values, result) ⇒ Object
3892 3893 3894 3895 3896 |
# File 'opal/lib/opal/parser/grammar.rb', line 3892 def _reduce_219(val, _values, result) result = new_unary_call(val[0], val[1]) result end |
#_reduce_22(val, _values, result) ⇒ Object
3147 3148 3149 3150 3151 |
# File 'opal/lib/opal/parser/grammar.rb', line 3147 def _reduce_22(val, _values, result) result = new_until(val[1], val[2], val[0]) result end |
#_reduce_220(val, _values, result) ⇒ Object
3898 3899 3900 3901 3902 |
# File 'opal/lib/opal/parser/grammar.rb', line 3898 def _reduce_220(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_221(val, _values, result) ⇒ Object
3904 3905 3906 3907 3908 |
# File 'opal/lib/opal/parser/grammar.rb', line 3904 def _reduce_221(val, _values, result) result = new_binary_call(val[0], val[1], val[2]) result end |
#_reduce_222(val, _values, result) ⇒ Object
3910 3911 3912 3913 3914 |
# File 'opal/lib/opal/parser/grammar.rb', line 3910 def _reduce_222(val, _values, result) result = new_and(val[0], val[1], val[2]) result end |
#_reduce_223(val, _values, result) ⇒ Object
3916 3917 3918 3919 3920 |
# File 'opal/lib/opal/parser/grammar.rb', line 3916 def _reduce_223(val, _values, result) result = new_or(val[0], val[1], val[2]) result end |
#_reduce_224(val, _values, result) ⇒ Object
3922 3923 3924 3925 3926 |
# File 'opal/lib/opal/parser/grammar.rb', line 3922 def _reduce_224(val, _values, result) result = s(:defined, val[2]) result end |
#_reduce_225(val, _values, result) ⇒ Object
3928 3929 3930 3931 3932 |
# File 'opal/lib/opal/parser/grammar.rb', line 3928 def _reduce_225(val, _values, result) result = new_if(val[1], val[0], val[2], val[4]) result end |
#_reduce_228(val, _values, result) ⇒ Object
reduce 227 omitted
3938 3939 3940 3941 3942 |
# File 'opal/lib/opal/parser/grammar.rb', line 3938 def _reduce_228(val, _values, result) result = nil result end |
#_reduce_229(val, _values, result) ⇒ Object
3944 3945 3946 3947 3948 |
# File 'opal/lib/opal/parser/grammar.rb', line 3944 def _reduce_229(val, _values, result) result = [val[0]] result end |
#_reduce_23(val, _values, result) ⇒ Object
3153 3154 3155 3156 3157 |
# File 'opal/lib/opal/parser/grammar.rb', line 3153 def _reduce_23(val, _values, result) result = new_rescue_mod(val[1], val[0], val[2]) result end |
#_reduce_230(val, _values, result) ⇒ Object
3950 3951 3952 3953 3954 |
# File 'opal/lib/opal/parser/grammar.rb', line 3950 def _reduce_230(val, _values, result) result = val[0] result end |
#_reduce_231(val, _values, result) ⇒ Object
3956 3957 3958 3959 3960 3961 |
# File 'opal/lib/opal/parser/grammar.rb', line 3956 def _reduce_231(val, _values, result) val[0] << s(:hash, *val[2]) result = val[0] result end |
#_reduce_232(val, _values, result) ⇒ Object
3963 3964 3965 3966 3967 |
# File 'opal/lib/opal/parser/grammar.rb', line 3963 def _reduce_232(val, _values, result) result = [s(:hash, *val[0])] result end |
#_reduce_233(val, _values, result) ⇒ Object
3969 3970 3971 3972 3973 |
# File 'opal/lib/opal/parser/grammar.rb', line 3969 def _reduce_233(val, _values, result) result = [] result end |
#_reduce_234(val, _values, result) ⇒ Object
3975 3976 3977 3978 3979 |
# File 'opal/lib/opal/parser/grammar.rb', line 3975 def _reduce_234(val, _values, result) result = val[1] result end |
#_reduce_237(val, _values, result) ⇒ Object
reduce 236 omitted
3985 3986 3987 3988 3989 |
# File 'opal/lib/opal/parser/grammar.rb', line 3985 def _reduce_237(val, _values, result) result = [] result end |
#_reduce_239(val, _values, result) ⇒ Object
reduce 238 omitted
3993 3994 3995 3996 3997 |
# File 'opal/lib/opal/parser/grammar.rb', line 3993 def _reduce_239(val, _values, result) result = [val[0]] result end |
#_reduce_240(val, _values, result) ⇒ Object
3999 4000 4001 4002 4003 4004 |
# File 'opal/lib/opal/parser/grammar.rb', line 3999 def _reduce_240(val, _values, result) result = val[0] add_block_pass val[0], val[1] result end |
#_reduce_241(val, _values, result) ⇒ Object
4006 4007 4008 4009 4010 4011 |
# File 'opal/lib/opal/parser/grammar.rb', line 4006 def _reduce_241(val, _values, result) result = [new_hash(nil, val[0], nil)] add_block_pass result, val[1] result end |
#_reduce_242(val, _values, result) ⇒ Object
4013 4014 4015 4016 4017 4018 |
# File 'opal/lib/opal/parser/grammar.rb', line 4013 def _reduce_242(val, _values, result) result = val[0] result << new_hash(nil, val[2], nil) result end |
#_reduce_243(val, _values, result) ⇒ Object
4020 4021 4022 4023 4024 4025 |
# File 'opal/lib/opal/parser/grammar.rb', line 4020 def _reduce_243(val, _values, result) result = [] add_block_pass result, val[0] result end |
#_reduce_246(val, _values, result) ⇒ Object
reduce 245 omitted
4031 4032 4033 4034 4035 |
# File 'opal/lib/opal/parser/grammar.rb', line 4031 def _reduce_246(val, _values, result) lexer.cmdarg_push 1 result end |
#_reduce_247(val, _values, result) ⇒ Object
4037 4038 4039 4040 4041 4042 |
# File 'opal/lib/opal/parser/grammar.rb', line 4037 def _reduce_247(val, _values, result) lexer.cmdarg_pop result = val[1] result end |
#_reduce_249(val, _values, result) ⇒ Object
reduce 248 omitted
4046 4047 4048 4049 4050 |
# File 'opal/lib/opal/parser/grammar.rb', line 4046 def _reduce_249(val, _values, result) result = nil result end |
#_reduce_25(val, _values, result) ⇒ Object
reduce 24 omitted
3161 3162 3163 3164 3165 |
# File 'opal/lib/opal/parser/grammar.rb', line 3161 def _reduce_25(val, _values, result) result = new_assign(val[0], val[1], val[2]) result end |
#_reduce_250(val, _values, result) ⇒ Object
4052 4053 4054 4055 4056 |
# File 'opal/lib/opal/parser/grammar.rb', line 4052 def _reduce_250(val, _values, result) result = val[1] result end |
#_reduce_251(val, _values, result) ⇒ Object
4058 4059 4060 4061 4062 |
# File 'opal/lib/opal/parser/grammar.rb', line 4058 def _reduce_251(val, _values, result) result = new_block_pass(val[0], val[1]) result end |
#_reduce_252(val, _values, result) ⇒ Object
4064 4065 4066 4067 4068 |
# File 'opal/lib/opal/parser/grammar.rb', line 4064 def _reduce_252(val, _values, result) result = val[1] result end |
#_reduce_253(val, _values, result) ⇒ Object
4070 4071 4072 4073 4074 |
# File 'opal/lib/opal/parser/grammar.rb', line 4070 def _reduce_253(val, _values, result) result = nil result end |
#_reduce_254(val, _values, result) ⇒ Object
4076 4077 4078 4079 4080 |
# File 'opal/lib/opal/parser/grammar.rb', line 4076 def _reduce_254(val, _values, result) result = [val[0]] result end |
#_reduce_255(val, _values, result) ⇒ Object
4082 4083 4084 4085 4086 |
# File 'opal/lib/opal/parser/grammar.rb', line 4082 def _reduce_255(val, _values, result) result = [new_splat(val[0], val[1])] result end |
#_reduce_256(val, _values, result) ⇒ Object
4088 4089 4090 4091 4092 |
# File 'opal/lib/opal/parser/grammar.rb', line 4088 def _reduce_256(val, _values, result) result = val[0] << val[2] result end |
#_reduce_257(val, _values, result) ⇒ Object
4094 4095 4096 4097 4098 |
# File 'opal/lib/opal/parser/grammar.rb', line 4094 def _reduce_257(val, _values, result) result = val[0] << new_splat(val[2], val[3]) result end |
#_reduce_258(val, _values, result) ⇒ Object
4100 4101 4102 4103 4104 4105 |
# File 'opal/lib/opal/parser/grammar.rb', line 4100 def _reduce_258(val, _values, result) val[0] << val[2] result = s(:array, *val[0]) result end |
#_reduce_259(val, _values, result) ⇒ Object
4107 4108 4109 4110 4111 4112 |
# File 'opal/lib/opal/parser/grammar.rb', line 4107 def _reduce_259(val, _values, result) val[0] << s(:splat, val[3]) result = s(:array, *val[0]) result end |
#_reduce_26(val, _values, result) ⇒ Object
3167 3168 3169 3170 3171 |
# File 'opal/lib/opal/parser/grammar.rb', line 3167 def _reduce_26(val, _values, result) result = s(:masgn, val[0], s(:to_ary, val[2])) result end |
#_reduce_260(val, _values, result) ⇒ Object
4114 4115 4116 4117 4118 |
# File 'opal/lib/opal/parser/grammar.rb', line 4114 def _reduce_260(val, _values, result) result = s(:splat, val[1]) result end |
#_reduce_27(val, _values, result) ⇒ Object
3173 3174 3175 3176 3177 |
# File 'opal/lib/opal/parser/grammar.rb', line 3173 def _reduce_27(val, _values, result) result = new_op_asgn val[1], val[0], val[2] result end |
#_reduce_270(val, _values, result) ⇒ Object
reduce 269 omitted
4138 4139 4140 4141 4142 |
# File 'opal/lib/opal/parser/grammar.rb', line 4138 def _reduce_270(val, _values, result) result = lexer.line result end |
#_reduce_271(val, _values, result) ⇒ Object
4144 4145 4146 4147 4148 |
# File 'opal/lib/opal/parser/grammar.rb', line 4144 def _reduce_271(val, _values, result) result = s(:begin, val[2]) result end |
#_reduce_272(val, _values, result) ⇒ Object
4150 4151 4152 4153 4154 |
# File 'opal/lib/opal/parser/grammar.rb', line 4150 def _reduce_272(val, _values, result) result = val[1] result end |
#_reduce_273(val, _values, result) ⇒ Object
4156 4157 4158 4159 4160 |
# File 'opal/lib/opal/parser/grammar.rb', line 4156 def _reduce_273(val, _values, result) result = new_paren(val[0], val[1], val[2]) result end |
#_reduce_274(val, _values, result) ⇒ Object
4162 4163 4164 4165 4166 |
# File 'opal/lib/opal/parser/grammar.rb', line 4162 def _reduce_274(val, _values, result) result = new_colon2(val[0], val[1], val[2]) result end |
#_reduce_275(val, _values, result) ⇒ Object
4168 4169 4170 4171 4172 |
# File 'opal/lib/opal/parser/grammar.rb', line 4168 def _reduce_275(val, _values, result) result = new_colon3(val[0], val[1]) result end |
#_reduce_276(val, _values, result) ⇒ Object
4174 4175 4176 4177 4178 |
# File 'opal/lib/opal/parser/grammar.rb', line 4174 def _reduce_276(val, _values, result) result = new_call val[0], [:[], []], val[2] result end |
#_reduce_277(val, _values, result) ⇒ Object
4180 4181 4182 4183 4184 |
# File 'opal/lib/opal/parser/grammar.rb', line 4180 def _reduce_277(val, _values, result) result = new_array(val[0], val[1], val[2]) result end |
#_reduce_278(val, _values, result) ⇒ Object
4186 4187 4188 4189 4190 |
# File 'opal/lib/opal/parser/grammar.rb', line 4186 def _reduce_278(val, _values, result) result = new_hash(val[0], val[1], val[2]) result end |
#_reduce_279(val, _values, result) ⇒ Object
4192 4193 4194 4195 4196 |
# File 'opal/lib/opal/parser/grammar.rb', line 4192 def _reduce_279(val, _values, result) result = new_return(val[0]) result end |
#_reduce_280(val, _values, result) ⇒ Object
4198 4199 4200 4201 4202 |
# File 'opal/lib/opal/parser/grammar.rb', line 4198 def _reduce_280(val, _values, result) result = new_yield val[2] result end |
#_reduce_281(val, _values, result) ⇒ Object
4204 4205 4206 4207 4208 |
# File 'opal/lib/opal/parser/grammar.rb', line 4204 def _reduce_281(val, _values, result) result = s(:yield) result end |
#_reduce_282(val, _values, result) ⇒ Object
4210 4211 4212 4213 4214 |
# File 'opal/lib/opal/parser/grammar.rb', line 4210 def _reduce_282(val, _values, result) result = s(:yield) result end |
#_reduce_283(val, _values, result) ⇒ Object
4216 4217 4218 4219 4220 |
# File 'opal/lib/opal/parser/grammar.rb', line 4216 def _reduce_283(val, _values, result) result = s(:defined, val[3]) result end |
#_reduce_284(val, _values, result) ⇒ Object
4222 4223 4224 4225 4226 |
# File 'opal/lib/opal/parser/grammar.rb', line 4222 def _reduce_284(val, _values, result) result = new_unary_call(['!', []], val[2]) result end |
#_reduce_285(val, _values, result) ⇒ Object
4228 4229 4230 4231 4232 |
# File 'opal/lib/opal/parser/grammar.rb', line 4228 def _reduce_285(val, _values, result) result = new_unary_call(['!', []], new_nil(val[0])) result end |
#_reduce_286(val, _values, result) ⇒ Object
4234 4235 4236 4237 4238 4239 |
# File 'opal/lib/opal/parser/grammar.rb', line 4234 def _reduce_286(val, _values, result) result = new_call(nil, val[0], []) result << val[1] result end |
#_reduce_288(val, _values, result) ⇒ Object
reduce 287 omitted
4243 4244 4245 4246 4247 4248 |
# File 'opal/lib/opal/parser/grammar.rb', line 4243 def _reduce_288(val, _values, result) val[0] << val[1] result = val[0] result end |
#_reduce_289(val, _values, result) ⇒ Object
4250 4251 4252 4253 4254 |
# File 'opal/lib/opal/parser/grammar.rb', line 4250 def _reduce_289(val, _values, result) result = val[1] result end |
#_reduce_29(val, _values, result) ⇒ Object
reduce 28 omitted
3181 3182 3183 3184 3185 |
# File 'opal/lib/opal/parser/grammar.rb', line 3181 def _reduce_29(val, _values, result) result = s(:op_asgn2, val[0], op_to_setter(val[2]), value(val[3]).to_sym, val[4]) result end |
#_reduce_290(val, _values, result) ⇒ Object
4256 4257 4258 4259 4260 |
# File 'opal/lib/opal/parser/grammar.rb', line 4256 def _reduce_290(val, _values, result) result = new_if(val[0], val[1], val[3], val[4]) result end |
#_reduce_291(val, _values, result) ⇒ Object
4262 4263 4264 4265 4266 |
# File 'opal/lib/opal/parser/grammar.rb', line 4262 def _reduce_291(val, _values, result) result = new_if(val[0], val[1], val[4], val[3]) result end |
#_reduce_292(val, _values, result) ⇒ Object
4268 4269 4270 4271 4272 4273 |
# File 'opal/lib/opal/parser/grammar.rb', line 4268 def _reduce_292(val, _values, result) lexer.cond_push 1 result = lexer.line result end |
#_reduce_293(val, _values, result) ⇒ Object
4275 4276 4277 4278 4279 |
# File 'opal/lib/opal/parser/grammar.rb', line 4275 def _reduce_293(val, _values, result) lexer.cond_pop result end |
#_reduce_294(val, _values, result) ⇒ Object
4281 4282 4283 4284 4285 |
# File 'opal/lib/opal/parser/grammar.rb', line 4281 def _reduce_294(val, _values, result) result = s(:while, val[2], val[5]) result end |
#_reduce_295(val, _values, result) ⇒ Object
4287 4288 4289 4290 4291 4292 |
# File 'opal/lib/opal/parser/grammar.rb', line 4287 def _reduce_295(val, _values, result) lexer.cond_push 1 result = lexer.line result end |
#_reduce_296(val, _values, result) ⇒ Object
4294 4295 4296 4297 4298 |
# File 'opal/lib/opal/parser/grammar.rb', line 4294 def _reduce_296(val, _values, result) lexer.cond_pop result end |
#_reduce_297(val, _values, result) ⇒ Object
4300 4301 4302 4303 4304 |
# File 'opal/lib/opal/parser/grammar.rb', line 4300 def _reduce_297(val, _values, result) result = s(:until, val[2], val[5]) result end |
#_reduce_298(val, _values, result) ⇒ Object
4306 4307 4308 4309 4310 |
# File 'opal/lib/opal/parser/grammar.rb', line 4306 def _reduce_298(val, _values, result) result = s(:case, val[1], *val[3]) result end |
#_reduce_299(val, _values, result) ⇒ Object
4312 4313 4314 4315 4316 |
# File 'opal/lib/opal/parser/grammar.rb', line 4312 def _reduce_299(val, _values, result) result = s(:case, nil, *val[2]) result end |
#_reduce_3(val, _values, result) ⇒ Object
3039 3040 3041 3042 3043 |
# File 'opal/lib/opal/parser/grammar.rb', line 3039 def _reduce_3(val, _values, result) result = new_block result end |
#_reduce_300(val, _values, result) ⇒ Object
4318 4319 4320 4321 4322 |
# File 'opal/lib/opal/parser/grammar.rb', line 4318 def _reduce_300(val, _values, result) result = s(:case, nil, val[3]) result end |
#_reduce_301(val, _values, result) ⇒ Object
4324 4325 4326 4327 4328 4329 |
# File 'opal/lib/opal/parser/grammar.rb', line 4324 def _reduce_301(val, _values, result) lexer.cond_push 1 result = lexer.line result end |
#_reduce_302(val, _values, result) ⇒ Object
4331 4332 4333 4334 4335 |
# File 'opal/lib/opal/parser/grammar.rb', line 4331 def _reduce_302(val, _values, result) lexer.cond_pop result end |
#_reduce_303(val, _values, result) ⇒ Object
4337 4338 4339 4340 4341 |
# File 'opal/lib/opal/parser/grammar.rb', line 4337 def _reduce_303(val, _values, result) result = s(:for, val[4], val[1], val[7]) result end |
#_reduce_304(val, _values, result) ⇒ Object
4343 4344 4345 4346 4347 |
# File 'opal/lib/opal/parser/grammar.rb', line 4343 def _reduce_304(val, _values, result) # ... result end |
#_reduce_305(val, _values, result) ⇒ Object
4349 4350 4351 4352 4353 |
# File 'opal/lib/opal/parser/grammar.rb', line 4349 def _reduce_305(val, _values, result) result = new_class val[0], val[1], val[2], val[4], val[5] result end |
#_reduce_306(val, _values, result) ⇒ Object
4355 4356 4357 4358 4359 |
# File 'opal/lib/opal/parser/grammar.rb', line 4355 def _reduce_306(val, _values, result) result = lexer.line result end |
#_reduce_307(val, _values, result) ⇒ Object
4361 4362 4363 4364 4365 |
# File 'opal/lib/opal/parser/grammar.rb', line 4361 def _reduce_307(val, _values, result) # ... result end |
#_reduce_308(val, _values, result) ⇒ Object
4367 4368 4369 4370 4371 |
# File 'opal/lib/opal/parser/grammar.rb', line 4367 def _reduce_308(val, _values, result) result = new_sclass(val[0], val[3], val[6], val[7]) result end |
#_reduce_309(val, _values, result) ⇒ Object
4373 4374 4375 4376 4377 |
# File 'opal/lib/opal/parser/grammar.rb', line 4373 def _reduce_309(val, _values, result) result = lexer.line result end |
#_reduce_310(val, _values, result) ⇒ Object
4379 4380 4381 4382 4383 |
# File 'opal/lib/opal/parser/grammar.rb', line 4379 def _reduce_310(val, _values, result) # ... result end |
#_reduce_311(val, _values, result) ⇒ Object
4385 4386 4387 4388 4389 |
# File 'opal/lib/opal/parser/grammar.rb', line 4385 def _reduce_311(val, _values, result) result = new_module(val[0], val[2], val[4], val[5]) result end |
#_reduce_312(val, _values, result) ⇒ Object
4391 4392 4393 4394 4395 |
# File 'opal/lib/opal/parser/grammar.rb', line 4391 def _reduce_312(val, _values, result) push_scope result end |
#_reduce_313(val, _values, result) ⇒ Object
4397 4398 4399 4400 4401 4402 |
# File 'opal/lib/opal/parser/grammar.rb', line 4397 def _reduce_313(val, _values, result) result = new_def(val[0], nil, val[1], val[3], val[4], val[5]) pop_scope result end |
#_reduce_314(val, _values, result) ⇒ Object
4404 4405 4406 4407 4408 |
# File 'opal/lib/opal/parser/grammar.rb', line 4404 def _reduce_314(val, _values, result) lexer.lex_state = :expr_fname result end |
#_reduce_315(val, _values, result) ⇒ Object
4410 4411 4412 4413 4414 |
# File 'opal/lib/opal/parser/grammar.rb', line 4410 def _reduce_315(val, _values, result) push_scope result end |
#_reduce_316(val, _values, result) ⇒ Object
4416 4417 4418 4419 4420 4421 |
# File 'opal/lib/opal/parser/grammar.rb', line 4416 def _reduce_316(val, _values, result) result = new_def(val[0], val[1], val[4], val[6], val[7], val[8]) pop_scope result end |
#_reduce_317(val, _values, result) ⇒ Object
4423 4424 4425 4426 4427 |
# File 'opal/lib/opal/parser/grammar.rb', line 4423 def _reduce_317(val, _values, result) result = new_break(val[0]) result end |
#_reduce_318(val, _values, result) ⇒ Object
4429 4430 4431 4432 4433 |
# File 'opal/lib/opal/parser/grammar.rb', line 4429 def _reduce_318(val, _values, result) result = s(:next) result end |
#_reduce_319(val, _values, result) ⇒ Object
4435 4436 4437 4438 4439 |
# File 'opal/lib/opal/parser/grammar.rb', line 4435 def _reduce_319(val, _values, result) result = s(:redo) result end |
#_reduce_329(val, _values, result) ⇒ Object
reduce 328 omitted
4459 4460 4461 4462 4463 4464 |
# File 'opal/lib/opal/parser/grammar.rb', line 4459 def _reduce_329(val, _values, result) result = new_call nil, [:lambda, []], [] result << new_iter(val[0], val[1]) result end |
#_reduce_33(val, _values, result) ⇒ Object
reduce 32 omitted
3193 3194 3195 3196 3197 |
# File 'opal/lib/opal/parser/grammar.rb', line 3193 def _reduce_33(val, _values, result) result = new_assign val[0], val[1], s(:svalue, val[2]) result end |
#_reduce_330(val, _values, result) ⇒ Object
4466 4467 4468 4469 4470 |
# File 'opal/lib/opal/parser/grammar.rb', line 4466 def _reduce_330(val, _values, result) result = val[1] result end |
#_reduce_331(val, _values, result) ⇒ Object
4472 4473 4474 4475 4476 |
# File 'opal/lib/opal/parser/grammar.rb', line 4472 def _reduce_331(val, _values, result) result = nil result end |
#_reduce_334(val, _values, result) ⇒ Object
reduce 333 omitted
4482 4483 4484 4485 4486 |
# File 'opal/lib/opal/parser/grammar.rb', line 4482 def _reduce_334(val, _values, result) result = val[1] result end |
#_reduce_335(val, _values, result) ⇒ Object
4488 4489 4490 4491 4492 |
# File 'opal/lib/opal/parser/grammar.rb', line 4488 def _reduce_335(val, _values, result) result = val[1] result end |
#_reduce_336(val, _values, result) ⇒ Object
4494 4495 4496 4497 4498 |
# File 'opal/lib/opal/parser/grammar.rb', line 4494 def _reduce_336(val, _values, result) result = val[0] result end |
#_reduce_337(val, _values, result) ⇒ Object
4500 4501 4502 4503 4504 |
# File 'opal/lib/opal/parser/grammar.rb', line 4500 def _reduce_337(val, _values, result) result = new_if(val[0], val[1], val[3], val[4]) result end |
#_reduce_339(val, _values, result) ⇒ Object
reduce 338 omitted
4508 4509 4510 4511 4512 |
# File 'opal/lib/opal/parser/grammar.rb', line 4508 def _reduce_339(val, _values, result) result = val[1] result end |
#_reduce_34(val, _values, result) ⇒ Object
3199 3200 3201 3202 3203 |
# File 'opal/lib/opal/parser/grammar.rb', line 3199 def _reduce_34(val, _values, result) result = s(:masgn, val[0], s(:to_ary, val[2])) result end |
#_reduce_340(val, _values, result) ⇒ Object
4514 4515 4516 4517 4518 |
# File 'opal/lib/opal/parser/grammar.rb', line 4514 def _reduce_340(val, _values, result) result = s(:block, val[0]) result end |
#_reduce_341(val, _values, result) ⇒ Object
4520 4521 4522 4523 4524 4525 |
# File 'opal/lib/opal/parser/grammar.rb', line 4520 def _reduce_341(val, _values, result) val[0] << val[2] result = val[0] result end |
#_reduce_342(val, _values, result) ⇒ Object
4527 4528 4529 4530 4531 4532 |
# File 'opal/lib/opal/parser/grammar.rb', line 4527 def _reduce_342(val, _values, result) result = new_assign(new_assignable(new_ident( val[0])), val[1], val[2]) result end |
#_reduce_344(val, _values, result) ⇒ Object
reduce 343 omitted
4536 4537 4538 4539 4540 |
# File 'opal/lib/opal/parser/grammar.rb', line 4536 def _reduce_344(val, _values, result) result = nil result end |
#_reduce_345(val, _values, result) ⇒ Object
4542 4543 4544 4545 4546 |
# File 'opal/lib/opal/parser/grammar.rb', line 4542 def _reduce_345(val, _values, result) result = nil result end |
#_reduce_346(val, _values, result) ⇒ Object
4548 4549 4550 4551 4552 |
# File 'opal/lib/opal/parser/grammar.rb', line 4548 def _reduce_346(val, _values, result) result = val[1] result end |
#_reduce_347(val, _values, result) ⇒ Object
4554 4555 4556 4557 4558 |
# File 'opal/lib/opal/parser/grammar.rb', line 4554 def _reduce_347(val, _values, result) result = val[0] result end |
#_reduce_348(val, _values, result) ⇒ Object
4560 4561 4562 4563 4564 |
# File 'opal/lib/opal/parser/grammar.rb', line 4560 def _reduce_348(val, _values, result) result = val[1] result end |
#_reduce_349(val, _values, result) ⇒ Object
4566 4567 4568 4569 4570 |
# File 'opal/lib/opal/parser/grammar.rb', line 4566 def _reduce_349(val, _values, result) nil result end |
#_reduce_35(val, _values, result) ⇒ Object
3205 3206 3207 3208 3209 |
# File 'opal/lib/opal/parser/grammar.rb', line 3205 def _reduce_35(val, _values, result) result = s(:masgn, val[0], val[2]) result end |
#_reduce_350(val, _values, result) ⇒ Object
4572 4573 4574 4575 4576 |
# File 'opal/lib/opal/parser/grammar.rb', line 4572 def _reduce_350(val, _values, result) result = new_block_args(val[0], val[2], val[4], val[5]) result end |
#_reduce_351(val, _values, result) ⇒ Object
4578 4579 4580 4581 4582 |
# File 'opal/lib/opal/parser/grammar.rb', line 4578 def _reduce_351(val, _values, result) result = new_block_args(val[0], val[2], nil, val[3]) result end |
#_reduce_352(val, _values, result) ⇒ Object
4584 4585 4586 4587 4588 |
# File 'opal/lib/opal/parser/grammar.rb', line 4584 def _reduce_352(val, _values, result) result = new_block_args(val[0], nil, val[2], val[3]) result end |
#_reduce_353(val, _values, result) ⇒ Object
4590 4591 4592 4593 4594 |
# File 'opal/lib/opal/parser/grammar.rb', line 4590 def _reduce_353(val, _values, result) result = new_block_args(val[0], nil, nil, nil) result end |
#_reduce_354(val, _values, result) ⇒ Object
4596 4597 4598 4599 4600 |
# File 'opal/lib/opal/parser/grammar.rb', line 4596 def _reduce_354(val, _values, result) result = new_block_args(val[0], nil, nil, val[1]) result end |
#_reduce_355(val, _values, result) ⇒ Object
4602 4603 4604 4605 4606 |
# File 'opal/lib/opal/parser/grammar.rb', line 4602 def _reduce_355(val, _values, result) result = new_block_args(nil, val[0], val[2], val[3]) result end |
#_reduce_356(val, _values, result) ⇒ Object
4608 4609 4610 4611 4612 |
# File 'opal/lib/opal/parser/grammar.rb', line 4608 def _reduce_356(val, _values, result) result = new_block_args(nil, val[0], nil, val[1]) result end |
#_reduce_357(val, _values, result) ⇒ Object
4614 4615 4616 4617 4618 |
# File 'opal/lib/opal/parser/grammar.rb', line 4614 def _reduce_357(val, _values, result) result = new_block_args(nil, nil, val[0], val[1]) result end |
#_reduce_358(val, _values, result) ⇒ Object
4620 4621 4622 4623 4624 |
# File 'opal/lib/opal/parser/grammar.rb', line 4620 def _reduce_358(val, _values, result) result = new_block_args(nil, nil, nil, val[0]) result end |
#_reduce_359(val, _values, result) ⇒ Object
4626 4627 4628 4629 4630 4631 |
# File 'opal/lib/opal/parser/grammar.rb', line 4626 def _reduce_359(val, _values, result) push_scope :block result = lexer.line result end |
#_reduce_360(val, _values, result) ⇒ Object
4633 4634 4635 4636 4637 4638 |
# File 'opal/lib/opal/parser/grammar.rb', line 4633 def _reduce_360(val, _values, result) result = new_iter val[2], val[3] pop_scope result end |
#_reduce_361(val, _values, result) ⇒ Object
4640 4641 4642 4643 4644 4645 |
# File 'opal/lib/opal/parser/grammar.rb', line 4640 def _reduce_361(val, _values, result) val[0] << val[1] result = val[0] result end |
#_reduce_364(val, _values, result) ⇒ Object
reduce 363 omitted
4651 4652 4653 4654 4655 |
# File 'opal/lib/opal/parser/grammar.rb', line 4651 def _reduce_364(val, _values, result) result = new_call(nil, val[0], val[1]) result end |
#_reduce_365(val, _values, result) ⇒ Object
4657 4658 4659 4660 4661 |
# File 'opal/lib/opal/parser/grammar.rb', line 4657 def _reduce_365(val, _values, result) result = new_call(val[0], val[2], val[3]) result end |
#_reduce_366(val, _values, result) ⇒ Object
4663 4664 4665 4666 4667 |
# File 'opal/lib/opal/parser/grammar.rb', line 4663 def _reduce_366(val, _values, result) result = new_call(val[0], [:call, []], val[2]) result end |
#_reduce_367(val, _values, result) ⇒ Object
4669 4670 4671 4672 4673 |
# File 'opal/lib/opal/parser/grammar.rb', line 4669 def _reduce_367(val, _values, result) result = new_call(val[0], val[2], val[3]) result end |
#_reduce_368(val, _values, result) ⇒ Object
4675 4676 4677 4678 4679 |
# File 'opal/lib/opal/parser/grammar.rb', line 4675 def _reduce_368(val, _values, result) result = new_call(val[0], val[2]) result end |
#_reduce_369(val, _values, result) ⇒ Object
4681 4682 4683 4684 4685 |
# File 'opal/lib/opal/parser/grammar.rb', line 4681 def _reduce_369(val, _values, result) result = new_super(val[0], val[1]) result end |
#_reduce_370(val, _values, result) ⇒ Object
4687 4688 4689 4690 4691 |
# File 'opal/lib/opal/parser/grammar.rb', line 4687 def _reduce_370(val, _values, result) result = new_super(val[0], nil) result end |
#_reduce_371(val, _values, result) ⇒ Object
4693 4694 4695 4696 4697 4698 |
# File 'opal/lib/opal/parser/grammar.rb', line 4693 def _reduce_371(val, _values, result) push_scope :block result = lexer.line result end |
#_reduce_372(val, _values, result) ⇒ Object
4700 4701 4702 4703 4704 4705 |
# File 'opal/lib/opal/parser/grammar.rb', line 4700 def _reduce_372(val, _values, result) result = new_iter val[2], val[3] pop_scope result end |
#_reduce_373(val, _values, result) ⇒ Object
4707 4708 4709 4710 4711 4712 |
# File 'opal/lib/opal/parser/grammar.rb', line 4707 def _reduce_373(val, _values, result) push_scope :block result = lexer.line result end |
#_reduce_374(val, _values, result) ⇒ Object
4714 4715 4716 4717 4718 4719 |
# File 'opal/lib/opal/parser/grammar.rb', line 4714 def _reduce_374(val, _values, result) result = new_iter val[2], val[3] pop_scope result end |
#_reduce_375(val, _values, result) ⇒ Object
4721 4722 4723 4724 4725 |
# File 'opal/lib/opal/parser/grammar.rb', line 4721 def _reduce_375(val, _values, result) result = lexer.line result end |
#_reduce_376(val, _values, result) ⇒ Object
4727 4728 4729 4730 4731 4732 4733 |
# File 'opal/lib/opal/parser/grammar.rb', line 4727 def _reduce_376(val, _values, result) part = s(:when, s(:array, *val[2]), val[4]) result = [part] result.push(*val[5]) if val[5] result end |
#_reduce_377(val, _values, result) ⇒ Object
4735 4736 4737 4738 4739 |
# File 'opal/lib/opal/parser/grammar.rb', line 4735 def _reduce_377(val, _values, result) result = [val[0]] result end |
#_reduce_379(val, _values, result) ⇒ Object
reduce 378 omitted
4743 4744 4745 4746 4747 4748 4749 4750 |
# File 'opal/lib/opal/parser/grammar.rb', line 4743 def _reduce_379(val, _values, result) exc = val[1] || s(:array) exc << new_assign(val[2], val[2], s(:gvar, '$!'.intern)) if val[2] result = [s(:resbody, exc, val[4])] result.push val[5].first if val[5] result end |
#_reduce_38(val, _values, result) ⇒ Object
reduce 37 omitted
3215 3216 3217 3218 3219 |
# File 'opal/lib/opal/parser/grammar.rb', line 3215 def _reduce_38(val, _values, result) result = s(:and, val[0], val[2]) result end |
#_reduce_380(val, _values, result) ⇒ Object
4752 4753 4754 4755 4756 |
# File 'opal/lib/opal/parser/grammar.rb', line 4752 def _reduce_380(val, _values, result) result = nil result end |
#_reduce_381(val, _values, result) ⇒ Object
4758 4759 4760 4761 4762 |
# File 'opal/lib/opal/parser/grammar.rb', line 4758 def _reduce_381(val, _values, result) result = s(:array, val[0]) result end |
#_reduce_384(val, _values, result) ⇒ Object
reduce 383 omitted
4768 4769 4770 4771 4772 |
# File 'opal/lib/opal/parser/grammar.rb', line 4768 def _reduce_384(val, _values, result) result = val[1] result end |
#_reduce_385(val, _values, result) ⇒ Object
4774 4775 4776 4777 4778 |
# File 'opal/lib/opal/parser/grammar.rb', line 4774 def _reduce_385(val, _values, result) result = nil result end |
#_reduce_386(val, _values, result) ⇒ Object
4780 4781 4782 4783 4784 |
# File 'opal/lib/opal/parser/grammar.rb', line 4780 def _reduce_386(val, _values, result) result = val[1].nil? ? s(:nil) : val[1] result end |
#_reduce_39(val, _values, result) ⇒ Object
3221 3222 3223 3224 3225 |
# File 'opal/lib/opal/parser/grammar.rb', line 3221 def _reduce_39(val, _values, result) result = s(:or, val[0], val[2]) result end |
#_reduce_391(val, _values, result) ⇒ Object
reduce 390 omitted
4794 4795 4796 4797 4798 |
# File 'opal/lib/opal/parser/grammar.rb', line 4794 def _reduce_391(val, _values, result) result = new_str val[0] result end |
#_reduce_393(val, _values, result) ⇒ Object
reduce 392 omitted
4802 4803 4804 4805 4806 |
# File 'opal/lib/opal/parser/grammar.rb', line 4802 def _reduce_393(val, _values, result) result = str_append val[0], val[1] result end |
#_reduce_394(val, _values, result) ⇒ Object
4808 4809 4810 4811 4812 |
# File 'opal/lib/opal/parser/grammar.rb', line 4808 def _reduce_394(val, _values, result) result = val[1] result end |
#_reduce_395(val, _values, result) ⇒ Object
4814 4815 4816 4817 4818 |
# File 'opal/lib/opal/parser/grammar.rb', line 4814 def _reduce_395(val, _values, result) result = s(:str, value(val[0])) result end |
#_reduce_396(val, _values, result) ⇒ Object
4820 4821 4822 4823 4824 |
# File 'opal/lib/opal/parser/grammar.rb', line 4820 def _reduce_396(val, _values, result) result = new_xstr(val[0], val[1], val[2]) result end |
#_reduce_397(val, _values, result) ⇒ Object
4826 4827 4828 4829 4830 |
# File 'opal/lib/opal/parser/grammar.rb', line 4826 def _reduce_397(val, _values, result) result = new_regexp val[1], val[2] result end |
#_reduce_398(val, _values, result) ⇒ Object
4832 4833 4834 4835 4836 |
# File 'opal/lib/opal/parser/grammar.rb', line 4832 def _reduce_398(val, _values, result) result = s(:array) result end |
#_reduce_399(val, _values, result) ⇒ Object
4838 4839 4840 4841 4842 |
# File 'opal/lib/opal/parser/grammar.rb', line 4838 def _reduce_399(val, _values, result) result = val[1] result end |
#_reduce_4(val, _values, result) ⇒ Object
3045 3046 3047 3048 3049 |
# File 'opal/lib/opal/parser/grammar.rb', line 3045 def _reduce_4(val, _values, result) result = new_block val[0] result end |
#_reduce_40(val, _values, result) ⇒ Object
3227 3228 3229 3230 3231 |
# File 'opal/lib/opal/parser/grammar.rb', line 3227 def _reduce_40(val, _values, result) result = new_unary_call(['!', []], val[1]) result end |
#_reduce_400(val, _values, result) ⇒ Object
4844 4845 4846 4847 4848 |
# File 'opal/lib/opal/parser/grammar.rb', line 4844 def _reduce_400(val, _values, result) result = s(:array) result end |
#_reduce_401(val, _values, result) ⇒ Object
4850 4851 4852 4853 4854 4855 4856 |
# File 'opal/lib/opal/parser/grammar.rb', line 4850 def _reduce_401(val, _values, result) part = val[1] part = s(:dstr, "", val[1]) if part.type == :evstr result = val[0] << part result end |
#_reduce_402(val, _values, result) ⇒ Object
4858 4859 4860 4861 4862 |
# File 'opal/lib/opal/parser/grammar.rb', line 4858 def _reduce_402(val, _values, result) result = val[0] result end |
#_reduce_403(val, _values, result) ⇒ Object
4864 4865 4866 4867 4868 |
# File 'opal/lib/opal/parser/grammar.rb', line 4864 def _reduce_403(val, _values, result) result = val[0].concat([val[1]]) result end |
#_reduce_404(val, _values, result) ⇒ Object
4870 4871 4872 4873 4874 |
# File 'opal/lib/opal/parser/grammar.rb', line 4870 def _reduce_404(val, _values, result) result = s(:array) result end |
#_reduce_405(val, _values, result) ⇒ Object
4876 4877 4878 4879 4880 |
# File 'opal/lib/opal/parser/grammar.rb', line 4876 def _reduce_405(val, _values, result) result = val[1] result end |
#_reduce_406(val, _values, result) ⇒ Object
4882 4883 4884 4885 4886 |
# File 'opal/lib/opal/parser/grammar.rb', line 4882 def _reduce_406(val, _values, result) result = s(:array) result end |
#_reduce_407(val, _values, result) ⇒ Object
4888 4889 4890 4891 4892 |
# File 'opal/lib/opal/parser/grammar.rb', line 4888 def _reduce_407(val, _values, result) result = val[0] << s(:str, value(val[1])) result end |
#_reduce_408(val, _values, result) ⇒ Object
4894 4895 4896 4897 4898 |
# File 'opal/lib/opal/parser/grammar.rb', line 4894 def _reduce_408(val, _values, result) result = nil result end |
#_reduce_409(val, _values, result) ⇒ Object
4900 4901 4902 4903 4904 |
# File 'opal/lib/opal/parser/grammar.rb', line 4900 def _reduce_409(val, _values, result) result = str_append val[0], val[1] result end |
#_reduce_41(val, _values, result) ⇒ Object
3233 3234 3235 3236 3237 |
# File 'opal/lib/opal/parser/grammar.rb', line 3233 def _reduce_41(val, _values, result) result = new_unary_call(val[0], val[1]) result end |
#_reduce_410(val, _values, result) ⇒ Object
4906 4907 4908 4909 4910 |
# File 'opal/lib/opal/parser/grammar.rb', line 4906 def _reduce_410(val, _values, result) result = nil result end |
#_reduce_411(val, _values, result) ⇒ Object
4912 4913 4914 4915 4916 |
# File 'opal/lib/opal/parser/grammar.rb', line 4912 def _reduce_411(val, _values, result) result = str_append val[0], val[1] result end |
#_reduce_412(val, _values, result) ⇒ Object
4918 4919 4920 4921 4922 |
# File 'opal/lib/opal/parser/grammar.rb', line 4918 def _reduce_412(val, _values, result) result = new_str_content(val[0]) result end |
#_reduce_413(val, _values, result) ⇒ Object
4924 4925 4926 4927 4928 4929 |
# File 'opal/lib/opal/parser/grammar.rb', line 4924 def _reduce_413(val, _values, result) result = lexer.strterm lexer.strterm = nil result end |
#_reduce_414(val, _values, result) ⇒ Object
4931 4932 4933 4934 4935 4936 |
# File 'opal/lib/opal/parser/grammar.rb', line 4931 def _reduce_414(val, _values, result) lexer.strterm = val[1] result = new_evstr(val[2]) result end |
#_reduce_415(val, _values, result) ⇒ Object
4938 4939 4940 4941 4942 4943 4944 4945 4946 |
# File 'opal/lib/opal/parser/grammar.rb', line 4938 def _reduce_415(val, _values, result) lexer.cond_push 0 lexer.cmdarg_push 0 result = lexer.strterm lexer.strterm = nil lexer.lex_state = :expr_beg result end |
#_reduce_416(val, _values, result) ⇒ Object
4948 4949 4950 4951 4952 4953 4954 4955 |
# File 'opal/lib/opal/parser/grammar.rb', line 4948 def _reduce_416(val, _values, result) lexer.strterm = val[1] lexer.cond_lexpop lexer.cmdarg_lexpop result = new_evstr(val[2]) result end |
#_reduce_417(val, _values, result) ⇒ Object
4957 4958 4959 4960 4961 |
# File 'opal/lib/opal/parser/grammar.rb', line 4957 def _reduce_417(val, _values, result) result = new_gvar(val[0]) result end |
#_reduce_418(val, _values, result) ⇒ Object
4963 4964 4965 4966 4967 |
# File 'opal/lib/opal/parser/grammar.rb', line 4963 def _reduce_418(val, _values, result) result = new_ivar(val[0]) result end |
#_reduce_419(val, _values, result) ⇒ Object
4969 4970 4971 4972 4973 |
# File 'opal/lib/opal/parser/grammar.rb', line 4969 def _reduce_419(val, _values, result) result = new_cvar(val[0]) result end |
#_reduce_421(val, _values, result) ⇒ Object
reduce 420 omitted
4977 4978 4979 4980 4981 4982 |
# File 'opal/lib/opal/parser/grammar.rb', line 4977 def _reduce_421(val, _values, result) result = new_sym(val[1]) lexer.lex_state = :expr_end result end |
#_reduce_422(val, _values, result) ⇒ Object
4984 4985 4986 4987 4988 |
# File 'opal/lib/opal/parser/grammar.rb', line 4984 def _reduce_422(val, _values, result) result = new_sym(val[0]) result end |
#_reduce_427(val, _values, result) ⇒ Object
reduce 426 omitted
4998 4999 5000 5001 5002 |
# File 'opal/lib/opal/parser/grammar.rb', line 4998 def _reduce_427(val, _values, result) result = new_dsym val[1] result end |
#_reduce_428(val, _values, result) ⇒ Object
5004 5005 5006 5007 5008 |
# File 'opal/lib/opal/parser/grammar.rb', line 5004 def _reduce_428(val, _values, result) result = new_int(val[0]) result end |
#_reduce_429(val, _values, result) ⇒ Object
5010 5011 5012 5013 5014 |
# File 'opal/lib/opal/parser/grammar.rb', line 5010 def _reduce_429(val, _values, result) result = new_float(val[0]) result end |
#_reduce_430(val, _values, result) ⇒ Object
5016 5017 5018 5019 5020 |
# File 'opal/lib/opal/parser/grammar.rb', line 5016 def _reduce_430(val, _values, result) result = negate_num(new_int(val[1])) result end |
#_reduce_431(val, _values, result) ⇒ Object
5022 5023 5024 5025 5026 |
# File 'opal/lib/opal/parser/grammar.rb', line 5022 def _reduce_431(val, _values, result) result = negate_num(new_float(val[1])) result end |
#_reduce_432(val, _values, result) ⇒ Object
5028 5029 5030 5031 5032 |
# File 'opal/lib/opal/parser/grammar.rb', line 5028 def _reduce_432(val, _values, result) result = new_int(val[1]) result end |
#_reduce_433(val, _values, result) ⇒ Object
5034 5035 5036 5037 5038 |
# File 'opal/lib/opal/parser/grammar.rb', line 5034 def _reduce_433(val, _values, result) result = new_float(val[1]) result end |
#_reduce_434(val, _values, result) ⇒ Object
5040 5041 5042 5043 5044 |
# File 'opal/lib/opal/parser/grammar.rb', line 5040 def _reduce_434(val, _values, result) result = new_ident(val[0]) result end |
#_reduce_435(val, _values, result) ⇒ Object
5046 5047 5048 5049 5050 |
# File 'opal/lib/opal/parser/grammar.rb', line 5046 def _reduce_435(val, _values, result) result = new_ivar(val[0]) result end |
#_reduce_436(val, _values, result) ⇒ Object
5052 5053 5054 5055 5056 |
# File 'opal/lib/opal/parser/grammar.rb', line 5052 def _reduce_436(val, _values, result) result = new_gvar(val[0]) result end |
#_reduce_437(val, _values, result) ⇒ Object
5058 5059 5060 5061 5062 |
# File 'opal/lib/opal/parser/grammar.rb', line 5058 def _reduce_437(val, _values, result) result = new_const(val[0]) result end |
#_reduce_438(val, _values, result) ⇒ Object
5064 5065 5066 5067 5068 |
# File 'opal/lib/opal/parser/grammar.rb', line 5064 def _reduce_438(val, _values, result) result = new_cvar(val[0]) result end |
#_reduce_439(val, _values, result) ⇒ Object
5070 5071 5072 5073 5074 |
# File 'opal/lib/opal/parser/grammar.rb', line 5070 def _reduce_439(val, _values, result) result = new_nil(val[0]) result end |
#_reduce_440(val, _values, result) ⇒ Object
5076 5077 5078 5079 5080 |
# File 'opal/lib/opal/parser/grammar.rb', line 5076 def _reduce_440(val, _values, result) result = new_self(val[0]) result end |
#_reduce_441(val, _values, result) ⇒ Object
5082 5083 5084 5085 5086 |
# File 'opal/lib/opal/parser/grammar.rb', line 5082 def _reduce_441(val, _values, result) result = new_true(val[0]) result end |
#_reduce_442(val, _values, result) ⇒ Object
5088 5089 5090 5091 5092 |
# File 'opal/lib/opal/parser/grammar.rb', line 5088 def _reduce_442(val, _values, result) result = new_false(val[0]) result end |
#_reduce_443(val, _values, result) ⇒ Object
5094 5095 5096 5097 5098 |
# File 'opal/lib/opal/parser/grammar.rb', line 5094 def _reduce_443(val, _values, result) result = new___FILE__(val[0]) result end |
#_reduce_444(val, _values, result) ⇒ Object
5100 5101 5102 5103 5104 |
# File 'opal/lib/opal/parser/grammar.rb', line 5100 def _reduce_444(val, _values, result) result = new___LINE__(val[0]) result end |
#_reduce_445(val, _values, result) ⇒ Object
5106 5107 5108 5109 5110 |
# File 'opal/lib/opal/parser/grammar.rb', line 5106 def _reduce_445(val, _values, result) result = new_var_ref(val[0]) result end |
#_reduce_446(val, _values, result) ⇒ Object
5112 5113 5114 5115 5116 |
# File 'opal/lib/opal/parser/grammar.rb', line 5112 def _reduce_446(val, _values, result) result = new_assignable val[0] result end |
#_reduce_447(val, _values, result) ⇒ Object
5118 5119 5120 5121 5122 |
# File 'opal/lib/opal/parser/grammar.rb', line 5118 def _reduce_447(val, _values, result) result = s(:nth_ref, value(val[0])) result end |
#_reduce_449(val, _values, result) ⇒ Object
reduce 448 omitted
5126 5127 5128 5129 5130 |
# File 'opal/lib/opal/parser/grammar.rb', line 5126 def _reduce_449(val, _values, result) result = nil result end |
#_reduce_450(val, _values, result) ⇒ Object
5132 5133 5134 5135 5136 |
# File 'opal/lib/opal/parser/grammar.rb', line 5132 def _reduce_450(val, _values, result) result = val[1] result end |
#_reduce_451(val, _values, result) ⇒ Object
5138 5139 5140 5141 5142 |
# File 'opal/lib/opal/parser/grammar.rb', line 5138 def _reduce_451(val, _values, result) result = nil result end |
#_reduce_452(val, _values, result) ⇒ Object
5144 5145 5146 5147 5148 5149 |
# File 'opal/lib/opal/parser/grammar.rb', line 5144 def _reduce_452(val, _values, result) result = val[1] lexer.lex_state = :expr_beg result end |
#_reduce_453(val, _values, result) ⇒ Object
5151 5152 5153 5154 5155 |
# File 'opal/lib/opal/parser/grammar.rb', line 5151 def _reduce_453(val, _values, result) result = val[0] result end |
#_reduce_456(val, _values, result) ⇒ Object
reduce 455 omitted
5161 5162 5163 5164 5165 |
# File 'opal/lib/opal/parser/grammar.rb', line 5161 def _reduce_456(val, _values, result) result = new_kwrestarg(val[1]) result end |
#_reduce_457(val, _values, result) ⇒ Object
5167 5168 5169 5170 5171 |
# File 'opal/lib/opal/parser/grammar.rb', line 5167 def _reduce_457(val, _values, result) result = new_kwrestarg() result end |
#_reduce_458(val, _values, result) ⇒ Object
5173 5174 5175 5176 5177 |
# File 'opal/lib/opal/parser/grammar.rb', line 5173 def _reduce_458(val, _values, result) result = new_sym(val[0]) result end |
#_reduce_459(val, _values, result) ⇒ Object
5179 5180 5181 5182 5183 |
# File 'opal/lib/opal/parser/grammar.rb', line 5179 def _reduce_459(val, _values, result) result = new_kwoptarg(val[0], val[1]) result end |
#_reduce_46(val, _values, result) ⇒ Object
reduce 45 omitted
3247 3248 3249 3250 3251 |
# File 'opal/lib/opal/parser/grammar.rb', line 3247 def _reduce_46(val, _values, result) result = new_return(val[0], val[1]) result end |
#_reduce_460(val, _values, result) ⇒ Object
5185 5186 5187 5188 5189 |
# File 'opal/lib/opal/parser/grammar.rb', line 5185 def _reduce_460(val, _values, result) result = new_kwarg(val[0]) result end |
#_reduce_461(val, _values, result) ⇒ Object
5191 5192 5193 5194 5195 |
# File 'opal/lib/opal/parser/grammar.rb', line 5191 def _reduce_461(val, _values, result) result = [val[0]] result end |
#_reduce_462(val, _values, result) ⇒ Object
5197 5198 5199 5200 5201 5202 |
# File 'opal/lib/opal/parser/grammar.rb', line 5197 def _reduce_462(val, _values, result) result = val[0] result << val[2] result end |
#_reduce_463(val, _values, result) ⇒ Object
5204 5205 5206 5207 5208 |
# File 'opal/lib/opal/parser/grammar.rb', line 5204 def _reduce_463(val, _values, result) result = new_args_tail(val[0], val[2], val[3]) result end |
#_reduce_464(val, _values, result) ⇒ Object
5210 5211 5212 5213 5214 |
# File 'opal/lib/opal/parser/grammar.rb', line 5210 def _reduce_464(val, _values, result) result = new_args_tail(val[0], nil, val[1]) result end |
#_reduce_465(val, _values, result) ⇒ Object
5216 5217 5218 5219 5220 |
# File 'opal/lib/opal/parser/grammar.rb', line 5216 def _reduce_465(val, _values, result) result = new_args_tail(nil, val[0], val[1]) result end |
#_reduce_466(val, _values, result) ⇒ Object
5222 5223 5224 5225 5226 |
# File 'opal/lib/opal/parser/grammar.rb', line 5222 def _reduce_466(val, _values, result) result = new_args_tail(nil, nil, val[0]) result end |
#_reduce_467(val, _values, result) ⇒ Object
5228 5229 5230 5231 5232 |
# File 'opal/lib/opal/parser/grammar.rb', line 5228 def _reduce_467(val, _values, result) result = val[1] result end |
#_reduce_468(val, _values, result) ⇒ Object
5234 5235 5236 5237 5238 |
# File 'opal/lib/opal/parser/grammar.rb', line 5234 def _reduce_468(val, _values, result) result = new_args_tail(nil, nil, nil) result end |
#_reduce_469(val, _values, result) ⇒ Object
5240 5241 5242 5243 5244 |
# File 'opal/lib/opal/parser/grammar.rb', line 5240 def _reduce_469(val, _values, result) result = new_args(val[0], val[2], val[4], val[5]) result end |
#_reduce_47(val, _values, result) ⇒ Object
3253 3254 3255 3256 3257 |
# File 'opal/lib/opal/parser/grammar.rb', line 3253 def _reduce_47(val, _values, result) result = new_break(val[0], val[1]) result end |
#_reduce_470(val, _values, result) ⇒ Object
5246 5247 5248 5249 5250 |
# File 'opal/lib/opal/parser/grammar.rb', line 5246 def _reduce_470(val, _values, result) result = new_args(val[0], val[2], nil, val[3]) result end |
#_reduce_471(val, _values, result) ⇒ Object
5252 5253 5254 5255 5256 |
# File 'opal/lib/opal/parser/grammar.rb', line 5252 def _reduce_471(val, _values, result) result = new_args(val[0], nil, val[2], val[3]) result end |
#_reduce_472(val, _values, result) ⇒ Object
5258 5259 5260 5261 5262 |
# File 'opal/lib/opal/parser/grammar.rb', line 5258 def _reduce_472(val, _values, result) result = new_args(val[0], nil, nil, val[1]) result end |
#_reduce_473(val, _values, result) ⇒ Object
5264 5265 5266 5267 5268 |
# File 'opal/lib/opal/parser/grammar.rb', line 5264 def _reduce_473(val, _values, result) result = new_args(nil, val[0], val[2], val[3]) result end |
#_reduce_474(val, _values, result) ⇒ Object
5270 5271 5272 5273 5274 |
# File 'opal/lib/opal/parser/grammar.rb', line 5270 def _reduce_474(val, _values, result) result = new_args(nil, val[0], nil, val[1]) result end |
#_reduce_475(val, _values, result) ⇒ Object
5276 5277 5278 5279 5280 |
# File 'opal/lib/opal/parser/grammar.rb', line 5276 def _reduce_475(val, _values, result) result = new_args(nil, nil, val[0], val[1]) result end |
#_reduce_476(val, _values, result) ⇒ Object
5282 5283 5284 5285 5286 |
# File 'opal/lib/opal/parser/grammar.rb', line 5282 def _reduce_476(val, _values, result) result = new_args(nil, nil, nil, val[0]) result end |
#_reduce_477(val, _values, result) ⇒ Object
5288 5289 5290 5291 5292 |
# File 'opal/lib/opal/parser/grammar.rb', line 5288 def _reduce_477(val, _values, result) result = new_args(nil, nil, nil, nil) result end |
#_reduce_479(val, _values, result) ⇒ Object
reduce 478 omitted
5296 5297 5298 5299 5300 5301 |
# File 'opal/lib/opal/parser/grammar.rb', line 5296 def _reduce_479(val, _values, result) result = value(val[0]).to_sym scope.add_local result result end |
#_reduce_48(val, _values, result) ⇒ Object
3259 3260 3261 3262 3263 |
# File 'opal/lib/opal/parser/grammar.rb', line 3259 def _reduce_48(val, _values, result) result = new_next(val[0], val[1]) result end |
#_reduce_480(val, _values, result) ⇒ Object
5303 5304 5305 5306 5307 |
# File 'opal/lib/opal/parser/grammar.rb', line 5303 def _reduce_480(val, _values, result) raise 'formal argument cannot be a constant' result end |
#_reduce_481(val, _values, result) ⇒ Object
5309 5310 5311 5312 5313 |
# File 'opal/lib/opal/parser/grammar.rb', line 5309 def _reduce_481(val, _values, result) raise 'formal argument cannot be an instance variable' result end |
#_reduce_482(val, _values, result) ⇒ Object
5315 5316 5317 5318 5319 |
# File 'opal/lib/opal/parser/grammar.rb', line 5315 def _reduce_482(val, _values, result) raise 'formal argument cannot be a class variable' result end |
#_reduce_483(val, _values, result) ⇒ Object
5321 5322 5323 5324 5325 |
# File 'opal/lib/opal/parser/grammar.rb', line 5321 def _reduce_483(val, _values, result) raise 'formal argument cannot be a global variable' result end |
#_reduce_484(val, _values, result) ⇒ Object
5327 5328 5329 5330 5331 |
# File 'opal/lib/opal/parser/grammar.rb', line 5327 def _reduce_484(val, _values, result) result = val[0] result end |
#_reduce_485(val, _values, result) ⇒ Object
5333 5334 5335 5336 5337 |
# File 'opal/lib/opal/parser/grammar.rb', line 5333 def _reduce_485(val, _values, result) result = val[1] result end |
#_reduce_488(val, _values, result) ⇒ Object
reduce 487 omitted
5343 5344 5345 5346 5347 |
# File 'opal/lib/opal/parser/grammar.rb', line 5343 def _reduce_488(val, _values, result) result = s(:lasgn, val[0]) result end |
#_reduce_490(val, _values, result) ⇒ Object
reduce 489 omitted
5351 5352 5353 5354 5355 |
# File 'opal/lib/opal/parser/grammar.rb', line 5351 def _reduce_490(val, _values, result) result = s(:array, val[0]) result end |
#_reduce_491(val, _values, result) ⇒ Object
5357 5358 5359 5360 5361 5362 |
# File 'opal/lib/opal/parser/grammar.rb', line 5357 def _reduce_491(val, _values, result) val[0] << val[2] result = val[0] result end |
#_reduce_497(val, _values, result) ⇒ Object
reduce 496 omitted
5374 5375 5376 5377 5378 |
# File 'opal/lib/opal/parser/grammar.rb', line 5374 def _reduce_497(val, _values, result) result = [val[0]] result end |
#_reduce_498(val, _values, result) ⇒ Object
5380 5381 5382 5383 5384 5385 |
# File 'opal/lib/opal/parser/grammar.rb', line 5380 def _reduce_498(val, _values, result) val[0] << val[2] result = val[0] result end |
#_reduce_499(val, _values, result) ⇒ Object
5387 5388 5389 5390 5391 |
# File 'opal/lib/opal/parser/grammar.rb', line 5387 def _reduce_499(val, _values, result) result = new_assign(new_assignable(new_ident(val[0])), val[1], val[2]) result end |
#_reduce_5(val, _values, result) ⇒ Object
3051 3052 3053 3054 3055 3056 |
# File 'opal/lib/opal/parser/grammar.rb', line 3051 def _reduce_5(val, _values, result) val[0] << val[2] result = val[0] result end |
#_reduce_500(val, _values, result) ⇒ Object
5393 5394 5395 5396 5397 |
# File 'opal/lib/opal/parser/grammar.rb', line 5393 def _reduce_500(val, _values, result) result = s(:block, val[0]) result end |
#_reduce_501(val, _values, result) ⇒ Object
5399 5400 5401 5402 5403 5404 |
# File 'opal/lib/opal/parser/grammar.rb', line 5399 def _reduce_501(val, _values, result) result = val[0] val[0] << val[2] result end |
#_reduce_504(val, _values, result) ⇒ Object
reduce 503 omitted
5410 5411 5412 5413 5414 |
# File 'opal/lib/opal/parser/grammar.rb', line 5410 def _reduce_504(val, _values, result) result = "*#{value(val[1])}".to_sym result end |
#_reduce_505(val, _values, result) ⇒ Object
5416 5417 5418 5419 5420 |
# File 'opal/lib/opal/parser/grammar.rb', line 5416 def _reduce_505(val, _values, result) result = :*" result end |
#_reduce_508(val, _values, result) ⇒ Object
reduce 507 omitted
5426 5427 5428 5429 5430 |
# File 'opal/lib/opal/parser/grammar.rb', line 5426 def _reduce_508(val, _values, result) result = "&#{value(val[1])}".to_sym result end |
#_reduce_509(val, _values, result) ⇒ Object
5432 5433 5434 5435 5436 |
# File 'opal/lib/opal/parser/grammar.rb', line 5432 def _reduce_509(val, _values, result) result = val[1] result end |
#_reduce_510(val, _values, result) ⇒ Object
5438 5439 5440 5441 5442 |
# File 'opal/lib/opal/parser/grammar.rb', line 5438 def _reduce_510(val, _values, result) result = nil result end |
#_reduce_511(val, _values, result) ⇒ Object
5444 5445 5446 5447 5448 |
# File 'opal/lib/opal/parser/grammar.rb', line 5444 def _reduce_511(val, _values, result) result = val[0] result end |
#_reduce_512(val, _values, result) ⇒ Object
5450 5451 5452 5453 5454 |
# File 'opal/lib/opal/parser/grammar.rb', line 5450 def _reduce_512(val, _values, result) result = val[1] result end |
#_reduce_513(val, _values, result) ⇒ Object
5456 5457 5458 5459 5460 |
# File 'opal/lib/opal/parser/grammar.rb', line 5456 def _reduce_513(val, _values, result) result = [] result end |
#_reduce_514(val, _values, result) ⇒ Object
5462 5463 5464 5465 5466 |
# File 'opal/lib/opal/parser/grammar.rb', line 5462 def _reduce_514(val, _values, result) result = val[0] result end |
#_reduce_515(val, _values, result) ⇒ Object
5468 5469 5470 5471 5472 |
# File 'opal/lib/opal/parser/grammar.rb', line 5468 def _reduce_515(val, _values, result) result = val[0] result end |
#_reduce_516(val, _values, result) ⇒ Object
5474 5475 5476 5477 5478 |
# File 'opal/lib/opal/parser/grammar.rb', line 5474 def _reduce_516(val, _values, result) result = val[0].push(*val[2]) result end |
#_reduce_517(val, _values, result) ⇒ Object
5480 5481 5482 5483 5484 |
# File 'opal/lib/opal/parser/grammar.rb', line 5480 def _reduce_517(val, _values, result) result = [val[0], val[2]] result end |
#_reduce_518(val, _values, result) ⇒ Object
5486 5487 5488 5489 5490 |
# File 'opal/lib/opal/parser/grammar.rb', line 5486 def _reduce_518(val, _values, result) result = [new_sym(val[0]), val[1]] result end |
#_reduce_53(val, _values, result) ⇒ Object
reduce 52 omitted
3273 3274 3275 3276 3277 |
# File 'opal/lib/opal/parser/grammar.rb', line 3273 def _reduce_53(val, _values, result) result = new_call(nil, val[0], val[1]) result end |
#_reduce_542(val, _values, result) ⇒ Object
reduce 541 omitted
5538 5539 5540 5541 5542 |
# File 'opal/lib/opal/parser/grammar.rb', line 5538 def _reduce_542(val, _values, result) result = nil result end |
#_reduce_55(val, _values, result) ⇒ Object
reduce 54 omitted
3281 3282 3283 3284 3285 |
# File 'opal/lib/opal/parser/grammar.rb', line 3281 def _reduce_55(val, _values, result) result = new_call(val[0], val[2], val[3]) result end |
#_reduce_57(val, _values, result) ⇒ Object
reduce 56 omitted
3289 3290 3291 3292 3293 |
# File 'opal/lib/opal/parser/grammar.rb', line 3289 def _reduce_57(val, _values, result) result = new_call(val[0], val[2], val[3]) result end |
#_reduce_59(val, _values, result) ⇒ Object
reduce 58 omitted
3297 3298 3299 3300 3301 |
# File 'opal/lib/opal/parser/grammar.rb', line 3297 def _reduce_59(val, _values, result) result = new_super(val[0], val[1]) result end |
#_reduce_60(val, _values, result) ⇒ Object
3303 3304 3305 3306 3307 |
# File 'opal/lib/opal/parser/grammar.rb', line 3303 def _reduce_60(val, _values, result) result = new_yield val[1] result end |
#_reduce_61(val, _values, result) ⇒ Object
3309 3310 3311 3312 3313 |
# File 'opal/lib/opal/parser/grammar.rb', line 3309 def _reduce_61(val, _values, result) result = val[0] result end |
#_reduce_62(val, _values, result) ⇒ Object
3315 3316 3317 3318 3319 |
# File 'opal/lib/opal/parser/grammar.rb', line 3315 def _reduce_62(val, _values, result) result = val[1] result end |
#_reduce_63(val, _values, result) ⇒ Object
3321 3322 3323 3324 3325 |
# File 'opal/lib/opal/parser/grammar.rb', line 3321 def _reduce_63(val, _values, result) result = val[0] result end |
#_reduce_64(val, _values, result) ⇒ Object
3327 3328 3329 3330 3331 |
# File 'opal/lib/opal/parser/grammar.rb', line 3327 def _reduce_64(val, _values, result) result = val[1] result end |
#_reduce_65(val, _values, result) ⇒ Object
3333 3334 3335 3336 3337 |
# File 'opal/lib/opal/parser/grammar.rb', line 3333 def _reduce_65(val, _values, result) result = val[0] result end |
#_reduce_66(val, _values, result) ⇒ Object
3339 3340 3341 3342 3343 |
# File 'opal/lib/opal/parser/grammar.rb', line 3339 def _reduce_66(val, _values, result) result = val[0] << val[1] result end |
#_reduce_67(val, _values, result) ⇒ Object
3345 3346 3347 3348 3349 |
# File 'opal/lib/opal/parser/grammar.rb', line 3345 def _reduce_67(val, _values, result) result = val[0] << s(:splat, val[2]) result end |
#_reduce_69(val, _values, result) ⇒ Object
reduce 68 omitted
3353 3354 3355 3356 3357 |
# File 'opal/lib/opal/parser/grammar.rb', line 3353 def _reduce_69(val, _values, result) result = val[0] << s(:splat) result end |
#_reduce_7(val, _values, result) ⇒ Object
reduce 6 omitted
3060 3061 3062 3063 3064 |
# File 'opal/lib/opal/parser/grammar.rb', line 3060 def _reduce_7(val, _values, result) result = val[2] result end |
#_reduce_71(val, _values, result) ⇒ Object
reduce 70 omitted
3361 3362 3363 3364 3365 |
# File 'opal/lib/opal/parser/grammar.rb', line 3361 def _reduce_71(val, _values, result) result = s(:array, s(:splat, val[1])) result end |
#_reduce_72(val, _values, result) ⇒ Object
3367 3368 3369 3370 3371 |
# File 'opal/lib/opal/parser/grammar.rb', line 3367 def _reduce_72(val, _values, result) result = s(:array, s(:splat)) result end |
#_reduce_74(val, _values, result) ⇒ Object
reduce 73 omitted
3375 3376 3377 3378 3379 |
# File 'opal/lib/opal/parser/grammar.rb', line 3375 def _reduce_74(val, _values, result) result = val[0] result end |
#_reduce_75(val, _values, result) ⇒ Object
3381 3382 3383 3384 3385 |
# File 'opal/lib/opal/parser/grammar.rb', line 3381 def _reduce_75(val, _values, result) result = val[1] result end |
#_reduce_76(val, _values, result) ⇒ Object
3387 3388 3389 3390 3391 |
# File 'opal/lib/opal/parser/grammar.rb', line 3387 def _reduce_76(val, _values, result) result = s(:array, val[0]) result end |
#_reduce_77(val, _values, result) ⇒ Object
3393 3394 3395 3396 3397 |
# File 'opal/lib/opal/parser/grammar.rb', line 3393 def _reduce_77(val, _values, result) result = val[0] << val[1] result end |
#_reduce_8(val, _values, result) ⇒ Object
3066 3067 3068 3069 3070 |
# File 'opal/lib/opal/parser/grammar.rb', line 3066 def _reduce_8(val, _values, result) result = new_body(val[0], val[1], val[2], val[3]) result end |
#_reduce_80(val, _values, result) ⇒ Object
reduce 79 omitted
3403 3404 3405 3406 3407 |
# File 'opal/lib/opal/parser/grammar.rb', line 3403 def _reduce_80(val, _values, result) result = new_assignable val[0] result end |
#_reduce_81(val, _values, result) ⇒ Object
3409 3410 3411 3412 3413 3414 |
# File 'opal/lib/opal/parser/grammar.rb', line 3409 def _reduce_81(val, _values, result) args = val[2] ? val[2] : [] result = s(:attrasgn, val[0], :[]=, s(:arglist, *args)) result end |
#_reduce_82(val, _values, result) ⇒ Object
3416 3417 3418 3419 3420 |
# File 'opal/lib/opal/parser/grammar.rb', line 3416 def _reduce_82(val, _values, result) result = new_call val[0], val[2], [] result end |
#_reduce_88(val, _values, result) ⇒ Object
reduce 87 omitted
3432 3433 3434 3435 3436 |
# File 'opal/lib/opal/parser/grammar.rb', line 3432 def _reduce_88(val, _values, result) result = new_assignable val[0] result end |
#_reduce_89(val, _values, result) ⇒ Object
3438 3439 3440 3441 3442 |
# File 'opal/lib/opal/parser/grammar.rb', line 3438 def _reduce_89(val, _values, result) result = new_attrasgn(val[0], :[]=, val[2]) result end |
#_reduce_9(val, _values, result) ⇒ Object
3072 3073 3074 3075 3076 |
# File 'opal/lib/opal/parser/grammar.rb', line 3072 def _reduce_9(val, _values, result) result = new_compstmt val[0] result end |
#_reduce_90(val, _values, result) ⇒ Object
3444 3445 3446 3447 3448 |
# File 'opal/lib/opal/parser/grammar.rb', line 3444 def _reduce_90(val, _values, result) result = new_attrasgn(val[0], op_to_setter(val[2])) result end |
#_reduce_91(val, _values, result) ⇒ Object
3450 3451 3452 3453 3454 |
# File 'opal/lib/opal/parser/grammar.rb', line 3450 def _reduce_91(val, _values, result) result = new_attrasgn(val[0], op_to_setter(val[2])) result end |
#_reduce_92(val, _values, result) ⇒ Object
3456 3457 3458 3459 3460 |
# File 'opal/lib/opal/parser/grammar.rb', line 3456 def _reduce_92(val, _values, result) result = new_attrasgn(val[0], op_to_setter(val[2])) result end |
#_reduce_93(val, _values, result) ⇒ Object
3462 3463 3464 3465 3466 |
# File 'opal/lib/opal/parser/grammar.rb', line 3462 def _reduce_93(val, _values, result) result = new_colon2(val[0], val[1], val[2]) result end |
#_reduce_94(val, _values, result) ⇒ Object
3468 3469 3470 3471 3472 |
# File 'opal/lib/opal/parser/grammar.rb', line 3468 def _reduce_94(val, _values, result) result = new_colon3(val[0], val[1]) result end |
#_reduce_97(val, _values, result) ⇒ Object
reduce 96 omitted
3478 3479 3480 3481 3482 |
# File 'opal/lib/opal/parser/grammar.rb', line 3478 def _reduce_97(val, _values, result) result = new_colon3(val[0], val[1]) result end |
#_reduce_98(val, _values, result) ⇒ Object
3484 3485 3486 3487 3488 |
# File 'opal/lib/opal/parser/grammar.rb', line 3484 def _reduce_98(val, _values, result) result = new_const(val[0]) result end |
#_reduce_99(val, _values, result) ⇒ Object
3490 3491 3492 3493 3494 |
# File 'opal/lib/opal/parser/grammar.rb', line 3490 def _reduce_99(val, _values, result) result = new_colon2(val[0], val[1], val[2]) result end |
#_reduce_none(val, _values, result) ⇒ Object
5544 5545 5546 |
# File 'opal/lib/opal/parser/grammar.rb', line 5544 def _reduce_none(val, _values, result) val[0] end |
#add_block_pass(arglist, block) ⇒ Object
490 491 492 493 |
# File 'opal/lib/opal/parser.rb', line 490 def add_block_pass(arglist, block) arglist << block if block arglist end |
#negate_num(sexp) ⇒ Object
485 486 487 488 |
# File 'opal/lib/opal/parser.rb', line 485 def negate_num(sexp) sexp.array[1] = -sexp.array[1] sexp end |
#new___FILE__(tok) ⇒ Object
120 121 122 |
# File 'opal/lib/opal/parser.rb', line 120 def new___FILE__(tok) s1(:str, self.file, source(tok)) end |
#new___LINE__(tok) ⇒ Object
124 125 126 |
# File 'opal/lib/opal/parser.rb', line 124 def new___LINE__(tok) s1(:int, lexer.line, source(tok)) end |
#new_alias(kw, new, old) ⇒ Object
170 171 172 173 174 |
# File 'opal/lib/opal/parser.rb', line 170 def new_alias(kw, new, old) sexp = s(:alias, new, old) sexp.source = source(kw) sexp end |
#new_and(lhs, tok, rhs) ⇒ Object
461 462 463 464 465 |
# File 'opal/lib/opal/parser.rb', line 461 def new_and(lhs, tok, rhs) sexp = s(:and, lhs, rhs) sexp.source = source(tok) sexp end |
#new_args(norm, opt, rest, tail) ⇒ Object
333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 |
# File 'opal/lib/opal/parser.rb', line 333 def new_args(norm, opt, rest, tail) res = s(:args) if norm norm.each do |arg| scope.add_local arg res << s(:arg, arg) end end if opt opt[1..-1].each do |_opt| res << s(:optarg, _opt[1], _opt[2]) end end if rest restname = rest.to_s[1..-1] if restname.empty? res << s(:restarg) else res << s(:restarg, restname.to_sym) scope.add_local restname.to_sym end end # kwarg if tail and tail[0] tail[0].each do |kwarg| res << kwarg end end # kwrestarg if tail and tail[1] res << tail[1] end # block if tail and tail[2] blockname = tail[2].to_s[1..-1].to_sym scope.add_local blockname res << s(:blockarg, blockname) end res end |
#new_args_tail(kwarg, kwrest, block) ⇒ Object
329 330 331 |
# File 'opal/lib/opal/parser.rb', line 329 def new_args_tail(kwarg, kwrest, block) [kwarg, kwrest, block] end |
#new_array(start, args, finish) ⇒ Object
304 305 306 307 308 309 |
# File 'opal/lib/opal/parser.rb', line 304 def new_array(start, args, finish) args ||= [] sexp = s(:array, *args) sexp.source = source(start) sexp end |
#new_assign(lhs, tok, rhs) ⇒ Object
537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 |
# File 'opal/lib/opal/parser.rb', line 537 def new_assign(lhs, tok, rhs) case lhs.type when :iasgn, :cdecl, :lasgn, :gasgn, :cvdecl, :nth_ref lhs << rhs lhs when :call, :attrasgn lhs.last << rhs lhs when :colon2 lhs << rhs lhs.type = :casgn lhs when :colon3 lhs << rhs lhs.type = :casgn3 lhs else raise "Bad lhs for new_assign: #{lhs.type}" end end |
#new_assignable(ref) ⇒ Object
558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 |
# File 'opal/lib/opal/parser.rb', line 558 def new_assignable(ref) case ref.type when :ivar ref.type = :iasgn when :const ref.type = :cdecl when :identifier scope.add_local ref[1] unless scope.has_local? ref[1] ref.type = :lasgn when :gvar ref.type = :gasgn when :cvar ref.type = :cvdecl else raise SyntaxError, "Bad new_assignable type: #{ref.type}" end ref end |
#new_attrasgn(recv, op, args = []) ⇒ Object
531 532 533 534 535 |
# File 'opal/lib/opal/parser.rb', line 531 def new_attrasgn(recv, op, args=[]) arglist = s(:arglist, *args) sexp = s(:attrasgn, recv, op, arglist) sexp end |
#new_binary_call(recv, meth, arg) ⇒ Object
453 454 455 |
# File 'opal/lib/opal/parser.rb', line 453 def new_binary_call(recv, meth, arg) new_call(recv, meth, [arg]) end |
#new_block(stmt = nil) ⇒ Object
210 211 212 213 214 |
# File 'opal/lib/opal/parser.rb', line 210 def new_block(stmt = nil) sexp = s(:block) sexp << stmt if stmt sexp end |
#new_block_args(norm, opt, rest, block) ⇒ Object
403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 |
# File 'opal/lib/opal/parser.rb', line 403 def new_block_args(norm, opt, rest, block) res = s(:array) if norm norm.each do |arg| if arg.is_a? Symbol scope.add_local arg res << s(:lasgn, arg) else res << arg end end end if opt opt[1..-1].each do |_opt| res << s(:lasgn, _opt[1]) end end if rest r = rest.to_s[1..-1].to_sym res << new_splat(nil, s(:lasgn, r)) scope.add_local r end if block b = block.to_s[1..-1].to_sym res << s(:block_pass, s(:lasgn, b)) scope.add_local b end res << opt if opt args = res.size == 2 && norm ? res[1] : s(:masgn, res) if args.type == :array s(:masgn, args) else args end end |
#new_block_pass(amper_tok, val) ⇒ Object
495 496 497 |
# File 'opal/lib/opal/parser.rb', line 495 def new_block_pass(amper_tok, val) s1(:block_pass, val, source(amper_tok)) end |
#new_body(compstmt, res, els, ens) ⇒ Object
234 235 236 237 238 239 240 241 242 243 244 |
# File 'opal/lib/opal/parser.rb', line 234 def new_body(compstmt, res, els, ens) s = compstmt || s(:block) if res s = s(:rescue, s) res.each { |r| s << r } s << els if els end ens ? s(:ensure, s, ens) : s end |
#new_break(kw, args = nil) ⇒ Object
176 177 178 179 180 181 182 183 184 185 186 |
# File 'opal/lib/opal/parser.rb', line 176 def new_break(kw, args=nil) if args.nil? sexp = s(:break) elsif args.length == 1 sexp = s(:break, args[0]) else sexp = s(:break, s(:array, *args)) end sexp end |
#new_call(recv, meth, args = nil) ⇒ Object
446 447 448 449 450 451 |
# File 'opal/lib/opal/parser.rb', line 446 def new_call(recv, meth, args = nil) args ||= [] sexp = s(:call, recv, value(meth).to_sym, s(:arglist, *args)) sexp.source = source(meth) sexp end |
#new_class(start, path, sup, body, endt) ⇒ Object
255 256 257 258 259 |
# File 'opal/lib/opal/parser.rb', line 255 def new_class(start, path, sup, body, endt) sexp = s(:class, path, sup, body) sexp.source = source(start) sexp end |
#new_colon2(lhs, tok, name) ⇒ Object
156 157 158 159 160 |
# File 'opal/lib/opal/parser.rb', line 156 def new_colon2(lhs, tok, name) sexp = s(:colon2, lhs, value(name).to_sym) sexp.source = source(tok) sexp end |
#new_colon3(tok, name) ⇒ Object
162 163 164 |
# File 'opal/lib/opal/parser.rb', line 162 def new_colon3(tok, name) s1(:colon3, value(name).to_sym, source(name)) end |
#new_compstmt(block) ⇒ Object
216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 |
# File 'opal/lib/opal/parser.rb', line 216 def new_compstmt(block) comp = if block.size == 1 nil elsif block.size == 2 block[1] else block end if comp && comp.type == :begin && comp.size == 2 result = comp[1] else result = comp end result end |
#new_const(tok) ⇒ Object
152 153 154 |
# File 'opal/lib/opal/parser.rb', line 152 def new_const(tok) s1(:const, value(tok).to_sym, source(tok)) end |
#new_cvar(tok) ⇒ Object
148 149 150 |
# File 'opal/lib/opal/parser.rb', line 148 def new_cvar(tok) s1(:cvar, value(tok).to_sym, source(tok)) end |
#new_def(kw, recv, name, args, body, end_tok) ⇒ Object
246 247 248 249 250 251 252 253 |
# File 'opal/lib/opal/parser.rb', line 246 def new_def(kw, recv, name, args, body, end_tok) body = s(:block, body) if body.type != :block body << s(:nil) if body.size == 1 sexp = s(:def, recv, value(name).to_sym, args, body) sexp.source = source(kw) sexp end |
#new_dsym(str) ⇒ Object
655 656 657 658 659 660 661 662 663 664 665 666 667 668 |
# File 'opal/lib/opal/parser.rb', line 655 def new_dsym(str) return s(:sym, :") unless str case str.type when :str str.type = :sym str[1] = str[1].to_sym when :dstr str.type = :dsym when :evstr str = s(:dsym, str) end str end |
#new_erange(beg, op, finish) ⇒ Object
479 480 481 482 483 |
# File 'opal/lib/opal/parser.rb', line 479 def new_erange(beg, op, finish) sexp = s(:erange, beg, finish) sexp.source = source(op) sexp end |
#new_evstr(str) ⇒ Object
670 671 672 |
# File 'opal/lib/opal/parser.rb', line 670 def new_evstr(str) s(:evstr, str) end |
#new_false(tok) ⇒ Object
116 117 118 |
# File 'opal/lib/opal/parser.rb', line 116 def new_false(tok) s0(:false, source(tok)) end |
#new_float(tok) ⇒ Object
136 137 138 |
# File 'opal/lib/opal/parser.rb', line 136 def new_float(tok) s1(:float, value(tok), source(tok)) end |
#new_gettable(ref) ⇒ Object
578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 |
# File 'opal/lib/opal/parser.rb', line 578 def new_gettable(ref) res = case ref.type when :lasgn s(:lvar, ref[1]) when :iasgn s(:ivar, ref[1]) when :gasgn s(:gvar, ref[1]) when :cvdecl s(:cvar, ref[1]) when :cdecl s(:const, ref[1]) else raise "Bad new_gettable ref: #{ref.type}" end res.source = ref.source res end |
#new_gvar(tok) ⇒ Object
144 145 146 |
# File 'opal/lib/opal/parser.rb', line 144 def new_gvar(tok) s1(:gvar, value(tok).to_sym, source(tok)) end |
#new_hash(open, assocs, close) ⇒ Object
311 312 313 314 315 |
# File 'opal/lib/opal/parser.rb', line 311 def new_hash(open, assocs, close) sexp = s(:hash, *assocs) sexp.source = source(open) sexp end |
#new_ident(tok) ⇒ Object
128 129 130 |
# File 'opal/lib/opal/parser.rb', line 128 def new_ident(tok) s1(:identifier, value(tok).to_sym, source(tok)) end |
#new_if(if_tok, expr, stmt, tail) ⇒ Object
280 281 282 283 284 |
# File 'opal/lib/opal/parser.rb', line 280 def new_if(if_tok, expr, stmt, tail) sexp = s(:if, expr, stmt, tail) sexp.source = source(if_tok) sexp end |
#new_int(tok) ⇒ Object
132 133 134 |
# File 'opal/lib/opal/parser.rb', line 132 def new_int(tok) s1(:int, value(tok), source(tok)) end |
#new_irange(beg, op, finish) ⇒ Object
473 474 475 476 477 |
# File 'opal/lib/opal/parser.rb', line 473 def new_irange(beg, op, finish) sexp = s(:irange, beg, finish) sexp.source = source(op) sexp end |
#new_iter(args, body) ⇒ Object
273 274 275 276 277 278 |
# File 'opal/lib/opal/parser.rb', line 273 def new_iter(args, body) args ||= nil s = s(:iter, args) s << body if body s end |
#new_ivar(tok) ⇒ Object
140 141 142 |
# File 'opal/lib/opal/parser.rb', line 140 def new_ivar(tok) s1(:ivar, value(tok).to_sym, source(tok)) end |
#new_kwarg(name) ⇒ Object
382 383 384 385 |
# File 'opal/lib/opal/parser.rb', line 382 def new_kwarg(name) scope.add_local name[1] s(:kwarg, name[1]) end |
#new_kwoptarg(name, val) ⇒ Object
387 388 389 390 |
# File 'opal/lib/opal/parser.rb', line 387 def new_kwoptarg(name, val) scope.add_local name[1] s(:kwoptarg, name[1], val) end |
#new_kwrestarg(name = nil) ⇒ Object
392 393 394 395 396 397 398 399 400 401 |
# File 'opal/lib/opal/parser.rb', line 392 def new_kwrestarg(name = nil) result = s(:kwrestarg) if name scope.add_local name[0].to_sym result << name[0].to_sym end result end |
#new_module(kw, path, body, end_tok) ⇒ Object
267 268 269 270 271 |
# File 'opal/lib/opal/parser.rb', line 267 def new_module(kw, path, body, end_tok) sexp = s(:module, path, body) sexp.source = source(kw) sexp end |
#new_next(kw, args = []) ⇒ Object
200 201 202 203 204 205 206 207 208 |
# File 'opal/lib/opal/parser.rb', line 200 def new_next(kw, args=[]) if args.length == 1 sexp = s(:next, args[0]) else sexp = s(:next, s(:array, *args)) end sexp end |
#new_nil(tok) ⇒ Object
104 105 106 |
# File 'opal/lib/opal/parser.rb', line 104 def new_nil(tok) s0(:nil, source(tok)) end |
#new_not(kw, expr) ⇒ Object
317 318 319 |
# File 'opal/lib/opal/parser.rb', line 317 def new_not(kw, expr) s1(:not, expr, source(kw)) end |
#new_op_asgn(op, lhs, rhs) ⇒ Object
503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 |
# File 'opal/lib/opal/parser.rb', line 503 def new_op_asgn(op, lhs, rhs) case value(op).to_sym when :||" result = s(:op_asgn_or, new_gettable(lhs)) result << (lhs << rhs) when :&&" result = s(:op_asgn_and, new_gettable(lhs)) result << (lhs << rhs) else result = lhs result << new_call(new_gettable(lhs), op, [rhs]) end result end |
#new_op_asgn1(lhs, args, op, rhs) ⇒ Object
520 521 522 523 524 525 |
# File 'opal/lib/opal/parser.rb', line 520 def new_op_asgn1(lhs, args, op, rhs) arglist = s(:arglist, *args) sexp = s(:op_asgn1, lhs, arglist, value(op), rhs) sexp.source = source(op) sexp end |
#new_or(lhs, tok, rhs) ⇒ Object
467 468 469 470 471 |
# File 'opal/lib/opal/parser.rb', line 467 def new_or(lhs, tok, rhs) sexp = s(:or, lhs, rhs) sexp.source = source(tok) sexp end |
#new_paren(open, expr, close) ⇒ Object
321 322 323 324 325 326 327 |
# File 'opal/lib/opal/parser.rb', line 321 def new_paren(open, expr, close) if expr.nil? or expr == [:block] s1(:paren, s0(:nil, source(open)), source(open)) else s1(:paren, expr, source(open)) end end |
#new_regexp(reg, ending) ⇒ Object
692 693 694 695 696 697 698 699 700 701 702 703 |
# File 'opal/lib/opal/parser.rb', line 692 def new_regexp(reg, ending) return s(:regexp, '') unless reg case reg.type when :str s(:regexp, reg[1], value(ending)) when :evstr s(:dregx, "", reg) when :dstr reg.type = :dregx reg end end |
#new_rescue_mod(kw, expr, resc) ⇒ Object
298 299 300 301 302 |
# File 'opal/lib/opal/parser.rb', line 298 def new_rescue_mod(kw, expr, resc) sexp = s(:rescue_mod, expr, resc) sexp.source = source(kw) sexp end |
#new_return(kw, args = nil) ⇒ Object
188 189 190 191 192 193 194 195 196 197 198 |
# File 'opal/lib/opal/parser.rb', line 188 def new_return(kw, args=nil) if args.nil? sexp = s(:return) elsif args.length == 1 sexp = s(:return, args[0]) else sexp = s(:return, s(:array, *args)) end sexp end |
#new_sclass(kw, expr, body, end_tok) ⇒ Object
261 262 263 264 265 |
# File 'opal/lib/opal/parser.rb', line 261 def new_sclass(kw, expr, body, end_tok) sexp = s(:sclass, expr, body) sexp.source = source(kw) sexp end |
#new_self(tok) ⇒ Object
108 109 110 |
# File 'opal/lib/opal/parser.rb', line 108 def new_self(tok) s0(:self, source(tok)) end |
#new_splat(tok, value) ⇒ Object
499 500 501 |
# File 'opal/lib/opal/parser.rb', line 499 def new_splat(tok, value) s1(:splat, value, source(tok)) end |
#new_str(str) ⇒ Object
674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 |
# File 'opal/lib/opal/parser.rb', line 674 def new_str(str) # cover empty strings return s(:str, "") unless str # catch s(:str, "", other_str) if str.size == 3 and str[1] == "" and str.type == :str return str[2] # catch s(:str, "content", more_content) elsif str.type == :str && str.size > 3 str.type = :dstr str # top level evstr should be a dstr elsif str.type == :evstr s(:dstr, "", str) else str end end |
#new_str_content(tok) ⇒ Object
720 721 722 |
# File 'opal/lib/opal/parser.rb', line 720 def new_str_content(tok) s1(:str, value(tok), source(tok)) end |
#new_super(kw, args) ⇒ Object
626 627 628 629 630 631 632 633 634 635 |
# File 'opal/lib/opal/parser.rb', line 626 def new_super(kw, args) if args.nil? sexp = s(:super, nil) else sexp = s(:super, s(:arglist, *args)) end sexp.source = source(kw) sexp end |
#new_sym(tok) ⇒ Object
166 167 168 |
# File 'opal/lib/opal/parser.rb', line 166 def new_sym(tok) s1(:sym, value(tok).to_sym, source(tok)) end |
#new_true(tok) ⇒ Object
112 113 114 |
# File 'opal/lib/opal/parser.rb', line 112 def new_true(tok) s0(:true, source(tok)) end |
#new_unary_call(op, recv) ⇒ Object
457 458 459 |
# File 'opal/lib/opal/parser.rb', line 457 def new_unary_call(op, recv) new_call(recv, op, []) end |
#new_until(kw, test, body) ⇒ Object
292 293 294 295 296 |
# File 'opal/lib/opal/parser.rb', line 292 def new_until(kw, test, body) sexp = s(:until, test, body) sexp.source = source(kw) sexp end |
#new_var_ref(ref) ⇒ Object
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 |
# File 'opal/lib/opal/parser.rb', line 598 def new_var_ref(ref) case ref.type when :self, :nil, :true, :false, :line, :file ref when :const ref when :ivar, :gvar, :cvar ref when :int # this is when we passed __LINE__ which is converted into :int ref when :str # returns for __FILE__ as it is converted into str ref when :identifier result = if scope.has_local? ref[1] s(:lvar, ref[1]) else s(:call, nil, ref[1], s(:arglist)) end result.source = ref.source result else raise "Bad var_ref type: #{ref.type}" end end |
#new_while(kw, test, body) ⇒ Object
286 287 288 289 290 |
# File 'opal/lib/opal/parser.rb', line 286 def new_while(kw, test, body) sexp = s(:while, test, body) sexp.source = source(kw) sexp end |
#new_xstr(start_t, str, end_t) ⇒ Object
642 643 644 645 646 647 648 649 650 651 652 653 |
# File 'opal/lib/opal/parser.rb', line 642 def new_xstr(start_t, str, end_t) return s(:xstr, '') unless str case str.type when :str then str.type = :xstr when :dstr then str.type = :dxstr when :evstr then str = s(:dxstr, '', str) end str.source = source(start_t) str end |
#new_yield(args) ⇒ Object
637 638 639 640 |
# File 'opal/lib/opal/parser.rb', line 637 def new_yield(args) args ||= [] s(:yield, *args) end |
#next_token ⇒ Object
59 60 61 |
# File 'opal/lib/opal/parser.rb', line 59 def next_token @lexer.next_token end |
#on_error(t, val, vstack) ⇒ Object
80 81 82 |
# File 'opal/lib/opal/parser.rb', line 80 def on_error(t, val, vstack) raise "parse error on value #{value(val).inspect} (#{token_to_str(t) || '?'}) :#{@file}:#{lexer.line}" end |
#op_to_setter(op) ⇒ Object
527 528 529 |
# File 'opal/lib/opal/parser.rb', line 527 def op_to_setter(op) "#{value(op)}=".to_sym end |
#parse(source, file = '(string)') ⇒ Opal::Sexp
Parse the given ruby source. An optional file can be given which is used
for file context for some ruby expressions (e.g. __FILE__
).
If the given ruby code is not valid ruby, then an error will be raised.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'opal/lib/opal/parser.rb', line 32 def parse(source, file = '(string)') @file = file @scopes = [] @lexer = Lexer.new(source, file) @lexer.parser = self self.parse_to_sexp rescue => error = [ nil, error., "Source: #{@file}:#{lexer.line}:#{lexer.column}", source.split("\n")[lexer.line-1], '~'*(lexer.column-1) + '^', ].join("\n") raise error.class, end |
#parse_to_sexp ⇒ Object
51 52 53 54 55 56 57 |
# File 'opal/lib/opal/parser.rb', line 51 def parse_to_sexp push_scope result = do_parse pop_scope result end |
#pop_scope ⇒ Object
75 76 77 78 |
# File 'opal/lib/opal/parser.rb', line 75 def pop_scope @scopes.pop @scope = @scopes.last end |
#push_scope(type = nil) ⇒ Object
67 68 69 70 71 72 73 |
# File 'opal/lib/opal/parser.rb', line 67 def push_scope(type = nil) top = @scopes.last scope = ParserScope.new type scope.parent = top @scopes << scope @scope = scope end |
#s(*parts) ⇒ Object
63 64 65 |
# File 'opal/lib/opal/parser.rb', line 63 def s(*parts) Sexp.new(parts) end |
#s0(type, source) ⇒ Object
92 93 94 95 96 |
# File 'opal/lib/opal/parser.rb', line 92 def s0(type, source) sexp = s(type) sexp.source = source sexp end |
#s1(type, first, source) ⇒ Object
98 99 100 101 102 |
# File 'opal/lib/opal/parser.rb', line 98 def s1(type, first, source) sexp = s(type, first) sexp.source = source sexp end |
#source(tok) ⇒ Object
88 89 90 |
# File 'opal/lib/opal/parser.rb', line 88 def source(tok) tok ? tok[1] : nil end |
#str_append(str, str2) ⇒ Object
705 706 707 708 709 710 711 712 713 714 715 716 717 718 |
# File 'opal/lib/opal/parser.rb', line 705 def str_append(str, str2) return str2 unless str return str unless str2 if str.type == :evstr str = s(:dstr, "", str) elsif str.type == :str str = s(:dstr, str[1]) else #puts str.type end str << str2 str end |
#value(tok) ⇒ Object
84 85 86 |
# File 'opal/lib/opal/parser.rb', line 84 def value(tok) tok[0] end |