Class: Kaguya::VM

Inherits:
Object
  • Object
show all
Defined in:
lib/kaguya/vm.rb

Instance Method Summary collapse

Constructor Details

#initialize(iseq) ⇒ VM

Returns a new instance of VM.

Parameters:

  • iseq (Array)


8
9
10
11
12
13
# File 'lib/kaguya/vm.rb', line 8

def initialize(iseq)
  @iseq = iseq
  @pc = 0
  @left_stack = [0]
  @right_stack = []
end

Instance Method Details

#runObject



15
16
17
18
19
20
# File 'lib/kaguya/vm.rb', line 15

def run
  loop do
    instruction = fetch(@pc)
    execute(instruction)
  end
end