class Whitespace::ISA::Binop
Public Class Methods
new(vm, op)
click to toggle source
Calls superclass method
# File lib/whitespace/instructions/arithmetic/binop.rb, line 3 def initialize(vm, op) unless Whitespace::Util.is_binop?(op) raise ArgumentError, "must be a binary operator: #{op}" end super(vm) @op = op end
Public Instance Methods
execute()
click to toggle source
# File lib/whitespace/instructions/arithmetic/binop.rb, line 11 def execute right = vm.vstack.pop left = vm.vstack.pop vm.vstack.push Whitespace::Util::BINOPS[@op].call(left, right) end