# MiniC Compiler LAB4 (simple code generation), MIF08 / CAP 2022-23 # Authors Augustin LUCAS # Contents # Test design # Design choices Booleans are implemented as integers behind the scenes, but type-checking before compilation disables any casting mechanism. As for the previous lab, the Fortran-like for-loop extension has been implemented. # Known bugs # Checklists A check ([X]) means that the feature is implemented and *tested* with appropriate test cases. ## Code generation - [x] Number Atom - [x] Boolean Atom - [x] Id Atom - [x] Additive expression - [x] Multiplicative expression - [x] UnaryMinus expression - [x] Or expression - [x] And expression - [x] Equality expression - [x] Relational expression (! many cases -> many tests) - [x] Not expression ## Statements - [x] Prog, assignements - [x] While - [x] Cond Block - [x] If - [x] Nested ifs - [x] Nested whiles ## Allocation - [x] Naive allocation - [x] All in memory allocation - [ ] Massive tests of memory allocation