Logo Search packages:      
Sourcecode: fauhdlc version File versions

ast::GatherImplicits Class Reference

#include <GatherImplicits.hpp>

Inheritance diagram for ast::GatherImplicits:

ast::TopDownVisitor ast::Visitor

List of all members.


Detailed Description

gather drivers and formal parameters and register these to the processes

This visitor will gather all implicit defined entities and register these to the process statements or callable's. It will pickup

Definition at line 30 of file GatherImplicits.hpp.


Public Member Functions

 GatherImplicits ()
 dummy c'tor, initilize members.
virtual void visit (AttributeSpecification &node)
virtual void visit (AttributeDeclaration &node)
virtual void visit (AttributeName &node)
virtual void visit (SelectedName &node)
virtual void visit (TemporaryName &node)
virtual void visit (TypeConversion &node)
virtual void visit (Slice &node)
virtual void visit (Subscript &node)
virtual void visit (LibraryList &node)
virtual void visit (Library &node)
virtual void visit (SubtypeIndication &node)
virtual void visit (EnumerationElement &node)
virtual void visit (Aggregate &node)
virtual void visit (RecordTypeElement &node)
virtual void visit (RecordType &node)
virtual void visit (UnconstrainedArrayType &node)
virtual void visit (RangeConstraintType &node)
virtual void visit (PhysicalTypeUnit &node)
virtual void visit (PhysicalType &node)
virtual void visit (EnumerationType &node)
virtual void visit (CondalSigAssign &node)
virtual void visit (SubprogBody &node)
virtual void visit (PackageBody &node)
virtual void visit (Package &node)
virtual void visit (CompInstStat &node)
virtual void visit (AssociationElement &node)
virtual void visit (Architecture &node)
virtual void visit (Others &node)
virtual void visit (CaseAlternative &node)
virtual void visit (CaseStat &node)
virtual void visit (DiscreteRange &node)
virtual void visit (VarDeclaration &node)
virtual void visit (AssertStat &node)
virtual void visit (ReturnStat &node)
virtual void visit (WaveFormElem &node)
virtual void visit (ExitStat &node)
virtual void visit (WaitStat &node)
virtual void visit (NextStat &node)
virtual void visit (WhileLoopStat &node)
virtual void visit (ForLoopStat &node)
virtual void visit (NullStat &node)
virtual void visit (IfStat &node)
virtual void visit (ConstantDeclaration &node)
virtual void visit (SignalDeclaration &node)
virtual void visit (Entity &node)
virtual void visit (ConstArray &node)
virtual void visit (ConstReal &node)
virtual void visit (ConstInteger &node)
virtual void visit (ElementAssociation &node)

Protected Member Functions

template<typename T>
void listTraverse (T &l, bool &deleteFlag)
 traverse a list of AST nodes, eventually deleting a node.
template<typename T>
void listTraverse (T l)
 traverse a list of AST nodes.
virtual void process (AttributableDeclaration &node)
 Process a AttributableDeclaration.
virtual void process (Name &node)
 Process a generic Name.
virtual void process (PrefixedName &node)
 Process a generic PrefixedName.
virtual void process (TypeDeclaration &node)
 Process a generic TypeDeclaration.
virtual void process (Callable &node)
 Process a generic Callable.
virtual void process (ConditionedStat &node)
 Process a generic ConditionedStat.
virtual void process (LoopStat &node)
 Process a generic LoopStat.
virtual void process (SeqStat &node)
 Process a generic SeqStat.
virtual void process (Expression &node)
 Process a generic Expression.
virtual void process (SymbolDeclaration &node)
 Process a generic SymbolDeclaration.
virtual void process (ValDeclaration &node)
 Process a generic ValDeclaration.
virtual void process (AstNode &node)
 Process a generic AstNode.

Static Protected Attributes

static int visits = 0

Private Types

typedef std::map< const
ValDeclaration *, std::pair
< ValDeclaration *, SimpleName * > > 
formalMapT
enum  VMode { VMODE_TARGET_SIGNAL, VMODE_TARGET_VAR, VMODE_SOURCE }

Private Member Functions

virtual void process (LibUnit &node)
 Process a generic LibUnit.
void processCallable (Callable &node)
void registerDriver (ValDeclaration &decl, enum symType t)
DriverregisterDriver (const SignalDeclaration &decl, SimpleName &n)
SimpleNameregisterFormal (const ValDeclaration *formal, TypeDeclaration *actualType)
virtual void visit (ProcedureDeclaration &node)
virtual void visit (FunctionDeclaration &node)
virtual void visit (ProcCallStat &node)
virtual void visit (FunctionCall &node)
virtual void visit (Process &node)
virtual void visit (SimpleName &node)
virtual void visit (VarAssignStat &node)
virtual void visit (SigAssignStat &node)

Private Attributes

unsigned int driverCounter
std::map< const
SignalDeclaration *, Driver * > 
drivers
formalMapT formals
enum VMode mode
 current visitor mode
unsigned int uhfCounter

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

Generated by  Doxygen 1.6.0   Back to index