Makes slots linked list

slots used to ba an array of symbols
Now we have an object for each slot, that holds the name and the next_slot
relatively easy change, though quite broad
This commit is contained in:
2020-02-17 14:29:45 +07:00
parent 93103d551f
commit c1679bd6ff
16 changed files with 69 additions and 49 deletions

View File

@@ -33,7 +33,7 @@ module Sol
# Derived classes do not implement to_slot, only slot_position
def to_slot(compiler)
to = SlotMachine::Slotted.for(:message , self.slot_position(compiler))
from = @value.to_slot_definition(compiler)
from = @value.to_slotted(compiler)
assign = SlotMachine::SlotLoad.new(self,to,from)
return assign unless @value.is_a?(CallStatement)
@value.to_slot(compiler) << assign