mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/ripper/ripper.rb.in: new const Ripper::PARSER_EVENT_TABLE.
* ext/ripper/ripper.rb.in: new const Ripper::SCANNER_EVENT_TABLE. * ext/ripper/lib/ripper.rb: sync with ripper.rb.in. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f43e22190c
commit
c2c7f4c186
4 changed files with 259 additions and 220 deletions
|
@ -2,6 +2,12 @@
|
|||
|
||||
def main
|
||||
template, ids1, ids2 = *ARGV
|
||||
print <<header
|
||||
#
|
||||
# This file is automatically generated from #{template} and parse.y.
|
||||
# DO NOT MODIFY!!!!!!
|
||||
#
|
||||
header
|
||||
File.foreach(template) do |line|
|
||||
case line
|
||||
when /\A\#include ids1/
|
||||
|
@ -13,7 +19,7 @@ def main
|
|||
id, arity = line.split
|
||||
arity = arity.to_i
|
||||
puts
|
||||
puts " def on__#{id}(#{argdecl(arity)})"
|
||||
puts " def on__#{id}#{paramdecl(arity)}"
|
||||
puts " #{arity == 0 ? 'nil' : 'a'}"
|
||||
puts " end"
|
||||
end
|
||||
|
@ -35,20 +41,21 @@ def main
|
|||
end
|
||||
|
||||
def print_items(ids)
|
||||
comma = "\n"
|
||||
ids.each do |id|
|
||||
comma = ''
|
||||
ids.each do |id, arity|
|
||||
print comma; comma = ",\n"
|
||||
print " #{id.intern.inspect}"
|
||||
print " #{id.intern.inspect} => #{arity}"
|
||||
end
|
||||
puts
|
||||
end
|
||||
|
||||
def read_ids(path)
|
||||
File.readlines(path).map {|line| line.split[0] }
|
||||
File.readlines(path).map {|line| line.split }
|
||||
end
|
||||
|
||||
def argdecl(n)
|
||||
%w(a b c d e f g h i j k l m)[0, n].join(', ')
|
||||
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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue