CPSC460
Spring 2008
Final Review
The final will be comprehensive concentrating on the areas
where you
have not been tested.
It will have problems and
short answer questions about concepts that we have covered.
The first part of the course is reviewed
on
test1review.
The final will have material from this first test.
Since the last test, we have covered Chapters 5, 6, 8, and 9.1
including these topics:
- Paul Johnson's
lecture.
Here
and
here are his handouts.
- Be able to generate syntax trees, postfix code from the syntax
tree, 3 address code in the form of DAGs, triples, indirect triples, and
quadruples.
-
Be able to produce 3 address code given syntax-directed definitions
or semantic translation schemes.
- What is intermediate code? What are the advanatages of using
intermediate code? Are there any disadvantages or issues to be careful
of?
- What is the input and output to each part of the compiler?
-
Be able to calculate the cost of an instruction given some parameters
- Be able to calculate basic blocks
and flow graphs for intermediate code.
- Be able to do some optimizations on intermediate code
(dead code elimination, common subexpression elimination, reduction in
strength).
- Be able to translate 3 address code into the target code that we
covered in class
- Be able to determine the variables used, defined, and live in a
basic block.