View on GitHub

JST

By Janelle Blankenburg, Shubham Gogna, and Terence Henriod
UNR CS 660: Compiler Construction

Download this project as a .zip file Download this project as a tar.gz file

Folders

ast

Files for AST nodes, AST generation, and 3AC generation

bin

Files for parsing a program file and the custom symbol table test driver

compiler

File for the compiler state shared between the symbol table, scanner, and parser

exceptions

Custom compiler exceptions with formatted error messages

loggers

Custom logger for various aspects such as productions, debugging, and info logging

mips

Register management, allocation, MIPS generation, and library functions

parsing

Files for parsing using the ANSI C grammar and PLY

report

Final report for the CS 660 class

scanning

Files for scanning and returning tokens to the parser

symbol_table

Files for scope, symbols, symbol table, and all the little pieces in between

tac

Files for 3AC instructions

ticket_counting

Various ticket counters for labels (and eventually registers)

utils

Utility classes to validate parts of a program that can be parsed, but semantically makes no sense.