From c8e5796f61824bb5a232a9d338ececc6a2487997 Mon Sep 17 00:00:00 2001 From: k0kubun Date: Sat, 27 Jan 2018 02:14:20 +0000 Subject: 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 --- tool/ruby_vm/scripts/insns2vm.rb | 123 ++++++++++++++++++++------------------- 1 file changed, 63 insertions(+), 60 deletions(-) (limited to 'tool/ruby_vm') diff --git a/tool/ruby_vm/scripts/insns2vm.rb b/tool/ruby_vm/scripts/insns2vm.rb index a04394ab27..beb50087da 100644 --- a/tool/ruby_vm/scripts/insns2vm.rb +++ b/tool/ruby_vm/scripts/insns2vm.rb @@ -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] +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 -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 + 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 "-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 "--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 "-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 "-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 "-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 "-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 "-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 "-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 "-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. + this.on "-V", "--[no-]verbose", <<-'end' + Please let us ignore this and be modest. + end end end + private_class_method :generate_parser end -- cgit v1.2.3