The SimpleC compiler compiles a custom programming language into Java or x86-64 (AT&T style) assembly code.
It supports many critical compiler features including lexical analysis, syntactic analysis, semantic analysis, and intermediate/target code generation.
Through implementation of the above compiler features, I was able to additionally add name analysis and compile-time error checking.