Compilers Coursework Part 1 is a lexer and a parser for Z, created using JFlex and CUP. While Part 2 uses BCEL to do bytecode optimization.