each(&block)
click to toggle source
def each(&block)
@callback = block
parse
end
on_backref(tok, data)
click to toggle source
def on_backref(tok, data)
@lex_state = EXPR_END
on_variables(__method__, tok, data)
end
on_comma(tok, data)
click to toggle source
def on_comma(tok, data)
@lex_state = EXPR_BEG | EXPR_LABEL if (EXPR_ARG_ANY & @lex_state) != 0
@callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_const(tok, data)
click to toggle source
def on_const(tok, data)
case @lex_state
when EXPR_FNAME
@lex_state = EXPR_ENDFN
when EXPR_CLASS
@lex_state = EXPR_ARG
else
@lex_state = EXPR_CMDARG
end
@callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_cvar(tok, data)
click to toggle source
def on_cvar(tok, data)
@lex_state = EXPR_END
on_variables(__method__, tok, data)
end
on_default(event, tok, data)
click to toggle source
def on_default(event, tok, data)
reset
@callback.call({ :line_no => lineno, :char_no => column, :kind => event, :text => tok, :state => @lex_state})
end
on_gvar(tok, data)
click to toggle source
def on_gvar(tok, data)
@lex_state = EXPR_END
on_variables(__method__, tok, data)
end
on_heredoc_end(tok, data)
click to toggle source
def on_heredoc_end(tok, data)
@callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
@lex_state = EXPR_BEG
end
on_ident(tok, data)
click to toggle source
def on_ident(tok, data)
on_variables(__method__, tok, data)
end
on_ignored_sp(tok, data)
click to toggle source
def on_ignored_sp(tok, data)
@lex_state = EXPR_BEG unless (EXPR_LABEL & @lex_state) != 0
@callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_ivar(tok, data)
click to toggle source
def on_ivar(tok, data)
@lex_state = EXPR_END
on_variables(__method__, tok, data)
end
on_lbrace(tok, data)
click to toggle source
def on_lbrace(tok, data)
@lex_state = EXPR_LABEL | EXPR_BEG
@callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_lbracket(tok, data)
click to toggle source
def on_lbracket(tok, data)
@lex_state = EXPR_LABEL | EXPR_BEG
@callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_lparen(tok, data)
click to toggle source
def on_lparen(tok, data)
@lex_state = EXPR_LABEL | EXPR_BEG
@callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_rbrace(tok, data)
click to toggle source
def on_rbrace(tok, data)
@lex_state = EXPR_ENDARG
@callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_rbracket(tok, data)
click to toggle source
def on_rbracket(tok, data)
@lex_state = EXPR_ENDARG
@callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_rparen(tok, data)
click to toggle source
def on_rparen(tok, data)
@lex_state = EXPR_ENDFN
@callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end
on_sp(tok, data)
click to toggle source
def on_sp(tok, data)
@callback.call({ :line_no => lineno, :char_no => column, :kind => __method__, :text => tok, :state => @lex_state})
end