Logo Search packages:      
Sourcecode: fauhdlc version File versions

ast::CheckLoops Class Reference

#include <CheckLoops.hpp>

Inheritance diagram for ast::CheckLoops:

ast::TopDownVisitor ast::Visitor

List of all members.


Detailed Description

check loop statements.

This class will check, if next statements will occur within loop statements. TODO check if loop statements have an effect in the first place.

Definition at line 24 of file CheckLoops.hpp.


Public Member Functions

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 (SimpleName &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 (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 (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 (ProcCallStat &node)
virtual void visit (ReturnStat &node)
virtual void visit (WaveFormElem &node)
virtual void visit (SigAssignStat &node)
virtual void visit (WaitStat &node)
virtual void visit (VarAssignStat &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 (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 (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 (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 Member Functions

LoopStatlookup (SimpleName *label) const
 search the stack for the loop label and return it.
void missingLoop (const AstNode &node, const SimpleName *label, const char *kind) const
 report an error that no corresponding loop was found.
virtual void process (LoopStat &node)
 Process a generic LoopStat.
virtual void visit (NextStat &node)
virtual void visit (ExitStat &node)
template<typename T>
void visitLoopCFNode (T &node, const char *kind) const

Private Attributes

std::list< LoopStat * > loops
 stack of current loop statements.

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

Generated by  Doxygen 1.6.0   Back to index