Methods
#
E
N
S
Included Modules
Constants
SKIP_COMMENT_PATTERN = Regexp.compile(Regexp.escape('/** ##skip'))
 
SPECIAL_INSN_FOR_SC_AFTER = { /\Asend/ => [:a], /\Aend/ => [:a], /\Ayield/ => [:a], /\Aclassdef/ => [:a], /\Amoduledef/ => [:a], }
 

sc

FROM_SC = [[], [:a], [:b], [:a, :b], [:b, :a]]
 
Attributes
[R] destdir
[R] vpath
Class Public methods
new(opts = {})
# File tool/instruction.rb, line 99
def initialize opts = {}
  @insns    = []
  @insn_map = {}

  @vpath = opts[:VPATH] || File
  @use_const = opts[:use_const]
  @verbose   = opts[:verbose]
  @destdir   = opts[:destdir]

  (@vm_opts = load_vm_opts).each {|k, v|
    @vm_opts[k] = opts[k] if opts.key?(k)
  }

  load_insns_def opts[:"insns.def"] || 'insns.def'

  load_opt_operand_def opts[:"opope.def"] || 'defs/opt_operand.def'
  load_insn_unification_def opts[:"unif.def"] || 'defs/opt_insn_unif.def'
  make_stackcaching_insns if vm_opt?('STACK_CACHING')
end
Instance Public methods
[](s)
# File tool/instruction.rb, line 128
def [](s)
  @insn_map[s.to_s]
end
each()
# File tool/instruction.rb, line 132
def each
  @insns.each{|insn|
    yield insn
  }
end
size()
# File tool/instruction.rb, line 138
def size
  @insns.size
end