Sha256: 7985901a8ff7358fdc1a34a53f8bed3b4505d4bb0d802aef93ab3a553a4dced8
Contents?: true
Size: 395 Bytes
Versions: 1
Compression:
Stored size: 395 Bytes
Contents
module Whitespace::ISA class Binop < Instruction def initialize(vm, op) unless Whitespace::Util.is_binop?(op) raise ArgumentError, "must be a binary operator: #{op}" end super(vm) @op = op end def execute right = vm.vstack.pop left = vm.vstack.pop vm.vstack.push Whitespace::Util::BINOPS[@op].call(left, right) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
whitespace-ruby-1.0.0 | lib/whitespace/instructions/arithmetic/binop.rb |