summaryrefslogtreecommitdiff
path: root/trunk/tool/parse.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/tool/parse.rb')
-rw-r--r--trunk/tool/parse.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/trunk/tool/parse.rb b/trunk/tool/parse.rb
new file mode 100644
index 0000000000..6243d7aa8e
--- /dev/null
+++ b/trunk/tool/parse.rb
@@ -0,0 +1,13 @@
+$file = ARGV[0]
+$str = ARGF.read.sub(/^__END__.*\z/m, '')
+puts '# ' + '-' * 70
+puts "# target program: "
+puts '# ' + '-' * 70
+puts $str
+puts '# ' + '-' * 70
+
+$parsed = RubyVM::InstructionSequence.compile_file($file)
+puts "# disasm result: "
+puts '# ' + '-' * 70
+puts $parsed.disasm
+puts '# ' + '-' * 70