Assigment 6. Back-end Implementation
Choose one from the following projects:
For details, check out the
(Chapter 6 and Chapter 7); includes handling Frames and translation
from Absyn into the Intermediate code trees.
(Chapter 9 and Chapter 12), includes Instruction Selections and
Procedure Entry/Exit sequence.
For information on x86 assembly, check out these resources:
(Chapter 10, Chapter 11), includes
the Flowgraph construction, Liveness analysis (building Interference
Graph), and then do the Register Allocation.
Write a dummy version of your module that ignores its input
and produces the output appropriate for a given sample program.
Write a version of your module that mostly works.
Verify that the dummy input given to you by other teams is reasonable
Produce a version of your module that you warrant as correct.
Prepare a beautifully documented version for your classmates
And, since warrantees aren't everything, fix the bugs reported to you
by your classmates.
Make everything work and submit a Complete Compiler.
In your README, list which team implemented
which module in your working compiler. But each team must individually
hook all the parts together.