Frontend Refactor
Why
- some functions are pure distilled nightmare fuel
- Rust + recursive structs does not work too well
- Symbol table build up is convoluted, should be split up
- code is dripping wet
TODOs
-
Remodel AST + ST -
clean up parser -
test parser (@free4all) -
Split up semantic checks -
test symbol table build up & all semantic checks (@free4all) -
Checking for uses of undeclared variables -
Checking for multiple declarations of variables with the same name in the same scope -
Checking for multiple definitions of functions with the same name -
Checking for calls to unknown functions -
Checking for presence of main
and correct signature -
Checking that all execution paths of a non-void function return a value -
Type checking (remember, neither implicit nor explicit type conversions)
-
-
clean up tac generation -
clean up duplicate files DEPENDS ON
tests (@free4all) -
fix ALL
warnings -
merge