Next: TC-2 Samples, Up: TC-2 [Contents][Index]
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.
Using the error
token, and building usable ASTs in spite
of lexical/syntax errors.
The AST uses std::vector
, misc::symbol
uses
std::set
.
The AST hierarchy is typical example of a proper use of inheritance, together with...
An intense use of inclusion polymorphism for accept
.
In particular using the destructors to reclaim memory bound to components.
virtual
Dynamic and static bindings.
misc::indent
misc::indent
extends std::ostream
with indentation
features. Use it in the PrettyPrinter
to pretty-print.
Understanding how misc::indent
works will be checked later, see
TC-3 Goals.
The AST hierarchy is an implementation of the Composite pattern.
The PrettyPrinter
is an implementation of the Visitor
pattern.
The AST must be properly documented.