Skip to content

Draft: Interpreter, Tests, Debug Info, Misc.

Xavier Routh requested to merge debug_info into main

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

Merge request reports