Quiz 26: Initial ABC Compiler

Implement the ABC compiler described in this session:

  • It should contain the features, extensions and cleanups described on Page 2

  • The I/O hack provided on Page 3.

  • An example subdirectory with the makefile, the test program test.abc, the assembly files getuint64.s and printuint64.s provided on Page 3.

  • The implementation of constant folding is kind of optional. The implementation of constFoldExpr() can simply return its parameter, i.e. never fold an expression. In the tests we then can replace your stub with an actual implementation. Hence, your implementation still has to use this function. In the parser assembly code should be generated from the expression returned by constFoldExpr().

How to Submit

You have to submit a tarball quiz26.tgz of your project. In your project directory do the following:

  • Run make clean

  • Create the tarball with

    1
    tar cfvz quiz26.tgz *
    
  • On theon you can submit the tarball with submit hpc quiz26 quiz26.tgz