unify space collection attribute naming
currently space is still acting as a sort of memory manager. For proper linking, all objects must be reachable from space, hence the plural versions like messages and addresses (even they are instances, it is the list that is important) To dish out instance to use, the head must be kept, ie next_XXX for intergers, return addresses and messages
This commit is contained in:
@ -44,14 +44,14 @@ module Risc
|
||||
def test_returns_slot
|
||||
r2 = RegisterValue.new(:r2 , :Message)
|
||||
r2.builder = @builder
|
||||
built = @builder.build{ r2 << space[:first_message] }
|
||||
built = @builder.build{ r2 << space[:next_message] }
|
||||
assert_equal SlotToReg , built.class
|
||||
assert_equal :r1 , built.array.symbol
|
||||
end
|
||||
def test_returns_slot_reverse
|
||||
r2 = RegisterValue.new(:r2 , :Message)
|
||||
r2.builder = @builder
|
||||
built = @builder.build{ r2 << space[:first_message] }
|
||||
built = @builder.build{ r2 << space[:next_message] }
|
||||
assert_equal SlotToReg , built.class
|
||||
assert_equal :r1 , built.array.symbol
|
||||
end
|
||||
|
@ -36,20 +36,20 @@ module Risc
|
||||
assert_equal Transfer , builder.built.class
|
||||
end
|
||||
def test_index_op
|
||||
message = @r0[:first_message]
|
||||
message = @r0[:next_message]
|
||||
assert_equal RValue , message.class
|
||||
assert_equal :first_message , message.index
|
||||
assert_equal :next_message , message.index
|
||||
assert_equal @r0 , message.register
|
||||
end
|
||||
def test_slot_to_reg
|
||||
instr = @r0 << @r1[:first_message]
|
||||
instr = @r0 << @r1[:next_message]
|
||||
assert_equal SlotToReg , instr.class
|
||||
assert_equal @r1 , instr.array
|
||||
assert_equal @r0 , instr.register
|
||||
assert_equal 3 , instr.index
|
||||
end
|
||||
def test_reg_to_slot
|
||||
instr = @r1[:first_message] << @r0
|
||||
instr = @r1[:next_message] << @r0
|
||||
assert_equal RegToSlot , instr.class
|
||||
assert_equal @r1 , instr.array
|
||||
assert_equal @r0 , instr.register
|
||||
|
Reference in New Issue
Block a user