mc compiler
This is our solution for the project in compiler construction. The project set up can be seen on the project specification on the gitlab page https://git.uibk.ac.at/c7031162/703602-Compiler-Construction.
Language Specs
The mc-programming language specs are as defined in the project specification.
Prerequisites
-
Meson in a recent version (
0.44.0
) (you may want to install it viapip3 install --user meson
) - Ninja
-
time
, typically located at/usr/bin/time
, do not confuse this with the Bash built-in -
flex
for generating the lexer -
bison
for generating the parser - A compiler supporting C11 — typically GCC or Clang
Build Instructions
$ cd /scripts $ sh build-project
Known Issues
- In assembly code generation the size of strings is hardcoded
- Multiple file import is not supported yet.
- Surpress output error output is not implemented yet
- Array in assembly code not supported
- Flds and fstps offsets sometimes not found correctly, therefore mandelbrot printing not correct
- Known memory leaks:
- IR
- Symbol table
- AST