casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions
casa::TaQLNodeVisitor Class Reference

Class to visit the nodes in the raw TaQL parse tree. More...

#include <TaQLNodeVisitor.h>

Inheritance diagram for casa::TaQLNodeVisitor:
casa::TaQLNodeHandler

List of all members.

Public Member Functions

virtual ~TaQLNodeVisitor ()
virtual TaQLNodeResult visitConstNode (const TaQLConstNodeRep &node)=0
 Define the functions to visit each node type.
virtual TaQLNodeResult visitRegexNode (const TaQLRegexNodeRep &node)=0
virtual TaQLNodeResult visitUnaryNode (const TaQLUnaryNodeRep &node)=0
virtual TaQLNodeResult visitBinaryNode (const TaQLBinaryNodeRep &node)=0
virtual TaQLNodeResult visitMultiNode (const TaQLMultiNodeRep &node)=0
virtual TaQLNodeResult visitFuncNode (const TaQLFuncNodeRep &node)=0
virtual TaQLNodeResult visitRangeNode (const TaQLRangeNodeRep &node)=0
virtual TaQLNodeResult visitIndexNode (const TaQLIndexNodeRep &node)=0
virtual TaQLNodeResult visitKeyColNode (const TaQLKeyColNodeRep &node)=0
virtual TaQLNodeResult visitTableNode (const TaQLTableNodeRep &node)=0
virtual TaQLNodeResult visitColNode (const TaQLColNodeRep &node)=0
virtual TaQLNodeResult visitColumnsNode (const TaQLColumnsNodeRep &node)=0
virtual TaQLNodeResult visitJoinNode (const TaQLJoinNodeRep &node)=0
virtual TaQLNodeResult visitSortKeyNode (const TaQLSortKeyNodeRep &node)=0
virtual TaQLNodeResult visitSortNode (const TaQLSortNodeRep &node)=0
virtual TaQLNodeResult visitLimitOffNode (const TaQLLimitOffNodeRep &node)=0
virtual TaQLNodeResult visitGivingNode (const TaQLGivingNodeRep &node)=0
virtual TaQLNodeResult visitUpdExprNode (const TaQLUpdExprNodeRep &node)=0
virtual TaQLNodeResult visitSelectNode (const TaQLSelectNodeRep &node)=0
virtual TaQLNodeResult visitUpdateNode (const TaQLUpdateNodeRep &node)=0
virtual TaQLNodeResult visitInsertNode (const TaQLInsertNodeRep &node)=0
virtual TaQLNodeResult visitDeleteNode (const TaQLDeleteNodeRep &node)=0
virtual TaQLNodeResult visitCountNode (const TaQLCountNodeRep &node)=0
virtual TaQLNodeResult visitCalcNode (const TaQLCalcNodeRep &node)=0
virtual TaQLNodeResult visitCreTabNode (const TaQLCreTabNodeRep &node)=0
virtual TaQLNodeResult visitColSpecNode (const TaQLColSpecNodeRep &node)=0
virtual TaQLNodeResult visitRecFldNode (const TaQLRecFldNodeRep &node)=0
virtual TaQLNodeResult visitUnitNode (const TaQLUnitNodeRep &node)=0

Protected Member Functions

TaQLNodeResult visitNode (const TaQLNode &node)
 
   


Detailed Description

Class to visit the nodes in the raw TaQL parse tree.

Intended use:

Internal

Review Status

Test programs:
tTableGram

Prerequisite

Synopsis

TaQLNodeVisitor is the abstract base class for classes that want to visit a TaQLNode tree, i.e. traverse the tree. Each visit results in a TaQLNodeResult object which acts as the basis for the actual result object.
A specialization of TaQLNodeVisitor (e.g. class TaQLNodeHandler needs to implement the various visitXXNode functions. A visit function will process a node which usually means visiting its children, etc..

Motivation

The visitor design pattern separates the tree from the way it is processed. In this way any handler can be created. For instance, a query optimizer could be a future other handler.

Definition at line 72 of file TaQLNodeVisitor.h.


Constructor & Destructor Documentation


Member Function Documentation

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitCalcNode ( const TaQLCalcNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitColNode ( const TaQLColNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitConstNode ( const TaQLConstNodeRep node) [pure virtual]

Define the functions to visit each node type.

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitCountNode ( const TaQLCountNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitFuncNode ( const TaQLFuncNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitIndexNode ( const TaQLIndexNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitJoinNode ( const TaQLJoinNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitMultiNode ( const TaQLMultiNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

TaQLNodeResult casa::TaQLNodeVisitor::visitNode ( const TaQLNode node) [inline, protected]

   

A convenience function to visit the given node using this visitor.

Definition at line 111 of file TaQLNodeVisitor.h.

References casa::TaQLNode::visit().

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitRangeNode ( const TaQLRangeNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitRegexNode ( const TaQLRegexNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitSortNode ( const TaQLSortNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitTableNode ( const TaQLTableNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitUnaryNode ( const TaQLUnaryNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

virtual TaQLNodeResult casa::TaQLNodeVisitor::visitUnitNode ( const TaQLUnitNodeRep node) [pure virtual]

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.

Implemented in casa::TaQLNodeHandler.


The documentation for this class was generated from the following file: