Stage Presentation
The following sections adhere to a standard layout in order to present each stage n:
- Introduction
The first few lines specify the last time the section was updated, the class for which it is written, and the submission dates. It also briefly describes the stage.
- T n Goals, What this stage teaches
This section details the goals of the stage as a teaching exercise. Be sure that examiners will check that you understood these points. They also have instructions to ask questions about previous stages.
- T n Samples, See T n work
This section exhibits examples generated from the reference compiler to present and “specify” the stage.
- T n Given Code, Explanation on the provided code
This section points to the material we provide, introduces its components, quickly presents their designs and so forth. Check out the developer documentation of the Tiger Compiler for more information, as the code is (hopefully) properly documented.
- T n Code to Write, Explanation on what you have to write
But of course, this code is not complete; this section provides hints on what is expected, and where.
- T n Options, Want some more?
During some stages, those who find the main task too easy can implement more features. This section suggests possible additional features.
- T n FAQ, Questions not to ask
Each stage sees a blossom of new questions, some of which being extremely pertinent. We selected the most important ones, those that you should be aware of, contrary to many more questions that you ought to find and ask yourselves. This section answers this few questions. And since they are already answered, you should not ask them…
- T n Recurring bugs, The same bugs through the ages
During debugs, there is always some few bugs that repeats everytime. To save everybody’s time, go and check this section when you encounter a bug before asking for a debug.
- T n Improvements, Other Designs
The Tiger Compiler is an instructional project the audience of which is learning C++. Therefore, although by the end of the development, in the latter stages, we can expect able C++ programmers, most of the time we have to refrain from using advanced designs, or intricate C++ techniques. This section provides hints on what could have been done to improve the stage. You can think of this section as material you ought to read once the project is over and you are a grown-up C++ programmer.