Things to learn during this stage that you should remember:
Following a strict coding style is an essential part of collaborative work. Understanding the rationales behind rules is even better. See Coding Style.
Using tools such as Valgrind (see Valgrind) to track memory leaks.
The parser should now use all the possibilities of a GLR parser.
error token, and building usable ASTs in spite
of lexical/syntax errors.
The AST uses
The AST hierarchy is typical example of a proper use of inheritance, together with...
An intense use of inclusion polymorphism for
In particular using the destructors to reclaim memory bound to components.
Dynamic and static bindings.
std::ostream with indentation
features. Use it in the
PrettyPrinter to pretty-print.
misc::indent works will be checked later, see
The AST hierarchy is an implementation of the Composite pattern.
PrettyPrinter is an implementation of the Visitor
The AST must be properly documented.