This is a documented list of events from Ruby's Ripper parser.
They can be handled in subclasses of Ripper, using `on_*` methods
of varying arity. (View this page's source code.)
Coverage: 30 / 183 (16%)
:BEGIN
:CHAR
:END
:__end__
:alias
:alias_error
:aref
:aref_field
:arg_ambiguous
:arg_paren
:args_add
:args_add_block
:args_add_star
:args_new
:array
:assign
:assign_error
:assoc_new
:assoc_splat
:assoclist_from_args
:backref
:backtick
:bare_assoc_hash
:begin
:binary
:block_var
:block_var_add_block
:block_var_add_star
:blockarg
:bodystmt
:brace_block
:break
:call
:case
:class
:class_name_error
:comma
:command
:command_call
:comment
:const
:const_path_field
:const_path_ref
:const_ref
:cvar
:def
:defined
:defs
:do_block
:dot2
:dot3
:dyna_symbol
:else
:elsif
:embdoc
:embdoc_beg
:embdoc_end
:embexpr_beg
:embexpr_end
:embvar
:ensure
:excessed_comma
:fcall
:field
:float
:for
:gvar
:hash
:heredoc_beg
:heredoc_dedent
:heredoc_end
:ident
:if
:if_mod
:ifop
:ignored_nl
:imaginary
:int
:ivar
:kw
:label
:label_end
:lambda
:lbrace
:lbracket
:lparen
:magic_comment
:massign
:method_add_arg
:method_add_block
:mlhs_add
:mlhs_add_star
:mlhs_new
:mlhs_paren
:module
:mrhs_add
:mrhs_add_star
:mrhs_new
:mrhs_new_from_args
:next
:nl
:op
:opassign
:operator_ambiguous
:param_error
:params
:paren
:parse_error
:period
:program
:qsymbols_add
:qsymbols_beg
:qsymbols_new
:qwords_add
:qwords_beg
:qwords_new
:rational
:rbrace
:rbracket
:redo
:regexp_add
:regexp_beg
:regexp_end
:regexp_literal
:regexp_new
:rescue
:rescue_mod
:rest_param
:retry
:return
:return0
:rparen
:sclass
:semicolon
:sp
:stmts_add
:stmts_new
:string_add
:string_concat
:string_content
:string_dvar
:string_embexpr
:string_literal
:super
:symbeg
:symbol
:symbol_literal
:symbols_add
:symbols_beg
:symbols_new
:tlambda
:tlambeg
:top_const_field
:top_const_ref
:tstring_beg
:tstring_content
:tstring_end
:unary
:undef
:unless
:unless_mod
:until
:until_mod
:var_alias
:var_field
:var_ref
:vcall
:void_stmt
:when
:while
:while_mod
:word_add
:word_new
:words_add
:words_beg
:words_new
:words_sep
:xstring_add
:xstring_literal
:xstring_new
:yield
:yield0
:zsuper
#
on_BEGIN(block)
(:BEGIN,
in Ripper::PARSER_EVENTS)
Adds a global initialization hook, always with curly braces.
Ripper.sexp_raw("BEGIN { do_stuff }")
# [:program,
# [:stmts_add,
# [:stmts_new],
# [:BEGIN,
# [:stmts_add,
# [:stmts_new],
# [:vcall,
# [:@ident, "do_stuff", [1, 8]]]]]]]
#
on_CHAR(string, position)
(:CHAR,
in Ripper::SCANNER_EVENTS)
#
on_END(block)
(:END,
in Ripper::PARSER_EVENTS)
Adds a global shutdown hook, always with curly braces
Ripper.sexp_raw("END { do_stuff }")
# [:program,
# [:stmts_add,
# [:stmts_new],
# [:END,
# [:stmts_add,
# [:stmts_new],
# [:vcall,
# [:@ident, "do_stuff", [1, 6]]]]]]]