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

@ -15,7 +15,7 @@ module Sol
codes = cond_label
codes << @hoisted.to_slot(compiler) if @hoisted
codes << @condition.to_slot(compiler) if @condition.is_a?(SendStatement)
codes << SlotMachine::TruthCheck.new(condition.to_slot_definition(compiler) , merge_label)
codes << SlotMachine::TruthCheck.new(condition.to_slotted(compiler) , merge_label)
codes << @body.to_slot(compiler)
codes << SlotMachine::Jump.new(cond_label)
codes << merge_label