Class: Brainfsck::VM

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

Constant Summary collapse

MEM_SIZE =
1_024_000
DEBUGGING =
ENV["DEBUG"] == "1"

Instance Method Summary collapse

Constructor Details

#initialize(program) ⇒ VM

Returns a new instance of VM.



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

def initialize(program)
  @dp = 0
  @ip = 0
  @mem = Array.new(MEM_SIZE, 0)
  @call_stack = []
  @program = program
  @ff = 0
end

Instance Method Details

#runObject



17
18
19
20
21
22
# File 'lib/brainfsck/vm.rb', line 17

def run
  while ip < program.length
    run_instruction(program[ip])
    @ip += 1
  end
end