PUMA Library Reference Manual
Loading...
Searching...
No Matches
Puma::CCSemVisitor Class Reference

#include <CCSemVisitor.h>

+ Inheritance diagram for Puma::CCSemVisitor:

Public Member Functions

 CCSemVisitor (ErrorSink &)
 
void run (CTree *, CStructure *=(CStructure *) 0)
 
void configure (Config &)
 

Protected Member Functions

void pre_visit (CTree *)
 Apply actions before the given node is visited.
 
void post_visit (CTree *)
 Apply actions after the given node is visited.
 
void pre_action (CT_Program *)
 
void pre_action (CT_ArgDeclList *)
 
void pre_action (CT_ArgNameList *)
 
void pre_action (CT_ArgDeclSeq *)
 
void pre_action (CT_MembList *)
 
void pre_action (CT_MembInitList *)
 
void pre_action (CT_MembInit *)
 
void pre_action (CT_CmpdStmt *)
 
void pre_action (CT_IfStmt *)
 
void pre_action (CT_IfElseStmt *)
 
void pre_action (CT_SwitchStmt *)
 
void pre_action (CT_ForStmt *)
 
void pre_action (CT_WhileStmt *)
 
void pre_action (CT_Handler *)
 
void pre_action (CT_TemplateDecl *)
 
void pre_action (CT_DoStmt *)
 
void pre_action (CT_ExprStmt *)
 
void pre_action (CT_CaseStmt *)
 
void pre_action (CT_GotoStmt *)
 
void pre_action (CT_ReturnStmt *)
 
void pre_action (CT_InitDeclarator *)
 
void pre_action (CT_ArgDecl *)
 
void pre_action (CT_Condition *)
 
void pre_action (CT_ArrayDeclarator *)
 
void pre_action (CT_BitFieldDeclarator *)
 
void pre_action (CT_ExprList *)
 
void pre_action (CT_CmpdLiteral *)
 
void post_action (CT_Program *)
 
void post_action (CT_ArgDeclList *)
 
void post_action (CT_ArgNameList *)
 
void post_action (CT_ArgDeclSeq *)
 
void post_action (CT_MembList *)
 
void post_action (CT_MembInitList *)
 
void post_action (CT_CmpdStmt *)
 
void post_action (CT_IfStmt *)
 
void post_action (CT_IfElseStmt *)
 
void post_action (CT_SwitchStmt *)
 
void post_action (CT_ForStmt *)
 
void post_action (CT_WhileStmt *)
 
void post_action (CT_Handler *)
 
void post_action (CT_TemplateDecl *)
 
CTypeInforesolveExpr (CTree *, CTree *) const
 
CTypeInforesolveInit (CTree *, CTree *) const
 

Protected Attributes

CStructurecurrent_scope
 
ErrorSinkerr
 

Constructor & Destructor Documentation

◆ CCSemVisitor()

Puma::CCSemVisitor::CCSemVisitor ( ErrorSink & e)
inline

Member Function Documentation

◆ configure()

void Puma::CCSemVisitor::configure ( Config & )
inline

◆ post_action() [1/14]

void Puma::CCSemVisitor::post_action ( CT_ArgDeclList * )
protected

◆ post_action() [2/14]

void Puma::CCSemVisitor::post_action ( CT_ArgDeclSeq * )
protected

◆ post_action() [3/14]

void Puma::CCSemVisitor::post_action ( CT_ArgNameList * )
protected

◆ post_action() [4/14]

void Puma::CCSemVisitor::post_action ( CT_CmpdStmt * )
protected

◆ post_action() [5/14]

void Puma::CCSemVisitor::post_action ( CT_ForStmt * )
protected

◆ post_action() [6/14]

void Puma::CCSemVisitor::post_action ( CT_Handler * )
protected

◆ post_action() [7/14]

void Puma::CCSemVisitor::post_action ( CT_IfElseStmt * )
protected

◆ post_action() [8/14]

void Puma::CCSemVisitor::post_action ( CT_IfStmt * )
protected

◆ post_action() [9/14]

void Puma::CCSemVisitor::post_action ( CT_MembInitList * )
protected

◆ post_action() [10/14]

void Puma::CCSemVisitor::post_action ( CT_MembList * )
protected

◆ post_action() [11/14]

void Puma::CCSemVisitor::post_action ( CT_Program * )
protected

◆ post_action() [12/14]

void Puma::CCSemVisitor::post_action ( CT_SwitchStmt * )
protected

◆ post_action() [13/14]

void Puma::CCSemVisitor::post_action ( CT_TemplateDecl * )
protected

