mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
insns2vm.rb: make #generate_parser private
which is only used by #router. To make it private, we need to stop defining them on top-level. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
be27efdb83
commit
c8e5796f61
2 changed files with 76 additions and 73 deletions
|
@ -6,7 +6,7 @@
|
|||
require_relative 'ruby_vm/scripts/insns2vm'
|
||||
|
||||
if $0 == __FILE__
|
||||
router(ARGV).each do |(path, generator)|
|
||||
RubyVM::Insns2VM.router(ARGV).each do |(path, generator)|
|
||||
str = generator.generate path
|
||||
path.open 'wb:utf-8' do |fp|
|
||||
fp.write str
|
||||
|
|
|
@ -13,78 +13,81 @@
|
|||
require 'optparse'
|
||||
require_relative '../controllers/application_controller.rb'
|
||||
|
||||
def router argv
|
||||
options = { destdir: Dir.getwd }
|
||||
targets = generate_parser(options).parse argv
|
||||
return targets.map do |i|
|
||||
next ApplicationController.new.generate i, options[:destdir]
|
||||
end
|
||||
end
|
||||
|
||||
def generate_parser(options)
|
||||
OptionParser.new do |this|
|
||||
this.on "-I", "--srcdir=DIR", <<-'end'
|
||||
Historically this option has been passed to the script. This is
|
||||
supposedly because at the beginning the script was placed
|
||||
outside of the ruby source tree. Decades passed since the merge
|
||||
of YARV, now I can safely assume this feature is obsolescent.
|
||||
Just ignore the passed value here.
|
||||
end
|
||||
|
||||
this.on "-L", "--vpath=SPEC", <<-'end'
|
||||
Likewise, this option is no longer supported.
|
||||
end
|
||||
|
||||
this.on "--path-separator=SEP", /\A(?:\W\z|\.(\W).+)/, <<-'end'
|
||||
Old script says this option is a "separator for vpath". I am
|
||||
confident we no longer need this option.
|
||||
end
|
||||
|
||||
this.on "-Dname", "--enable=name[,name...]", Array, <<-'end'
|
||||
This option used to override VM option that is defined in
|
||||
vm_opts.h. Now it is officially unsupported because vm_opts.h to
|
||||
remain mismatched with this option must break things. Just edit
|
||||
vm_opts.h directly.
|
||||
end
|
||||
|
||||
this.on "-Uname", "--disable=name[,name...]", Array, <<-'end'
|
||||
This option used to override VM option that is defined in
|
||||
vm_opts.h. Now it is officially unsupported because vm_opts.h to
|
||||
remain mismatched with this option must break things. Just edit
|
||||
vm_opts.h directly.
|
||||
end
|
||||
|
||||
this.on "-i", "--insnsdef=FILE", "--instructions-def", <<-'end'
|
||||
This option used to specify alternative path to insns.def. For
|
||||
the same reason to ignore -I, we no longer support this.
|
||||
end
|
||||
|
||||
this.on "-o", "--opt-operanddef=FILE", "--opt-operand-def", <<-'end'
|
||||
This option used to specify alternative path to opt_operand.def.
|
||||
For the same reason to ignore -I, we no longer support this.
|
||||
end
|
||||
|
||||
this.on "-u", "--opt-insnunifdef=FILE", "--opt-insn-unif-def", <<-'end'
|
||||
This option used to specify alternative path to
|
||||
opt_insn_unif.def. For the same reason to ignore -I, we no
|
||||
longer support this.
|
||||
end
|
||||
|
||||
this.on "-C", "--[no-]use-const", <<-'end'
|
||||
We use const whenever possible now so this option is ignored.
|
||||
The author believes that C compilers can constant-fold.
|
||||
end
|
||||
|
||||
this.on "-d", "--destdir", "--output-directory=DIR", <<-'begin' do |dir|
|
||||
THIS IS THE ONLY OPTION THAT WORKS today. Change destination
|
||||
directory from the current working directory to the given path.
|
||||
begin
|
||||
raise "directory was not found in '#{dir}'" unless Dir.eixst?(dir)
|
||||
options[:destdir] = dir
|
||||
end
|
||||
|
||||
this.on "-V", "--[no-]verbose", <<-'end'
|
||||
Please let us ignore this and be modest.
|
||||
module RubyVM::Insns2VM
|
||||
def self.router argv
|
||||
options = { destdir: Dir.getwd }
|
||||
targets = generate_parser(options).parse argv
|
||||
return targets.map do |i|
|
||||
next ApplicationController.new.generate i, options[:destdir]
|
||||
end
|
||||
end
|
||||
|
||||
def self.generate_parser(options)
|
||||
OptionParser.new do |this|
|
||||
this.on "-I", "--srcdir=DIR", <<-'end'
|
||||
Historically this option has been passed to the script. This is
|
||||
supposedly because at the beginning the script was placed
|
||||
outside of the ruby source tree. Decades passed since the merge
|
||||
of YARV, now I can safely assume this feature is obsolescent.
|
||||
Just ignore the passed value here.
|
||||
end
|
||||
|
||||
this.on "-L", "--vpath=SPEC", <<-'end'
|
||||
Likewise, this option is no longer supported.
|
||||
end
|
||||
|
||||
this.on "--path-separator=SEP", /\A(?:\W\z|\.(\W).+)/, <<-'end'
|
||||
Old script says this option is a "separator for vpath". I am
|
||||
confident we no longer need this option.
|
||||
end
|
||||
|
||||
this.on "-Dname", "--enable=name[,name...]", Array, <<-'end'
|
||||
This option used to override VM option that is defined in
|
||||
vm_opts.h. Now it is officially unsupported because vm_opts.h to
|
||||
remain mismatched with this option must break things. Just edit
|
||||
vm_opts.h directly.
|
||||
end
|
||||
|
||||
this.on "-Uname", "--disable=name[,name...]", Array, <<-'end'
|
||||
This option used to override VM option that is defined in
|
||||
vm_opts.h. Now it is officially unsupported because vm_opts.h to
|
||||
remain mismatched with this option must break things. Just edit
|
||||
vm_opts.h directly.
|
||||
end
|
||||
|
||||
this.on "-i", "--insnsdef=FILE", "--instructions-def", <<-'end'
|
||||
This option used to specify alternative path to insns.def. For
|
||||
the same reason to ignore -I, we no longer support this.
|
||||
end
|
||||
|
||||
this.on "-o", "--opt-operanddef=FILE", "--opt-operand-def", <<-'end'
|
||||
This option used to specify alternative path to opt_operand.def.
|
||||
For the same reason to ignore -I, we no longer support this.
|
||||
end
|
||||
|
||||
this.on "-u", "--opt-insnunifdef=FILE", "--opt-insn-unif-def", <<-'end'
|
||||
This option used to specify alternative path to
|
||||
opt_insn_unif.def. For the same reason to ignore -I, we no
|
||||
longer support this.
|
||||
end
|
||||
|
||||
this.on "-C", "--[no-]use-const", <<-'end'
|
||||
We use const whenever possible now so this option is ignored.
|
||||
The author believes that C compilers can constant-fold.
|
||||
end
|
||||
|
||||
this.on "-d", "--destdir", "--output-directory=DIR", <<-'begin' do |dir|
|
||||
THIS IS THE ONLY OPTION THAT WORKS today. Change destination
|
||||
directory from the current working directory to the given path.
|
||||
begin
|
||||
raise "directory was not found in '#{dir}'" unless Dir.eixst?(dir)
|
||||
options[:destdir] = dir
|
||||
end
|
||||
|
||||
this.on "-V", "--[no-]verbose", <<-'end'
|
||||
Please let us ignore this and be modest.
|
||||
end
|
||||
end
|
||||
end
|
||||
private_class_method :generate_parser
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue