casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | List of all members
casacore::TaQLNodeVisitor Class Referenceabstract

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

#include <TaQLNodeVisitor.h>

Inheritance diagram for casacore::TaQLNodeVisitor:
casacore::TaQLNodeHandler

Public Member Functions

virtual ~TaQLNodeVisitor ()
 
virtual TaQLNodeResult visitConstNode (const TaQLConstNodeRep &node)=0
 Define the functions to visit each node type. More...
 
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 visitGroupNode (const TaQLGroupNodeRep &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
 
virtual TaQLNodeResult visitAltTabNode (const TaQLAltTabNodeRep &node)=0
 
virtual TaQLNodeResult visitAddColNode (const TaQLAddColNodeRep &node)=0
 
virtual TaQLNodeResult visitSetKeyNode (const TaQLSetKeyNodeRep &node)=0
 
virtual TaQLNodeResult visitRenDropNode (const TaQLRenDropNodeRep &node)=0
 
virtual TaQLNodeResult visitAddRowNode (const TaQLAddRowNodeRep &node)=0
 
virtual TaQLNodeResult visitConcTabNode (const TaQLConcTabNodeRep &node)=0
 
virtual TaQLNodeResult visitShowNode (const TaQLShowNodeRep &node)=0
 

Protected Member Functions

TaQLNodeResult visitNode (const TaQLNode &node)
 A convenience function to visit the given node using this visitor. More...
 

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 73 of file TaQLNodeVisitor.h.

Constructor & Destructor Documentation

virtual casacore::TaQLNodeVisitor::~TaQLNodeVisitor ( )
virtual

Member Function Documentation

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitAddColNode ( const TaQLAddColNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitAddRowNode ( const TaQLAddRowNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitAltTabNode ( const TaQLAltTabNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitBinaryNode ( const TaQLBinaryNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitCalcNode ( const TaQLCalcNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitColNode ( const TaQLColNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitColSpecNode ( const TaQLColSpecNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitColumnsNode ( const TaQLColumnsNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitConcTabNode ( const TaQLConcTabNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitConstNode ( const TaQLConstNodeRep node)
pure virtual

Define the functions to visit each node type.

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitCountNode ( const TaQLCountNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitCreTabNode ( const TaQLCreTabNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitDeleteNode ( const TaQLDeleteNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitFuncNode ( const TaQLFuncNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitGivingNode ( const TaQLGivingNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitGroupNode ( const TaQLGroupNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitIndexNode ( const TaQLIndexNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitInsertNode ( const TaQLInsertNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitJoinNode ( const TaQLJoinNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitKeyColNode ( const TaQLKeyColNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitLimitOffNode ( const TaQLLimitOffNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitMultiNode ( const TaQLMultiNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

TaQLNodeResult casacore::TaQLNodeVisitor::visitNode ( const TaQLNode node)
inlineprotected

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

Definition at line 120 of file TaQLNodeVisitor.h.

References casacore::TaQLNode::visit().

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitRangeNode ( const TaQLRangeNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitRecFldNode ( const TaQLRecFldNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitRegexNode ( const TaQLRegexNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitRenDropNode ( const TaQLRenDropNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitSelectNode ( const TaQLSelectNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitSetKeyNode ( const TaQLSetKeyNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitShowNode ( const TaQLShowNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitSortKeyNode ( const TaQLSortKeyNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitSortNode ( const TaQLSortNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitTableNode ( const TaQLTableNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitUnaryNode ( const TaQLUnaryNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitUnitNode ( const TaQLUnitNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitUpdateNode ( const TaQLUpdateNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.

virtual TaQLNodeResult casacore::TaQLNodeVisitor::visitUpdExprNode ( const TaQLUpdExprNodeRep node)
pure virtual

Implemented in casacore::TaQLNodeHandler.


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