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
This project was developed as part of a compilation course at the University of Havana. With the educational foundation of knowing the main aspects of a compiler or interpreter, tools that developers use on a daily basis.
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