Project Title: Virtual Compiler (Java)
Description: The purpose of this project was to develop a sample Java Virtual Machine using top down parser. First, I implemented DFA (Deterministic Finite Automata) according to a given grammar. Secondly, I had to implement a top-down parser for a given BNF (Backus-Naur Form). Then I extended it by a type checker and a variable-declaration checker. Finally, I extended the type checker implemented in phase 3 by an intermediate- code generator that emits stack-based virtual machine instructions.