ASSIGNMENT: Compiler

Odprto: sreda, 17. maj 2023, 00.00
Rok za oddajo: četrtek, 25. maj 2023, 07.00

Using the code of the previous assignments, create a working compiler that outputs the MMIX translation of the input PREV program (when
phase is "all"):

  1. add epilogue and prologue to every compiled function,
  2. add the bootstrap routine that calls _main,
  3. add the standard library (new, del, and the basic IO functions).


You should upload your solution as a zip file named xxxxxxxx.zip where xxxxxxxx stands for you student identification number.  The contents of the uploaded zip file must
have exactly the same directory structure as the template.  The uploaded zip file must contain complete source distribution (including the previous phases), but without antlr and generated files.

During lab practice, your compiler will be tested using examples found in your prg directory.  Furthermore, you will be asked to demonstrate how your compiler works (via screen sharing etc). Hence, prepare examples that emphasize the ability of your compiler as as much as possible.  Make sure you can run the compiled programs in MMIX simulator and demonstrate that programs actually produce some observable results. 8 queens is ok :)

P.S. Do not start working on this assignment on the last day before the deadline.