assemble risc to it's position (not itself)
So in the next step the interpreter can use positions as program counter and would be much more like the real thing
This commit is contained in:
@ -22,15 +22,5 @@ module Risc
|
||||
produced = produce_body
|
||||
assert_equal 5 , produced.constant.value
|
||||
end
|
||||
def pest_cache_check
|
||||
produced = produce_body
|
||||
assert_equal NotSame , produced.next(3).class
|
||||
assert_equal produced.next(34) , produced.next(3).label
|
||||
end
|
||||
def pest_check_resolve
|
||||
produced = produce_body
|
||||
assert_equal FunctionCall , produced.next(30).class
|
||||
assert_equal :resolve_method ,produced.next(30).method.name
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -49,10 +49,6 @@ module Risc
|
||||
assert_equal Risc::LoadConstant , produced.next(38).class
|
||||
assert_equal Parfait::NilClass , produced.next(38).constant.class
|
||||
end
|
||||
def pest_nil_check
|
||||
produced = produce_body
|
||||
assert_equal produced.next(13) , produced.next(8).label
|
||||
end
|
||||
|
||||
def test_back_jump # should jump back to condition label
|
||||
produced = produce_body
|
||||
@ -60,11 +56,5 @@ module Risc
|
||||
assert_equal produced , produced.next(44).label
|
||||
end
|
||||
|
||||
def test_merge_label
|
||||
produced = produce_body
|
||||
assert_equal Risc::Label , produced.next(45).class
|
||||
assert produced.next(45).name.start_with?("merge_") , produced.next(29).name
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user