Logo Search packages:      
Sourcecode: fauhdlc version File versions

ast::ResolveAggregates Class Reference

#include <ResolveAggregates.hpp>

Inheritance diagram for ast::ResolveAggregates:

ast::NullVisitor ast::Visitor

List of all members.


Detailed Description

Resolve ranges of one positional and named aggregate.

This visitor will resolve an array aggregate and set the range member of an ElementAssociation to the result. In case of erroneous specifications, errors will get reported.

This class will only handle one single Aggregate. Dependencies:

Definition at line 30 of file ResolveAggregates.hpp.


Public Member Functions

 ResolveAggregates (const DiscreteRange &arrayRange)
 c'tor
virtual void visit (AttributeSpecification &node)
virtual void visit (AttributeDeclaration &node)
virtual void visit (TypeConversion &node)
virtual void visit (Subscript &node)
virtual void visit (ConstArray &node)
virtual void visit (Slice &node)
virtual void visit (LibraryList &node)
virtual void visit (Library &node)
virtual void visit (SubtypeIndication &node)
virtual void visit (EnumerationElement &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 (Process &node)
virtual void visit (PackageBody &node)
virtual void visit (Package &node)
virtual void visit (CompInstStat &node)
virtual void visit (ProcedureDeclaration &node)
virtual void visit (FunctionDeclaration &node)
virtual void visit (AssociationElement &node)
virtual void visit (Architecture &node)
virtual void visit (CaseAlternative &node)
virtual void visit (CaseStat &node)
virtual void visit (VarDeclaration &node)
virtual void visit (AssertStat &node)
virtual void visit (ProcCallStat &node)
virtual void visit (ReturnStat &node)
virtual void visit (WaveFormElem &node)
virtual void visit (SigAssignStat &node)
virtual void visit (ExitStat &node)
virtual void visit (WaitStat &node)
virtual void visit (VarAssignStat &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 (FunctionCall &node)
virtual void visit (ConstantDeclaration &node)
virtual void visit (SignalDeclaration &node)
virtual void visit (Entity &node)
virtual void visit (AttributeName &node)
virtual void visit (SelectedName &node)
virtual void visit (TemporaryName &node)
virtual void visit (SimpleName &node)
virtual void visit (ConstReal &node)
virtual void visit (Aggregate &node)
virtual ~ResolveAggregates ()
 d'tor

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 (LibUnit &node)
 Process a generic LibUnit.
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.

Private Member Functions

virtual void process (AstNode &node)
 Process a generic AstNode.
virtual void visit (DiscreteRange &node)
virtual void visit (ConstInteger &node)
virtual void visit (Others &node)
virtual void visit (ElementAssociation &node)

Private Attributes

RangeSetcurrentRange
 current range for an ElementAssociation (or NULL)
bool haveOthers
 others node present in assocation list?
bool named
 named association list?
bool othersErrorReported
 was an error for a wrong others node reported already?
bool positional
 positional association list?
Sequencer sequencer
 sequencer for this array aggregate.

Classes

class  Sequencer
 produce sequences of numbers. More...

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

Generated by  Doxygen 1.6.0   Back to index