A custom language to MIPS assembly compiler
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea
build
distribute
docs
resources
src
testcases
.gitignore
README.md
grademe.sh

README.md

Tiger Compiler

A compiler for a C-like language, written in Java by a team of three for CS 4240.

Built from scratch from the ground up

Components include:

  • Table-driven scanner

  • LL(1) top-down parser

  • Semantic Analyzer

  • IR code Generator

  • Register Allocation Code for:

    • Naive register allocation

    • Intra-BasicBlock register allocation

    • Global register allocation

  • MIPS assembly generator (output runs on SPIM simulator)


There are many things we would do differently in retrospect... but won't. Because it works. And because, as one partner put it, "I've never spent so much time on something so useless."

The take away is knoweldge and experience. Applying theory to practice.