diff options
author | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-02-04 09:46:18 +0000 |
---|---|---|
committer | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-02-04 09:46:18 +0000 |
commit | 71d3655aabc810336e9c35d80782342523f9176c (patch) | |
tree | a0d1617946ade2fc79e5075709d3895b4de31db0 | |
parent | 05e860b73aff4d9dbc31513690d44825ca51cd5e (diff) | |
download | ruby-71d3655aabc810336e9c35d80782342523f9176c.tar.gz ruby-71d3655aabc810336e9c35d80782342523f9176c.tar.xz ruby-71d3655aabc810336e9c35d80782342523f9176c.zip |
* ext/ripper/lib/ripper/lexer.rb: last Lexer fix was incomplete; test all green.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/ripper/lib/ripper/lexer.rb | 12 |
2 files changed, 13 insertions, 4 deletions
@@ -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 -> diff --git a/ext/ripper/lib/ripper/lexer.rb b/ext/ripper/lib/ripper/lexer.rb index 35074acbf..20436f6f4 100644 --- a/ext/ripper/lib/ripper/lexer.rb +++ b/ext/ripper/lib/ripper/lexer.rb @@ -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 |