Skip to content
Snippets Groups Projects
user avatar
Clemens Paumgarten authored
281d361f
History

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 via pip3 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