diff options
| author | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-09-23 21:37:38 +0000 |
|---|---|---|
| committer | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-09-23 21:37:38 +0000 |
| commit | 262539ab001cfa98f895b9f8d5aaa309635f9620 (patch) | |
| tree | dcb5121ffd3676fa22a0d0f17bc020ffc69eab1f /ext/ripper/lib | |
| parent | 76b82e6449f782a0e7e169666e9127ef9e081d0f (diff) | |
| download | ruby-262539ab001cfa98f895b9f8d5aaa309635f9620.tar.gz ruby-262539ab001cfa98f895b9f8d5aaa309635f9620.tar.xz ruby-262539ab001cfa98f895b9f8d5aaa309635f9620.zip | |
* ext/ripper: no longer generates .rb files.
* parse.y (Init_ripper): ripper_init_eventids*() takes 1 argument, self (class Ripper).
* ext/ripper/depend: target removed: `lib/ripper/core.rb'.
* ext/ripper/depend: new target `eventids2table.c'.
* ext/ripper/depend: new target `check'.
* ext/ripper/eventids2.c: include eventids2table.c.
* ext/ripper/eventids2.c: initialize SCANNER_EVENT_TABLE.
* ext/ripper/extconf.rb: update $cleanfiles list.
* ext/ripper/tools/generate.rb: no longer generate ripper/core.rb.
* ext/ripper/tools/generate.rb: new mode `check'.
* ext/ripper/tools/generate.rb: new mode `eventids2table'.
* ext/ripper/lib/ripper/core.rb.in: removed.
* ext/ripper/lib/ripper/core.rb: added.
* ext/ripper/lib/ripper/filter.rb: update copyright year.
* ext/ripper/lib/ripper/lexer.rb: ditto.
* ext/ripper/lib/ripper/sexp.rb: ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@9284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/ripper/lib')
| -rw-r--r-- | ext/ripper/lib/ripper/core.rb (renamed from ext/ripper/lib/ripper/core.rb.in) | 49 | ||||
| -rw-r--r-- | ext/ripper/lib/ripper/filter.rb | 4 | ||||
| -rw-r--r-- | ext/ripper/lib/ripper/lexer.rb | 4 | ||||
| -rw-r--r-- | ext/ripper/lib/ripper/sexp.rb | 4 |
4 files changed, 31 insertions, 30 deletions
diff --git a/ext/ripper/lib/ripper/core.rb.in b/ext/ripper/lib/ripper/core.rb index 5f46c5819..35aa54d09 100644 --- a/ext/ripper/lib/ripper/core.rb.in +++ b/ext/ripper/lib/ripper/core.rb @@ -1,7 +1,7 @@ # -# ripper/core.rb +# $Id$ # -# Copyright (C) 2003-2005 Minero Aoki +# Copyright (c) 2003-2005 Minero Aoki # # This program is free software. # You can distribute and/or modify this program under the Ruby License. @@ -11,38 +11,36 @@ require 'ripper.so' class Ripper + # Parses Ruby program read from _src_. # _src_ must be a String or a IO or a object which has #gets method. def Ripper.parse(src, filename = '(ripper)', lineno = 1) new(src, filename, lineno).parse end - # This table contains name of parser events and its arity. - PARSER_EVENT_TABLE = { -#include ids1 - } - # This array contains name of parser events. PARSER_EVENTS = PARSER_EVENT_TABLE.keys - # This table contains name of scanner events and its arity - # (arity is always 1 for all scanner events). - SCANNER_EVENT_TABLE = { -#include ids2 - } - # This array contains name of scanner events. SCANNER_EVENTS = SCANNER_EVENT_TABLE.keys - # This table contains name of all ripper events. + # This array contains name of all ripper events. EVENTS = PARSER_EVENTS + SCANNER_EVENTS - ### ### - ### Event Handlers ### - ### ### - private + # + # Parser Events + # + + PARSER_EVENT_TABLE.each do |id, arity| + module_eval(<<-End, __FILE__, __LINE__ + 1) + def on_#{id}(#{ ('a'..'z').to_a[0, arity].join(', ') }) + #{arity == 0 ? 'nil' : 'a'} + end + End + end + # This method is called when weak warning is produced by the parser. # _fmt_ and _args_ is printf style. def warn(fmt, *args) @@ -58,12 +56,15 @@ class Ripper end # - # Parser Events + # Scanner Events # -#include handlers1 - # - # Lexer Events - # -#include handlers2 + SCANNER_EVENTS.each do |id| + module_eval(<<-End, __FILE__, __LINE__ + 1) + def on_#{id}(token) + token + end + End + end + end diff --git a/ext/ripper/lib/ripper/filter.rb b/ext/ripper/lib/ripper/filter.rb index 99c11182a..898501b23 100644 --- a/ext/ripper/lib/ripper/filter.rb +++ b/ext/ripper/lib/ripper/filter.rb @@ -1,7 +1,7 @@ # -# ripper/filter.rb +# $Id$ # -# Copyright (C) 2004 Minero Aoki +# Copyright (c) 2004,2005 Minero Aoki # # This program is free software. # You can distribute and/or modify this program under the Ruby License. diff --git a/ext/ripper/lib/ripper/lexer.rb b/ext/ripper/lib/ripper/lexer.rb index 20436f6f4..22048f161 100644 --- a/ext/ripper/lib/ripper/lexer.rb +++ b/ext/ripper/lib/ripper/lexer.rb @@ -1,7 +1,7 @@ # -# ripper/lexer.rb +# $Id$ # -# Copyright (C) 2004,2005 Minero Aoki +# Copyright (c) 2004,2005 Minero Aoki # # This program is free software. # You can distribute and/or modify this program under the Ruby License. diff --git a/ext/ripper/lib/ripper/sexp.rb b/ext/ripper/lib/ripper/sexp.rb index 621dd0e75..d841f9d66 100644 --- a/ext/ripper/lib/ripper/sexp.rb +++ b/ext/ripper/lib/ripper/sexp.rb @@ -1,7 +1,7 @@ # -# ripper/sexp.rb +# $Id$ # -# Copyright (C) 2004,2005 Minero Aoki +# Copyright (c) 2004,2005 Minero Aoki # # This program is free software. # You can distribute and/or modify this program under the Ruby License. |
