Implemented an interpreter and a two-pass compiler for SIL for SIM target machine (Simple Integer Machine) – specification available at:https://silcnitc.github.io/
Using yacc & lex (open source parser & lexer) implemented various compiler strategies like Register allocation, Pass by value and reference, Runtime call stack management and type checking.