summaryrefslogtreecommitdiff
path: root/ext/ripper/tools/generate-ripper_rb.rb
diff options
context:
space:
mode:
authoraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-22 20:58:10 +0000
committeraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-22 20:58:10 +0000
commita697b1f6029c215f8a7c14e8b696a19d838708ec (patch)
tree6643f64ff3dab427a5eb40b27abcff7cda2bf9e8 /ext/ripper/tools/generate-ripper_rb.rb
parent6fb86f740b994108254982b954f8ad9df64bf5b4 (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-xext/ripper/tools/generate-ripper_rb.rb60
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