Mechanism for traversing the AST and computing attributes.

This AST Processing Mechanism allows to traverse the AST and to compute inherited and synthesized attributes. The interfaces:

SimpleProcessing provides a pre- and postorder traversal of the AST. The user needs to implement one visit function. The TopDownProcessing - provides the computation of inherited attributes using a pre-order traversal. The BottomUpProcessing - provides the computation of synthesized attributes using a post-order traversal. The BottomUpTopDownProcessing - provides the computation of inherited and synthesized attributes.

The classes have pure virtual functions. You must inherit and implement the required methods.

Collaboration diagram for AST Processing:


class  AstSimpleProcessing
 Class for traversing the AST. More...
class  AstTopDownProcessing< InheritedAttributeType >
 Attribute Evaluator for inherited attributes. More...
class  AstBottomUpProcessing< SynthesizedAttributeType >
 Attribute Evaluator for synthesized attributes. More...
class  AstTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >
 Attribute Evaluator for inherited and synthesized attributes. More...