tipc
A TIP to LLVM compiler
|
Base class for AST visitors. More...
#include <ASTVisitor.h>
Public Member Functions | |
virtual bool | visit (ASTProgram *element) |
virtual void | endVisit (ASTProgram *element) |
virtual bool | visit (ASTFunction *element) |
virtual void | endVisit (ASTFunction *element) |
virtual bool | visit (ASTNumberExpr *element) |
virtual void | endVisit (ASTNumberExpr *element) |
virtual bool | visit (ASTVariableExpr *element) |
virtual void | endVisit (ASTVariableExpr *element) |
virtual bool | visit (ASTBinaryExpr *element) |
virtual void | endVisit (ASTBinaryExpr *element) |
virtual bool | visit (ASTInputExpr *element) |
virtual void | endVisit (ASTInputExpr *element) |
virtual bool | visit (ASTFunAppExpr *element) |
virtual void | endVisit (ASTFunAppExpr *element) |
virtual bool | visit (ASTAllocExpr *element) |
virtual void | endVisit (ASTAllocExpr *element) |
virtual bool | visit (ASTRefExpr *element) |
virtual void | endVisit (ASTRefExpr *element) |
virtual bool | visit (ASTDeRefExpr *element) |
virtual void | endVisit (ASTDeRefExpr *element) |
virtual bool | visit (ASTNullExpr *element) |
virtual void | endVisit (ASTNullExpr *element) |
virtual bool | visit (ASTFieldExpr *element) |
virtual void | endVisit (ASTFieldExpr *element) |
virtual bool | visit (ASTRecordExpr *element) |
virtual void | endVisit (ASTRecordExpr *element) |
virtual bool | visit (ASTAccessExpr *element) |
virtual void | endVisit (ASTAccessExpr *element) |
virtual bool | visit (ASTDeclNode *element) |
virtual void | endVisit (ASTDeclNode *element) |
virtual bool | visit (ASTDeclStmt *element) |
virtual void | endVisit (ASTDeclStmt *element) |
virtual bool | visit (ASTAssignStmt *element) |
virtual void | endVisit (ASTAssignStmt *element) |
virtual bool | visit (ASTWhileStmt *element) |
virtual void | endVisit (ASTWhileStmt *element) |
virtual bool | visit (ASTIfStmt *element) |
virtual void | endVisit (ASTIfStmt *element) |
virtual bool | visit (ASTOutputStmt *element) |
virtual void | endVisit (ASTOutputStmt *element) |
virtual bool | visit (ASTReturnStmt *element) |
virtual void | endVisit (ASTReturnStmt *element) |
virtual bool | visit (ASTErrorStmt *element) |
virtual void | endVisit (ASTErrorStmt *element) |
virtual bool | visit (ASTBlockStmt *element) |
virtual void | endVisit (ASTBlockStmt *element) |
Base class for AST visitors.
The AST visitor class abstracts the traversal of an AST. It works in concert with the accept methods of ASTNode subtypes. Each of those nodes performs a traversal of its children in an order corresponding to their appearance in the source program. This class defines default behavior for the processing performed when the traversal reaches a node of a given type. By default the visit method returns true, indicating that the children of the node should also be visited, and the endVisit method does nothing.
Subtypes of ASTVisitor will selectively override these default methods. Overriding a visit permits a pre-order processing during traversal and overriding endVisit permits a post-order processing.
Subtype of ASTVisitor will also define member data that can be referenced by overridden methods to communicate information along the traversal to future method invocations.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, AbsentFieldChecker, FieldNameCollector, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in CheckAssignable, TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in PrettyPrinter.
|
inlinevirtual |
Reimplemented in LocalNameCollector, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in FieldNameCollector, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, PolyTypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, LocalNameCollector, CFAnalyzer, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in CheckAssignable, TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in PrettyPrinter.
|
inlinevirtual |
Reimplemented in LocalNameCollector, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, and PrettyPrinter.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CFAnalyzer.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in PrettyPrinter.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CFAnalyzer, and CallGraphBuilder.
|
inlinevirtual |
Reimplemented in TypeConstraintVisitor, LocalNameCollector, FunctionNameCollector, CFAnalyzer, CallGraphBuilder, and PrettyPrinter.
|
inlinevirtual |
Reimplemented in PrettyPrinter.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in PrettyPrinter.