check for correct operator

was getting passed sol constants
This commit is contained in:
Torsten 2020-03-17 11:00:03 +02:00
parent e4a79aac50
commit 6366ede8ee
2 changed files with 9 additions and 3 deletions

View File

@ -1,10 +1,16 @@
module SlotMachine module SlotMachine
class Comparison < Macro class Comparison < Macro
def self.operators
[:<, :>, :>=, :<=]
end
attr_reader :operator attr_reader :operator
def initialize(name , operator) def initialize(name , operator)
super(name) super(name)
#TODO check operator to be in valid range raise "unsuported operator :#{operator}:#{operator.class}:" unless self.class.operators.include?(operator)
@operator = operator.value @operator = operator
end end
# basically use subtract to subtract left from right (or right from left) # basically use subtract to subtract left from right (or right from left)

View File

@ -73,7 +73,7 @@ module Sol
# for loading into a slot, return the "slot_definition" that can be passed to # for loading into a slot, return the "slot_definition" that can be passed to
# SlotLoad. # SlotLoad.
def to_slot(compiler) def to_slot(compiler)
raise "not iplemented in #{self}" raise "not implemented in #{self}:#{self.class}"
end end
end end