[Top] [Prev] [Next] [Bottom]
CHAPTER 9 FIR_Tuple Derived Classes
Classes derived from FIR_Tuple represent specific collections of information related to a particular aspect of the design being represented. For a specific class derived from FIR_Tuple, the set of information is finite and well defined. Table 26 on page 75 illustrates the design hierarchy derived from FIR_Tuple.
9.1 FIR_Tuple
The FIR_Tuple class represents miscellaneous objects having a predefined set of constituent data elements.
9.1.1 Properties
9.1.2 Predefined Data Elements
There are no additional data elements over the base FIR.
struct FIR_Tuple {
IR_Kind kind;
FIR_Source source_locator;
};
9.2 FIR_AssociationElement
9.2.1 Derived Class Description
The predefined FIR_AssociationElement classes pair a formal and (optional) actual. During elaboration, a list of such association elements serves to associate an actual value with a formal. Association elements are derived into two sub-classes: associations where the actual is an expression (FIR_AssociationElementByExpression) and associations where the actual is open (FIR_AssociationElementByOpen). Association elements are organized as individually allocated elements of a FIR_A list.
9.2.2 Properties
9.2.3 Predefined Data Elements
struct FIR_AssociationElement {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* in FIR_AssociationList */
FIR_Ref formal;
};
9.3 FIR_AssociationElementByExpression
9.3.1 Derived Class Description
The predefined class FIR_AssociationElementByExpression represents either an association between a formal and an explicit actual expression or an association between elements of a composite type and their values within an aggregate.
9.3.2 Properties
9.3.3 Predefined Data Elements
struct FIR_AssocicationElementByExpression {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* in FIR_AssociationElementList */
FIR_Ref formal;
FIR_Ref actual;
};
9.4 FIR_AssociationElementOpen
9.4.1 Derived Class Description
The predefined class FIR_AssociationElementOpen represents either an association between a formal and an implicit actual expression or between the elements of a composite type and the value associated with the specified elements within an aggregate. The implicit actual value is derived from (1) a delayed binding, (2) an initializer associated with the formal interface declaration or (3) the (sub)type of the declaration itself.
9.4.2 Properties
9.4.3 Predefined Data Elements
struct FIR_AssociationElementOpen {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next_in_list; /* FIR_AssociationElement */
FIR_Ref formal;
};
9.5 FIR_BreakElement
9.5.1 Derived Class Description
The predefined FIR_BreakElement denotes a single choice within a FIR_BreakList.
9.5.2 Properties
9.5.3 Predefined Data Elements
struct FIR_BreakElement {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* in FIR_BreakList */
FIR_Ref quantity;
FIR_Ref expression;
};
9.6 FIR_CaseStatementAlternative
9.6.1 Derived Class Description
The predefined FIR_CaseStatementAlternative represents a choice and implication within a case statement. The choice may either explicitly denote elements of a composite type or may refer to elements which have not already been referenced previously in a case statement alternative list. Objects of case statement alternative class are actually constructed from one of two derived classes corresponding to explicit and others choices.
9.6.2 Properties
9.6.3 Predefined Data Elements
struct FIR_CaseStatementAlternative {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_CaseStatementAlternativeList link */
FIR_SequentialStatementList sequence_of_statements;
};
9.7 FIR_CaseStatementAlternativeByExpression
9.7.1 Derived Class Description
The predefined FIR_CaseStatementAlternativeByExpression represents a case statement alternative in which the choice is a simple expression, discrete range (range type), or element simple name (the choice).
9.7.2 Properties
struct FIR_CaseStatementAlternativeByExpression {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* in FIR_CaseStatementAlternativeList */
FIR_SequentialStatementList sequence_of_statements;
FIR_Ref choice;
};
9.8 FIR_CaseStatementAlternativeByChoices
9.8.1 Derived Class Description
The predefined FIR_CaseStatementAlternativeByChoices represents a case statement alternative in which corresponds to a list of choices.
9.8.2 Properties
struct FIR_CaseStatementAlternativeByChoices {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* in FIR_CaseStatementAlternativeList */
FIR_SequentialStatementList sequence_of_statements;
FIR_ChoiceList choice;
};
9.9 FIR_CaseStatementAlternativeByOthers
The predefined FIR_CaseStatementByOthers represents a case statement alternative in which the choice implicitly denotes other elements of the case's composite subtype not previously explicit within an FIR_CaseStatementAlternativeList.
9.9.1 Properties
9.9.2 Predefined Data Elements
struct FIR_CaseStatementAlternativeByOthers {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* in FIR_CaseStatementAlternativeList */
FIR_SequentialStatementList sequence_of_statements;
};
9.10 FIR_Choice
The predefined FIR_Choice represents a choice in an FIR_ChoiceList. The value may be a simple expression, discrete range or element simple name.
9.10.1 Properties
9.10.2 Predefined Data Elements
struct FIR_Choice {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* in FIR_ChoiceList */
FIR_Ref choice;
};
9.11 FIR_ConditionalWaveform
9.11.1 Derived Class Description
The predefined FIR_ConditionalWaveform class represents a single conditional waveform element within an FIR_ConditionalWaveformList.
9.11.2 Properties
9.11.3 Predefined Data Elements
struct FIR_ConditionalWaveform {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_ConditionalWaveformList linkage */
FIR_Ref condition;
FIR_WaveformList waveform_list;
};
9.12 FIR_ConfigurationItem
9.12.1 Derived Class Description
The predefined FIR_ConfigurationItem class represents a block configuration or component configuration item within an FIR_ConfigurationItemList.
9.12.2 Properties
9.12.3 Predefined Data Elements
struct FIR_ConfigurationItem {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* in FIR_ConfigurationItemList */
};
9.13 FIR_BlockConfiguration
9.13.1 Derived Class Description
The predefined FIR_BlockConfiguration configures a specific concurrent block (indirectly) within a configuration design unit.
9.13.2 Properties
9.13.3 Predefined Data Elements
struct FIR_BlockConfiguration {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_ConfigurationItemList linkage */
FIR_Ref block_specification; /* reference to FIR_Name record */
FIR_DeclarationList use_clause_list;
FIR_ConfigurationItemList configuration_item_list;
};
9.14 `FIR_ComponentConfiguration
9.14.1 Derived Class Description
The predefined FIR_ComponentConfiguration configures a specific component instance (indirectly) within a configuration design unit.
9.14.2 Properties
9.14.3 Predefined Data Elements
struct FIR_ComponentConfiguration {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_ConfigurationItemList linkage */
FIR_Ref component_name; /* reference to FIR_Name */
FIR_Ref entity_aspect; /* reference to FIR_LibraryUnit */
FIR_Ref block_config; /* to FIR_BlockConfiguration */
FIR_InstantiationList instantiation list;
FIR_AssociationList generic_map_aspect;
FIR_AssociationList port_map_aspect;
};
9.15 FIR_Designator
9.15.1 Derived Class Description
A predefined FIR_Designator class names a specific entity with a FIR_DesignatorList.
9.15.2 Properties
9.15.3 Predefined Data Elements
struct FIR_Designator {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_DesignatorList linkage */
};
9.16 FIR_DesignatorExplicit
9.16.1 Derived Class Description
A predefined FIR_DesignatorExplicit class names an instance within a FIR_DesignatorList.
9.16.2 Properties
9.16.3 Predefined Data Elements
struct FIR_DesignatorExplicit {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_DesignatorList linkage */
FIR_Ref name; /* reference to FIR_Name */
};
9.17 FIR_DesignatorByOthers
9.17.1 Derived Class Description
A predefined FIR_DesignatorByOthers class names all other instances within a FIR_DesignatorList.
9.17.2 Properties
9.17.3 Predefined Data Elements
struct FIR_DesignatorByOthers {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_DesignatorList linkage */
};
9.18 FIR_DesignatorByAll
9.18.1 Derived Class Description
A predefined FIR_DesignatorByAll class names all instance within a FIR_DesignatorList.
9.18.2 Properties
9.18.3 Predefined Data Elements
struct FIR_DesignatorByAll {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_DesignatorList linkage */
};
9.19 FIR_Elsif
9.19.1 Derived Class Description
Within a FIR_IfStatement a FIR_Elsif record identifies a condition and a sequence of statements.
9.19.2 Properties
9.19.3 Predefined Data Elements
struct FIR_Elsif {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref condition; /* reference to FIR_Expression */
FIR_Ref elsif; /* reference to next elsif or NULL */
FIR_SequentialStatmentList then_sequence_of_statements;
};
9.20 FIR_EntityClassEntry
9.20.1 Derived Class Description
A predefined FIR_EntityClassEntry represents a specific kind of entity within an FIR_EntityClassEntryList. The entry identifier must be a lower case FIR_Identifier drawn from the following list:
The FIR_EntityClassEntryList in turn appears only within a group template declaration.
9.20.2 Properties
9.20.3 Predefined Data Elements
struct FIR_EntityClassEntry {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_EntityClassEntryList linkage */
IR_Kind entity_kind; /* reference to FIR_Identifier */
IR_Boolean is_boxed;
};
9.21 FIR_SelectedWaveform
9.21.1 Derived Class Description
The predefined FIR_SelectedWaveform class represents a selected waveform element within an FIR_SelectedWaveformList. The selected waveform list in turn appears within an FIR_ConcurrentSelectedSignalAssignment.
9.21.2 Properties
9.21.3 Predefined Public Methods
struct FIR_SelectedWaveform {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_SelectedWaveformList linkage */
FIR_Ref choice;
FIR_WaveformList waveform;
};
9.22 FIR_SimultaneousAlternative
9.22.1 Derived Class Description
The predefined FIR_SimultaneousAlternative represents a choice and implication within a case statement. The choice may either explicitly denote elements of a composite type or may refer to elements which have not already been referenced previously in a case statement alternative list. Objects of case statement alternative class are actually constructed from one of two derived classes corresponding to explicit and others choices.
9.22.2 Properties
9.22.3 Predefined Data Elements
struct FIR_SimultaneousAlternative {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_SimultaneousAlternativeList link */
FIR_SimultaneousStatementList sequence_of_statements;
};
9.23 FIR_SimultaneousAlternativeByExpression
9.23.1 Derived Class Description
The predefined FIR_SimultaneousAlternativeByExpression represents a case statement alternative in which the choice is a simple expression, discrete range (range type), or element simple name (the choice).
9.23.2 Properties
struct FIR_SimultaneousAlternativeByExpression {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* in FIR_SimultaneousAlternativeList */
FIR_SimultaneousStatementList sequence_of_statements;
FIR_Ref choice;
};
9.24 FIR_SimultaneousAlternativeByChoices
9.24.1 Derived Class Description
The predefined FIR_SimultaneousAlternativeByChoices represents a case statement alternative in which corresponds to a list of choices.
9.24.2 Properties
struct FIR_SimultaneousAlternativeByChoices {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* in FIR_SimultaneousAlternativeList */
FIR_SimultaneousStatementList sequence_of_statements;
FIR_ChoiceList choice;
};
9.25 FIR_SimultaneousAlternativeByOthers
The predefined FIR_SimultaneousAlternativeByOthers represents a case statement alternative in which the choice implicitly denotes other elements of the case's composite subtype not previously explicit within an FIR_SimultaneousAlternativeList.
9.25.1 Properties
9.25.2 Predefined Data Elements
struct FIR_SimultaneousAlternativeByOthers {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* in FIR_SimultaneousAlternativeList */
FIR_SimultaneousStatementList sequence_of_statements;
};
9.26 FIR_SimultaneousElsif
9.26.1 Derived Class Description
a FIR_SimultaneousElsif record identifies an elsif step in a chain within a simultaneous if-then-else statement.
9.26.2 Properties
9.26.3 Predefined Data Elements
struct FIR_SimultaneousElsif {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref condition; /* reference to FIR_Expression */
FIR_Ref elsif; /* reference to next elsif or NULL */
FIR_SequentialStatmentList then_sequence_of_statements;
};
9.27 FIR_WaveformElement
9.27.1 Derived Class Description
The predefined class FIR_WaveformElement represents a value and time tuple within an FIR_WaveformList. Such a waveform list appears directly or indirectly within sequential and concurrent signal assignment statements.
9.27.2 Properties
9.27.3 Predefined Data Elements
struct FIR_WaveformElement {
IR_Kind kind;
FIR_Source source_locator;
FIR_Ref next; /* FIR_WaveformList linkage */
FIR_Ref value;
FIR_Ref time;
};
[Top] [Prev] [Next] [Bottom]
aire@vhdl.org
Copyright © 1995, 1996 FTL Systems Inc. All rights
reserved except as noted in the document copyright statement.