Next: , Previous: , Up: TC-3   [Contents][Index]


4.5.4 TC-3 Code to Write

misc::scoped_map<Key, Data>

Complete the class template misc::scoped_map in lib/misc/scoped-map.hh and lib/misc/scoped-map.hxx. See lib/misc, See scoped_map, for more details.

Equip ast

Augment constructs “using” an identifier, such as CallExp, with def_, def_get, and def_set to be able to set a reference to their definition, here a FunctionDec.

ast::PrettyPrinter

Implement --bindings-display support in the PrettyPrinter. Be sure to display the addresses exactly as displayed in this document: immediately after the identifier.

Complete the bind::Binder

Most of the assignment is here...

Complete the object::Binder

...and here. object::Binder inherits from bind::Binder so as to factor common parts.

Implement renaming to unique identifiers.

TC-R is a mandatory assignment. Once TC-3 completed, implementing TC-R is straightforward, see TC-R. Note that --rename is helpful to write a test suite for TC-3.

Complete auxiliary code

Write the tasks, libbind.* etc.