зеркало из https://github.com/github/ruby.git
* ext/ripper/lib/ripper/lexer.rb: last Lexer fix was incomplete; test all green.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
6a24d7ed9b
Коммит
889ca023e3
|
@ -1,3 +1,8 @@
|
|||
Fri Feb 4 18:44:35 2005 Minero Aoki <aamine@loveruby.net>
|
||||
|
||||
* ext/ripper/lib/ripper/lexer.rb: last Lexer fix was incomplete;
|
||||
test all green.
|
||||
|
||||
Fri Feb 4 14:33:25 2005 Minero Aoki <aamine@loveruby.net>
|
||||
|
||||
* ext/ripper/lib/ripper/filter.rb: ripper/tokenizer ->
|
||||
|
|
|
@ -41,19 +41,23 @@ class Ripper
|
|||
|
||||
class Lexer < ::Ripper #:nodoc: internal use only
|
||||
def tokenize
|
||||
parse().map {|pos, event, tok| tok }
|
||||
lex().map {|pos, event, tok| tok }
|
||||
end
|
||||
|
||||
def lex
|
||||
parse().sort_by {|pos, event, tok| pos }
|
||||
end
|
||||
|
||||
def parse
|
||||
@buf = []
|
||||
parse
|
||||
@buf.sort_by {|pos, event, tok| pos }
|
||||
super
|
||||
@buf
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
SCANNER_EVENTS.each do |event|
|
||||
module_eval(<<-End)
|
||||
module_eval(<<-End, __FILE__+'/module_eval', __LINE__ + 1)
|
||||
def on_#{event}(tok)
|
||||
@buf.push [[lineno(), column()], :on_#{event}, tok]
|
||||
end
|
||||
|
|
Загрузка…
Ссылка в новой задаче