Modern Compiler Implementation in C
©1998 by Andrew W. Appel
Tiger compiler modules for programming exercises
Last updated October 10, 1997
- Introduction:
main.c
makefile
prog1.c
prog1.h
slp.c
slp.h
util.c
util.h
- Lexical Analysis:
driver.c
errormsg.c
errormsg.h
makefile
tiger.lex
tokens.h
util.c
util.h
- Parsing:
errormsg.c
errormsg.h
lex.yy.c
makefile
parsetest.c
tiger.grm
util.c
util.h
y.output
- Abstract Syntax:
absyn.c
absyn.h
lex.yy.c
makefile
parse.c
parse.h
prabsyn.c
prabsyn.h
symbol.c
symbol.h
table.c
table.h
tiger.grm
- Type Checking:
types.c
types.h
- Activation Records:
temp.c
temp.h
- Translation to Intermediate Representation:
printtree.c
printtree.h
tree.c
tree.h
- Canonical Trees:
canon.c
canon.h
- Instruction Selection:
assem.c
assem.h
canon.c
canon.h
main.c
- Dataflow Analysis:
flowgraph.h
graph.c
graph.h
- Register Allocation:
How to use precolored nodes
color.h
regalloc.h
- Putting It All Together:
runtime.c
Or get the whole Tiger bundle as a tar file,
or as a zip file (please preserve directory
structure when unzipping).