◆ post_action() [14/14]

void Puma::CCSemVisitor::post_action ( CT_WhileStmt * )
protected

◆ post_visit()

void Puma::CCSemVisitor::post_visit ( CTree * node)
protectedvirtual

Apply actions after the given node is visited.

To be implemented by derived visitors.

Parameters
nodeThe node to visit.

Reimplemented from Puma::CVisitor.

◆ pre_action() [1/27]

void Puma::CCSemVisitor::pre_action ( CT_ArgDecl * )
protected

◆ pre_action() [2/27]

void Puma::CCSemVisitor::pre_action ( CT_ArgDeclList * )
protected

◆ pre_action() [3/27]

void Puma::CCSemVisitor::pre_action ( CT_ArgDeclSeq * )
protected

◆ pre_action() [4/27]

void Puma::CCSemVisitor::pre_action ( CT_ArgNameList * )
protected

◆ pre_action() [5/27]

void Puma::CCSemVisitor::pre_action ( CT_ArrayDeclarator * )
protected

◆ pre_action() [6/27]

void Puma::CCSemVisitor::pre_action ( CT_BitFieldDeclarator * )
protected

◆ pre_action() [7/27]

void Puma::CCSemVisitor::pre_action ( CT_CaseStmt * )
protected

◆ pre_action() [8/27]

void Puma::CCSemVisitor::pre_action ( CT_CmpdLiteral * )
protected

◆ pre_action() [9/27]

void Puma::CCSemVisitor::pre_action ( CT_CmpdStmt * )
protected

◆ pre_action() [10/27]

void Puma::CCSemVisitor::pre_action ( CT_Condition * )
protected

◆ pre_action() [11/27]

void Puma::CCSemVisitor::pre_action ( CT_DoStmt * )
protected

◆ pre_action() [12/27]

void Puma::CCSemVisitor::pre_action ( CT_ExprList * )
protected

◆ pre_action() [13/27]

void Puma::CCSemVisitor::pre_action ( CT_ExprStmt * )
protected

◆ pre_action() [14/27]

void Puma::CCSemVisitor::pre_action ( CT_ForStmt * )
protected

◆ pre_action() [15/27]

void Puma::CCSemVisitor::pre_action ( CT_GotoStmt * )
protected

◆ pre_action() [16/27]

void Puma::CCSemVisitor::pre_action ( CT_Handler * )
protected

◆ pre_action() [17/27]

void Puma::CCSemVisitor::pre_action ( CT_IfElseStmt * )
protected

◆ pre_action() [18/27]

void Puma::CCSemVisitor::pre_action ( CT_IfStmt * )
protected

◆ pre_action() [19/27]

void Puma::CCSemVisitor::pre_action ( CT_InitDeclarator * )
protected

◆ pre_action() [20/27]

void Puma::CCSemVisitor::pre_action ( CT_MembInit * )
protected

◆ pre_action() [21/27]

void Puma::CCSemVisitor::pre_action ( CT_MembInitList * )
protected

◆ pre_action() [22/27]

void Puma::CCSemVisitor::pre_action ( CT_MembList * )
protected

◆ pre_action() [23/27]

void Puma::CCSemVisitor::pre_action ( CT_Program * )
protected

◆ pre_action() [24/27]

void Puma::CCSemVisitor::pre_action ( CT_ReturnStmt * )
protected

◆ pre_action() [25/27]

void Puma::CCSemVisitor::pre_action ( CT_SwitchStmt * )
protected

◆ pre_action() [26/27]

void Puma::CCSemVisitor::pre_action ( CT_TemplateDecl * )
protected

◆ pre_action() [27/27]

void Puma::CCSemVisitor::pre_action ( CT_WhileStmt * )
protected

◆ pre_visit()

void Puma::CCSemVisitor::pre_visit ( CTree * node)
protectedvirtual

Apply actions before the given node is visited.

To be implemented by derived visitors.

Parameters
nodeThe node to visit.

Reimplemented from Puma::CVisitor.

◆ resolveExpr()

CTypeInfo * Puma::CCSemVisitor::resolveExpr ( CTree * ,
CTree *  ) const
protected

◆ resolveInit()

CTypeInfo * Puma::CCSemVisitor::resolveInit ( CTree * ,
CTree *  ) const
protected

◆ run()

void Puma::CCSemVisitor::run ( CTree * ,
CStructure * = (CStructure *) 0 )

Member Data Documentation

◆ current_scope

CStructure* Puma::CCSemVisitor::current_scope
protected

◆ err

ErrorSink& Puma::CCSemVisitor::err
protected