Draft: Interpreter, Tests, Debug Info, Misc.
Bit of a mess, lots of TODOs, in the process of cleaning up. Will have distinct changes in separate branches in the future.
Interpreter:
- Added interpreter under
hercules_test/hercules_interpreter
, covering most basic functionality. - Missing products / sum types, floating point semantics, but framework is there to add them.
Testing:
- Added test of optimization passes via execution w/ interpreter before and after optimization.
Misc / Debug Info:
-
Experimented with different ways of propagating debug info / partitions between passes. All passes should report a list of changes they made, not including gravestone updates. Possibly add default mapping if a pass doesn't want to compute its changes. Current system is quite messy still (comments, code, files).
-
Moved Function type to
function.rs