tipc
A TIP to LLVM compiler
|
Collects the names of functions declared in the program. More...
#include <FunctionNameCollector.h>
Public Member Functions | |
FunctionNameCollector ()=default | |
virtual bool | visit (ASTFunction *element) override |
![]() | |
virtual bool | visit (ASTProgram *element) |
virtual void | endVisit (ASTProgram *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) |
Static Public Member Functions | |
static std::map< std::string, std::pair< ASTDeclNode *, bool > > | build (ASTProgram *p) |
Public Attributes | |
std::map< std::string, std::pair< ASTDeclNode *, bool > > | fMap |
Collects the names of functions declared in the program.
The function name builder visits a restricted set of nodes, just functions, It records the name in the function map as well as whether it is a polymorphic function. It checks that a name is declared at most once. Errors are reported by throwing SemanticError exceptions.
|
default |
|
static |
|
overridevirtual |
Reimplemented from ASTVisitor.
std::map<std::string, std::pair<ASTDeclNode *, bool> > FunctionNameCollector::fMap |