In Connection with the Exam
- How much are you supposed to cover during the presentation?
- At the final lecture, I will give a sketch of how all
questions may be organized.
It is important to point out that the speed you use
at the exam should be much higher than the speed used at
the lectures. At the lectures, material is explained to
students who, except for preparation, do not know the
material in advance and should learn it.
At the exam, the material is presented to professionals
with the purpose of demonstrating hos much the student knows.
Choose interesting material, i.e., do not give too much of
an introduction and do not dwell on trivial special cases.
- What does "top-down" and "bottom-up" mean?
- These are the traditional terms for two different parsing techniques.
They refer to the way in which the parser tree is built during the
parsing of the input string.
I have used these terms at the lectures, but the book has
chosen other ways of naming the techniques.
In the book, the corresponding terms are
"predictive" (Section 3.2) and "LR" (Section 3.3).
- I think what the book's coverage of code generation is very
different from your coverage at the lectures!
- Yes, the approach is somewhat different.
For the oral exam, my recommendation is that you use
the
lecture material on code templates and stack frame as your starting point
- What can you talk about with respect to optimization?
- The purpose of optimization and the different forms of
optimization is a good starting point.
Peep-hole optimization ought to be covered, including
termination of the process (termination function); it could
be an advantage to demonstrate this termination argument
on an interesting example, i.e., an example which among other things
contain patters which actually increase the size of the code.
It is also fine to give a brief account of the register allocation
problem at the end, even though this is a question in its own right.
Last modified: Mon Mar 5 09:19:15 CET 2012
Kim Skak Larsen
(kslarsen@imada.sdu.dk)