Compiler Principles Assignment