diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-09 13:30:31 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-09 13:30:31 +0000 |
commit | 55317a74f7df73bb3531ade54418c4bf6f95b30b (patch) | |
tree | e83ff5745104434e1373cafe8bb5a859a05b59c2 /tool/insns2vm.rb | |
parent | ae4045f0cab0a9188124a00f55fdb804a3ec1cfd (diff) | |
download | ruby-55317a74f7df73bb3531ade54418c4bf6f95b30b.tar.gz |
delete tool/instruction.rb
Previous commit changed insns.def format. Now is the time for its
generators. In doing so I chose to modernize the system, not just
patch. My attempt includes
- extensive use of Onigumo regular expressions
- split from one big file (instruction.rb) into separated MVC
- partial view
Also, let me take this opportunity to kill old unused features
such as
- stack caching
- minsns / yasmdata which are never seriously used
- yarvarch document generation (moved to doc/)
- vast majority of unused arguments to insns2vm.rb
This commit generates VM source codes that cleanly compile, and
the generated binary passes tests. At least for me.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool/insns2vm.rb')
-rwxr-xr-x | tool/insns2vm.rb | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/tool/insns2vm.rb b/tool/insns2vm.rb index ecbbb52643..e6fe64d189 100755 --- a/tool/insns2vm.rb +++ b/tool/insns2vm.rb @@ -3,16 +3,11 @@ # This is used by Makefile.in to generate .inc files. # See Makefile.in for details. -require 'optparse' - -Version = %w$Revision: 11626 $[1..-1] - -require "#{File.join(File.dirname(__FILE__), 'instruction')}" +require_relative 'ruby_vm/scripts/insns2vm' if $0 == __FILE__ - opts = ARGV.options - maker = RubyVM::SourceCodeGenerator.def_options(opts) - files = opts.parse! - generator = maker.call - generator.generate(files) + router(ARGV).each do |(path, generator)| + str = generator.generate path + path.write str, mode: 'wb:utf-8' + end end |