Compiler for the COOL language, you can see its official documentation here.
The COOL language is a static and strongly typed tool, with imperative syntax and influenced by
the object-oriented design pattern. In this project a compiler is developed that transforms
plain text code into executable MIPS
code. To perform this transformation, the system is
composed of 4 main modules that represent the 4 main phases of language theory
(lexer, parser, semantic checking and code generation).
Principal Skills: Python
Metaprogramming
AST
Visitor Pattern
Sly
MIPS
First download the project
$ git clone https://github.com/matcom-school/cool-compiler-2021.git
$ pip install -r requirements.txt
Check that all tests are working properly
$ cd src
$ make test
Then type your COOL code and save the changes in .cl and execute the following commands
$ make <name_file>.cl