This is the semester-long assignment for the Compilers class at Algqonquin College. It is a front-end compiler for the Platypus language designed by Prof. Svillen Ranev.
It consists of 4 parts:
- Buffer
- The core component that handles "strings". It includes iteration and expansion/reallocation.
- Scanner
- The scanner reads in tokens from the program file.
- Symbol Table
- The symbol table is an index of the programs identifiers.
- Parser
- The parser makes sure the program is syntactically valid.