Template Class DOTGeneration#

Inheritance Relationships#

Base Type#

Class Documentation#

template<class Node>
class DOTGeneration : public SgTopDownBottomUpProcessing<DOTInheritedAttribute, DOTSynthesizedAttribute>#

Public Types

enum traversalType#

Values:

enumerator PREORDER#
enumerator POSTORDER#
enumerator TOPDOWN#
enumerator BOTTOMUP#
enumerator TOPDOWNBOTTOMUP#

Public Functions

DOTGeneration()#
void generate(std::string filename, Node node, traversalType tt = TOPDOWNBOTTOMUP)#
virtual DOTInheritedAttribute evaluateInheritedAttribute(Node node, DOTInheritedAttribute ia)#
virtual DOTSynthesizedAttribute evaluateSynthesizedAttribute(Node node, DOTInheritedAttribute ia, SubTreeSynthesizedAttributes l)#
virtual std::string additionalNodeInfo(Node node)#
virtual std::string additionalNodeOptions(Node node)#
virtual std::string additionalEdgeOptions(Node from, Node to, std::string label)#
virtual std::string additionalEdgeInfo(Node from, Node to, std::string label)#
void init()#

Public Members

traversalType traversal#
DOTRepresentation<Node> dotrep#
DOTRepresentation<Node>::TraceType tdTrace#
DOTRepresentation<Node>::TraceType buTrace#
DOTRepresentation<Node>::TraceType tdbuTrace#

Protected Attributes

std::string filename#
std::string filenamePostfix#
std::set<Node> visitedNodes#