create a load on the compiler

thus removing the need for << with objects on RegisterValue
This commit is contained in:
2020-03-01 10:52:21 +02:00
parent 95f3eec043
commit 64d860b2bf
7 changed files with 48 additions and 92 deletions

View File

@ -14,10 +14,10 @@ module Risc
# or r-vlalue respectively.
class RegisterSlot
attr_reader :register , :index , :builder
attr_reader :register , :index , :compiler
def initialize(register, index , builder)
@register , @index , @builder = register , index , builder
def initialize(register, index , compiler)
@register , @index , @compiler = register , index , compiler
end
# fullfil the objects purpose by creating a RegToSlot instruction from
@ -25,7 +25,7 @@ module Risc
def <<( reg )
raise "not reg #{reg}" unless reg.is_a?(RegisterValue)
reg_to_slot = Risc.reg_to_slot("#{reg.class_name} -> #{register.class_name}[#{index}]" , reg , register, index)
builder.add_code(reg_to_slot) if builder
compiler.add_code(reg_to_slot) if compiler
reg_to_slot
end
@ -34,7 +34,7 @@ module Risc
def <=( reg )
raise "not reg #{reg}" unless reg.is_a?(RegisterValue)
reg_to_byte = Risc.reg_to_byte("#{reg.class_name} -> #{register.class_name}[#{index}]" , reg , register, index)
builder.add_code(reg_to_byte) if builder
compiler.add_code(reg_to_byte) if compiler
reg_to_byte
end