This class handles only scanner events, which are dispatched in the ‘right’ order (same with input).
Methods
Class Public methods
new(src, filename = '-', lineno = 1) Link
Creates a new Ripper::Filter
instance, passes parameters src
, filename
, and lineno
to Ripper::Lexer.new
The lexer is for internal use only.
Instance Public methods
column() Link
The column number of the current token. This value starts from 0. This method is valid only in event handlers.
filename() Link
The file name of the input.
lineno() Link
The line number of the current token. This value starts from 1. This method is valid only in event handlers.
parse(init = nil) Link
Starts the parser. init
is a data accumulator and is passed to the next event handler (as of Enumerable#inject
).
# File ruby/ext/ripper/lib/ripper/filter.rb, line 59 def parse(init = nil) data = init @__lexer.lex.each do |pos, event, tok, state| @__line, @__col = *pos @__state = state data = if respond_to?(event, true) then __send__(event, tok, data) else on_default(event, tok, data) end end data end