# # This file is automatically generated from ripper.rb.in and parse.y. # DO NOT MODIFY!!!!!! # # # ripper.rb # # Copyright (C) 2003,2004 Minero Aoki # require 'ripper.so' class Ripper # Parses Ruby program read from _src_. # _src_ must be a String or a IO or a object which has #gets method. def Ripper.parse(src, filename = '(ripper)', lineno = 1) new(src, filename, lineno).parse end # This table contains name of parser events and its arity. PARSER_EVENT_TABLE = { :BEGIN => 1, :END => 1, :alias => 2, :alias_error => 1, :aref => 2, :aref_field => 2, :arg_ambiguous => 0, :arg_paren => 1, :arglist_add => 2, :arglist_add_block => 2, :arglist_add_star => 2, :arglist_new => 0, :arglist_prepend => 2, :array => 1, :assign => 2, :assign_error => 1, :assoc_new => 2, :assoclist_from_args => 1, :bare_assoc_hash => 1, :begin => 1, :binary => 3, :blockvar_add_block => 2, :blockvar_add_star => 2, :blockvar_new => 1, :bodystmt => 4, :brace_block => 2, :break => 1, :call => 3, :case => 2, :class => 3, :class_name_error => 1, :command => 2, :command_call => 4, :const_ref => 1, :constpath_field => 2, :constpath_ref => 2, :def => 3, :defined => 1, :defs => 5, :do_block => 2, :dot2 => 2, :dot3 => 2, :dyna_symbol => 1, :else => 1, :elsif => 3, :ensure => 1, :fcall => 1, :field => 3, :for => 3, :hash => 1, :if => 3, :if_mod => 2, :ifop => 3, :iter_block => 2, :massign => 2, :method_add_arg => 2, :mlhs_add => 2, :mlhs_add_star => 2, :mlhs_new => 0, :mlhs_paren => 1, :module => 2, :mrhs_add => 2, :mrhs_add_star => 2, :mrhs_new => 0, :mrhs_new_from_arglist => 1, :next => 1, :opassign => 3, :param_error => 1, :params => 4, :paren => 1, :parse_error => 1, :program => 1, :qwords_add => 2, :qwords_new => 0, :redo => 0, :regexp_literal => 1, :rescue => 4, :rescue_mod => 2, :restparam => 1, :retry => 0, :return => 1, :return0 => 0, :sclass => 2, :space => 1, :stmts_add => 2, :stmts_new => 0, :string_add => 2, :string_concat => 2, :string_content => 0, :string_dvar => 1, :string_embexpr => 1, :string_literal => 1, :super => 1, :symbol => 1, :symbol_literal => 1, :topconst_field => 1, :topconst_ref => 1, :unary => 2, :undef => 1, :unless => 3, :unless_mod => 2, :until => 2, :until_mod => 2, :var_alias => 2, :var_field => 1, :var_ref => 1, :void_stmt => 0, :when => 3, :while => 2, :while_mod => 2, :word_add => 2, :word_new => 0, :words_add => 2, :words_new => 0, :xstring_add => 2, :xstring_literal => 1, :xstring_new => 0, :yield => 1, :yield0 => 0, :zsuper => 0 } # This array contains name of parser events. PARSER_EVENTS = PARSER_EVENT_TABLE.keys # This table contains name of scanner events and its arity # (arity is always 1 for all scanner events). # on__scan is NOT a scanner event. SCANNER_EVENT_TABLE = { :CHAR => 1, :__end__ => 1, :backref => 1, :backtick => 1, :comma => 1, :comment => 1, :const => 1, :cvar => 1, :embdoc => 1, :embdoc_beg => 1, :embdoc_end => 1, :embexpr_beg => 1, :embexpr_end => 1, :embvar => 1, :float => 1, :gvar => 1, :heredoc_beg => 1, :heredoc_end => 1, :ident => 1, :ignored_nl => 1, :int => 1, :ivar => 1, :kw => 1, :lbrace => 1, :lbracket => 1, :lparen => 1, :nl => 1, :op => 1, :period => 1, :qwords_beg => 1, :rbrace => 1, :rbracket => 1, :regexp_beg => 1, :regexp_end => 1, :rparen => 1, :semicolon => 1, :sp => 1, :symbeg => 1, :tstring_beg => 1, :tstring_content => 1, :tstring_end => 1, :words_beg => 1, :words_sep => 1 } # This array contains name of scanner events. SCANNER_EVENTS = SCANNER_EVENT_TABLE.keys # This table contains name of all ripper events, except on__scan. EVENTS = PARSER_EVENTS + SCANNER_EVENTS ### ### ### Event Handlers ### ### ### private def warn(fmt, *args) end def warning(fmt, *args) end def compile_error(msg) end # # Parser Events # def on__BEGIN(a) a end def on__END(a) a end def on__alias(a, b) a end def on__alias_error(a) a end def on__aref(a, b) a end def on__aref_field(a, b) a end def on__arg_ambiguous nil end def on__arg_paren(a) a end def on__arglist_add(a, b) a end def on__arglist_add_block(a, b) a end def on__arglist_add_star(a, b) a end def on__arglist_new nil end def on__arglist_prepend(a, b) a end def on__array(a) a end def on__assign(a, b) a end def on__assign_error(a) a end def on__assoc_new(a, b) a end def on__assoclist_from_args(a) a end def on__bare_assoc_hash(a) a end def on__begin(a) a end def on__binary(a, b, c) a end def on__blockvar_add_block(a, b) a end def on__blockvar_add_star(a, b) a end def on__blockvar_new(a) a end def on__bodystmt(a, b, c, d) a end def on__brace_block(a, b) a end def on__break(a) a end def on__call(a, b, c) a end def on__case(a, b) a end def on__class(a, b, c) a end def on__class_name_error(a) a end def on__command(a, b) a end def on__command_call(a, b, c, d) a end def on__const_ref(a) a end def on__constpath_field(a, b) a end def on__constpath_ref(a, b) a end def on__def(a, b, c) a end def on__defined(a) a end def on__defs(a, b, c, d, e) a end def on__do_block(a, b) a end def on__dot2(a, b) a end def on__dot3(a, b) a end def on__dyna_symbol(a) a end def on__else(a) a end def on__elsif(a, b, c) a end def on__ensure(a) a end def on__fcall(a) a end def on__field(a, b, c) a end def on__for(a, b, c) a end def on__hash(a) a end def on__if(a, b, c) a end def on__if_mod(a, b) a end def on__ifop(a, b, c) a end def on__iter_block(a, b) a end def on__massign(a, b) a end def on__method_add_arg(a, b) a end def on__mlhs_add(a, b) a end def on__mlhs_add_star(a, b) a end def on__mlhs_new nil end def on__mlhs_paren(a) a end def on__module(a, b) a end def on__mrhs_add(a, b) a end def on__mrhs_add_star(a, b) a end def on__mrhs_new nil end def on__mrhs_new_from_arglist(a) a end def on__next(a) a end def on__opassign(a, b, c) a end def on__param_error(a) a end def on__params(a, b, c, d) a end def on__paren(a) a end def on__parse_error(a) a end def on__program(a) a end def on__qwords_add(a, b) a end def on__qwords_new nil end def on__redo nil end def on__regexp_literal(a) a end def on__rescue(a, b, c, d) a end def on__rescue_mod(a, b) a end def on__restparam(a) a end def on__retry nil end def on__return(a) a end def on__return0 nil end def on__sclass(a, b) a end def on__space(a) a end def on__stmts_add(a, b) a end def on__stmts_new nil end def on__string_add(a, b) a end def on__string_concat(a, b) a end def on__string_content nil end def on__string_dvar(a) a end def on__string_embexpr(a) a end def on__string_literal(a) a end def on__super(a) a end def on__symbol(a) a end def on__symbol_literal(a) a end def on__topconst_field(a) a end def on__topconst_ref(a) a end def on__unary(a, b) a end def on__undef(a) a end def on__unless(a, b, c) a end def on__unless_mod(a, b) a end def on__until(a, b) a end def on__until_mod(a, b) a end def on__var_alias(a, b) a end def on__var_field(a) a end def on__var_ref(a) a end def on__void_stmt nil end def on__when(a, b, c) a end def on__while(a, b) a end def on__while_mod(a, b) a end def on__word_add(a, b) a end def on__word_new nil end def on__words_add(a, b) a end def on__words_new nil end def on__xstring_add(a, b) a end def on__xstring_literal(a) a end def on__xstring_new nil end def on__yield(a) a end def on__yield0 nil end def on__zsuper nil end # # Lexer Events # def on__scan(event, token) end def on__CHAR(token) token end def on____end__(token) token end def on__backref(token) token end def on__backtick(token) token end def on__comma(token) token end def on__comment(token) token end def on__const(token) token end def on__cvar(token) token end def on__embdoc(token) token end def on__embdoc_beg(token) token end def on__embdoc_end(token) token end def on__embexpr_beg(token) token end def on__embexpr_end(token) token end def on__embvar(token) token end def on__float(token) token end def on__gvar(token) token end def on__heredoc_beg(token) token end def on__heredoc_end(token) token end def on__ident(token) token end def on__ignored_nl(token) token end def on__int(token) token end def on__ivar(token) token end def on__kw(token) token end def on__lbrace(token) token end def on__lbracket(token) token end def on__lparen(token) token end def on__nl(token) token end def on__op(token) token end def on__period(token) token end def on__qwords_beg(token) token end def on__rbrace(token) token end def on__rbracket(token) token end def on__regexp_beg(token) token end def on__regexp_end(token) token end def on__rparen(token) token end def on__semicolon(token) token end def on__sp(token) token end def on__symbeg(token) token end def on__tstring_beg(token) token end def on__tstring_content(token) token end def on__tstring_end(token) token end def on__words_beg(token) token end def on__words_sep(token) token end end