Projects of the compiler and programming languages design course at the University of Tehran.
- Phase 1: Lexical analyzer and syntax analyzer.
- Phase 2: Abstract syntax tree, node visitor pattern, symbol table, and name analyzer.
- Phase 3: Type analyzer.
- Phase 4: Code generation (Java bytecode).