diff options
author | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-09-22 20:58:10 +0000 |
---|---|---|
committer | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-09-22 20:58:10 +0000 |
commit | a697b1f6029c215f8a7c14e8b696a19d838708ec (patch) | |
tree | 6643f64ff3dab427a5eb40b27abcff7cda2bf9e8 /ext/ripper/tools/generate-ripper_rb.rb | |
parent | 6fb86f740b994108254982b954f8ad9df64bf5b4 (diff) |
* ext/ripper: refactoring code generation tools. [ruby-dev:27247] [ruby-dev:27273]
* ext/ripper/depend: use generate.rb.
* ext/ripper/lib/ripper/core.rb: removed.
* ext/ripper/tools/generate-eventids1.rb: removed (code moved to generate.rb).
* ext/ripper/tools/generate-ripper_rb.rb: removed (code moved to generate.rb).
* ext/ripper/tools/list-parse-event-ids.rb: removed (code moved to generate.rb).
* ext/ripper/tools/list-scan-event-ids.rb: removed (code moved to generate.rb).
* ext/ripper/lib/ripper/core.rb: removed.
* ext/ripper: refactoring tests. [ruby-dev:27273]
* ext/ripper/test/check-event-arity.rb: removed (code moved to tools/generate.rb).
* ext/ripper/test/check-event-coverage.rb: removed (code moved to test/ripper/test_parser_events.rb).
* ext/ripper/test/check-scanner-event-coverage.rb: removed (code moved to test/ripper/test_scanner_events.rb).
* ext/ripper/test/list-called-events.rb: removed.
* ext/ripper/test/src_rb: removed.
* ext/ripper/test/validate.rb: removed.
* test/ripper/test_scanner_events.rb: check event coverage.
* ext/ripper/lib/ripper/core.rb.in: update copyright year.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/ripper/tools/generate-ripper_rb.rb')
-rwxr-xr-x | ext/ripper/tools/generate-ripper_rb.rb | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/ext/ripper/tools/generate-ripper_rb.rb b/ext/ripper/tools/generate-ripper_rb.rb deleted file mode 100755 index 5c06ca40a4..0000000000 --- a/ext/ripper/tools/generate-ripper_rb.rb +++ /dev/null @@ -1,60 +0,0 @@ -# $Id$ - -def main - template, ids1, ids2 = *ARGV - print <<header -# This file is automatically generated from #{File.basename(template)} and parse.y. -# DO NOT MODIFY!!!!!! - -header - File.foreach(template) do |line| - case line - when /\A\#include ids1/ - print_items read_ids(ids1) - when /\A\#include ids2/ - print_items read_ids(ids2) - when /\A\#include handlers1/ - File.foreach(ids1) do |line| - id, arity = line.split - arity = arity.to_i - puts - puts " def on_#{id}#{paramdecl(arity)}" - puts " #{arity == 0 ? 'nil' : 'a'}" - puts " end" - end - when /\A\#include handlers2/ - File.foreach(ids2) do |line| - id, arity = line.split - arity = arity.to_i - puts - puts " def on_#{id}(token)" - puts " token" - puts " end" - end - when /\A\#include (.*)/ - raise "unknown operation: #include #{$1}" - else - print line - end - end -end - -def print_items(ids) - comma = '' - ids.each do |id, arity| - print comma; comma = ",\n" - print " #{id.intern.inspect} => #{arity}" - end - puts -end - -def read_ids(path) - File.readlines(path).map {|line| line.split } -end - -def paramdecl(n) - return '' if n == 0 - '(' + %w(a b c d e f g h i j k l m)[0, n].join(', ') + ')' -end - -main |