diff options
author | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-09-23 10:49:11 +0000 |
---|---|---|
committer | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-09-23 10:49:11 +0000 |
commit | 0c9d76889af8e00a946dbe8de33568fc87bdd983 (patch) | |
tree | 6b11b788338aa66e7357d013feb96082edb0a0cb /ext/ripper/lib/ripper/filter.rb | |
parent | bf189b88d34f23b1f4e7709fd6c9b947cd5073e7 (diff) |
* ext/ripper/Makefile.dev: removed.
* ext/ripper/ripper.rb.in: moved to lib/ripper/core.rb.in.
* ext/ripper/lib/ripper/core.rb: new file.
* ext/ripper/lib/ripper/core.rb.in: new file.
* ext/ripper/tools/generate-ripper_rb.rb: change comment.
* test/ripper/*.rb: on_scan removed.
* test/ripper/*.rb: event name changed: on__ -> on_.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/ripper/lib/ripper/filter.rb')
-rw-r--r-- | ext/ripper/lib/ripper/filter.rb | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/ext/ripper/lib/ripper/filter.rb b/ext/ripper/lib/ripper/filter.rb index 399c4c64bc..d1c7c4a45e 100644 --- a/ext/ripper/lib/ripper/filter.rb +++ b/ext/ripper/lib/ripper/filter.rb @@ -8,10 +8,12 @@ # For details of Ruby License, see ruby/COPYING. # -require 'ripper' +require 'ripper/core' class Ripper + # This class handles only scanner events, + # and they are dispatched in the `right' order (same with input). class Filter def initialize(src, filename = '-', lineno = 1) @@ -20,18 +22,27 @@ class Ripper @__col = nil end + # The file name of the input. def filename @__parser.filename end + # The line number of the current token. + # This value starts from 1. + # This method is valid only in event handlers. def lineno @__line end + # The column number of the current token. + # This value starts from 0. + # This method is valid only in event handlers. def column @__col end + # Starts parsing. _init_ is a data accumulator. + # It is passed to the next event handler (as of Enumerable#inject). def parse(init) data = init @__parser.parse.each do |pos, event, tok| @@ -46,7 +57,11 @@ class Ripper private - def on_default(event, tok, data) + # This method is called when some event handler have not defined. + # _event_ is :on_XXX, _token_ is scanned token, _data_ is a data + # accumulator. The return value of this method is passed to the + # next event handler (as of Enumerable#inject). + def on_default(event, token, data) data end |