This document summarizes exercises completed for a compiler construction course, including modifications made to a Java compiler for scanning, parsing, type checking, and code generation. Key changes involved adding support for multi-line comments, various literal types, operators, and statements like for, switch, ternary, and throw. Parsing was structured from least to most precedence. Type checking ensured only one public type. Code generation output JVM instructions and handled expressions, control structures, and long primitives.