Skip to content

Latest commit

 

History

History
15 lines (11 loc) · 706 Bytes

README.md

File metadata and controls

15 lines (11 loc) · 706 Bytes

Semantic Analyzer

A crate which performs semantic analysis and tree-annotation on rush programs.

Almost every rush compiler backend requires the semantic correctness of its input tree. Furthermore, the backends often require precise type information at compile time in order to compile the correct output.

Therefore, the analyzer traverses an AST generated by the rush-parser and adds type information whilst validating its semantic correctness.

This way, many compiler backends can be significantly simplified due to the lack of unnecessary checks during program compilation.