Closed btwooton closed 7 years ago
I can verify that the current state of the branch is good -- I've built the tests and the code seems to be good. Just need to make the design adjustment, and I think we're good!
Alright. I made the changes that you requested. evaluate_assembly_instruction()
now has a return type of void
so we no longer return nullptr
. All unit tests have been updated to reflect this change and are working as expected.
Good. Looks all good! Squashing and merging...
Hello Guys,
Here is the first pull request for the HeapVirtualMachine. 8 of the 12 assembly instructions have been implemented as part of the
evaluate_assembly_instruction()
method in the HeapVirtualMachine class. Unit tests have been written for each of these instructions verifying the VM's ability to correctly evaluate them and modify its own state accordingly. Please look over the implementation as well as the unit tests, and let me know if you see anything that looks strange. I verified that my inputs to the method, i.e.(refer var (halt))
or(test (constant "then" (halt)) (constant "else" (halt)))
were well formed by printing the respective NodePtr contents of the expressions to standard output.Once this pull request is merged, all that will be left to do is implement Closure/Continuation and then integrate it with the last 4 assembly instructions that depend on the presence of Closures and Continuations to function.