Association Element
The diagrams below draw one box per node kind, with one port per field. The edge colours say how a link is held; they
are listed in full on the Fields page.
digraph {
rankdir="LR"
nodesep=0.1
node [shape=point width=0.06 color="#888a85"]
edge [fontname="monospace" fontsize=10 minlen=3]
l0a -> l0b [label="owned" color="#000000"]
l1a -> l1b [label="ref" color="#3465a4" style=dashed]
l2a -> l2b [label="maybe ref" color="#3465a4" style=dotted]
l3a -> l3b [label="of ref" color="#3465a4" style=dashed]
l4a -> l4b [label="of maybe ref" color="#3465a4" style=dotted]
l5a -> l5b [label="forward ref" color="#f57900" style=dashed]
l6a -> l6b [label="maybe forward ref" color="#f57900" style=dotted]
l7a -> l7b [label="chain" color="#4e9a06"]
l8a -> l8b [label="chain next" color="#4e9a06" style=bold]
}
Iir_Kind_Association_Element_By_Expression
These are used for association element of an association list with an interface (ie subprogram call, port map, generic
map).
Format: Short
Accessor
Field
Type
Access
Description
Formal
Field1
Iir
owned
—
Chain
Field2
Iir
chain next
—
Actual
Field3
Iir
owned
—
Actual_Conversion
Field4
Iir
owned
A function call or a type conversion for the actual. FIXME: should be a name ?
Formal_Conversion
Field5
Iir
owned
A function call or a type conversion for the formal.
Whole_Association_Flag
Flag1
Boolean
owned
Get/Set the whole association flag (true if the formal is associated in whole and not individually, see LRM93 4.3.2.2)
Collapse_Signal_Flag
Flag2
Boolean
owned
This flag is set when the formal signal can be the actual signal. In this case, the formal signal is not created, and the actual is shared. This is the signal collapsing optimisation.
In_Formal_Flag
Flag4
Boolean
owned
True if the name appears in a formal_part. In that case, some checks must be disabled (eg: the expression of a type conversion can be a write-only interface).
Inertial_Flag
Flag5
Boolean
owned
True for inertial associations (even without the inertial word).
digraph {
rankdir="LR"
node [shape=record fontname="monospace" fontsize=10]
edge [fontname="monospace" fontsize=9]
"Association_Element_By_Expression" [style=filled fillcolor="#eeeeec" label="{Association_Element_By_Expression|{<Formal> Formal|<Chain> Chain|<Actual> Actual|<Actual_Conversion> Actual_Conversion|<Formal_Conversion> Formal_Conversion|<Whole_Association_Flag> Whole_Association_Flag|<Collapse_Signal_Flag> Collapse_Signal_Flag|<In_Formal_Flag> In_Formal_Flag|<Inertial_Flag> Inertial_Flag}}"]
"Association_Element_By_Expression__Formal" [shape=box label="Iir"]
"Association_Element_By_Expression":Formal -> "Association_Element_By_Expression__Formal" [color="#000000"]
"Association_Element_By_Expression__Chain" [shape=box label="Iir"]
"Association_Element_By_Expression":Chain -> "Association_Element_By_Expression__Chain" [color="#4e9a06" style=bold]
"Association_Element_By_Expression__Actual" [shape=box label="Iir"]
"Association_Element_By_Expression":Actual -> "Association_Element_By_Expression__Actual" [color="#000000"]
"Association_Element_By_Expression__Actual_Conversion" [shape=box label="Iir"]
"Association_Element_By_Expression":Actual_Conversion -> "Association_Element_By_Expression__Actual_Conversion" [color="#000000"]
"Association_Element_By_Expression__Formal_Conversion" [shape=box label="Iir"]
"Association_Element_By_Expression":Formal_Conversion -> "Association_Element_By_Expression__Formal_Conversion" [color="#000000"]
}
Iir_Kind_Association_Element_By_Name
These are used for association element of an association list with an interface (ie subprogram call, port map, generic
map).
Format: Short
Accessor
Field
Type
Access
Description
Formal
Field1
Iir
owned
—
Chain
Field2
Iir
chain next
—
Actual
Field3
Iir
owned
—
Actual_Conversion
Field4
Iir
owned
A function call or a type conversion for the actual. FIXME: should be a name ?
Formal_Conversion
Field5
Iir
owned
A function call or a type conversion for the formal.
Whole_Association_Flag
Flag1
Boolean
owned
Get/Set the whole association flag (true if the formal is associated in whole and not individually, see LRM93 4.3.2.2)
Collapse_Signal_Flag
Flag2
Boolean
owned
This flag is set when the formal signal can be the actual signal. In this case, the formal signal is not created, and the actual is shared. This is the signal collapsing optimisation.
In_Formal_Flag
Flag4
Boolean
owned
True if the name appears in a formal_part. In that case, some checks must be disabled (eg: the expression of a type conversion can be a write-only interface).
digraph {
rankdir="LR"
node [shape=record fontname="monospace" fontsize=10]
edge [fontname="monospace" fontsize=9]
"Association_Element_By_Name" [style=filled fillcolor="#eeeeec" label="{Association_Element_By_Name|{<Formal> Formal|<Chain> Chain|<Actual> Actual|<Actual_Conversion> Actual_Conversion|<Formal_Conversion> Formal_Conversion|<Whole_Association_Flag> Whole_Association_Flag|<Collapse_Signal_Flag> Collapse_Signal_Flag|<In_Formal_Flag> In_Formal_Flag}}"]
"Association_Element_By_Name__Formal" [shape=box label="Iir"]
"Association_Element_By_Name":Formal -> "Association_Element_By_Name__Formal" [color="#000000"]
"Association_Element_By_Name__Chain" [shape=box label="Iir"]
"Association_Element_By_Name":Chain -> "Association_Element_By_Name__Chain" [color="#4e9a06" style=bold]
"Association_Element_By_Name__Actual" [shape=box label="Iir"]
"Association_Element_By_Name":Actual -> "Association_Element_By_Name__Actual" [color="#000000"]
"Association_Element_By_Name__Actual_Conversion" [shape=box label="Iir"]
"Association_Element_By_Name":Actual_Conversion -> "Association_Element_By_Name__Actual_Conversion" [color="#000000"]
"Association_Element_By_Name__Formal_Conversion" [shape=box label="Iir"]
"Association_Element_By_Name":Formal_Conversion -> "Association_Element_By_Name__Formal_Conversion" [color="#000000"]
}
Iir_Kind_Association_Element_By_Individual
These are used for association element of an association list with an interface (ie subprogram call, port map, generic
map).
Format: Short
Accessor
Field
Type
Access
Description
Formal
Field1
Iir
owned
—
Chain
Field2
Iir
chain next
—
Individual_Association_Chain
Field4
Iir
chain
List of choices for association_element_by_individual.
Actual_Type_Definition
Field3
Iir
owned
Owner of Actual_Type if needed.
Actual_Type
Field5
Iir
ref
Type of the actual for an association by individual. Unless the formal is an unconstrained array type, this is the same as the formal type. Subtype indication for a type association.
Whole_Association_Flag
Flag1
Boolean
owned
Get/Set the whole association flag (true if the formal is associated in whole and not individually, see LRM93 4.3.2.2)
Collapse_Signal_Flag
Flag2
Boolean
owned
This flag is set when the formal signal can be the actual signal. In this case, the formal signal is not created, and the actual is shared. This is the signal collapsing optimisation.
In_Formal_Flag
Flag4
Boolean
owned
True if the name appears in a formal_part. In that case, some checks must be disabled (eg: the expression of a type conversion can be a write-only interface).
Choice_Staticness
State1
Iir_Staticness
owned
Must be Locally unless there is an error on one choice.
digraph {
rankdir="LR"
node [shape=record fontname="monospace" fontsize=10]
edge [fontname="monospace" fontsize=9]
"Association_Element_By_Individual" [style=filled fillcolor="#eeeeec" label="{Association_Element_By_Individual|{<Formal> Formal|<Chain> Chain|<Individual_Association_Chain> Individual_Association_Chain|<Actual_Type_Definition> Actual_Type_Definition|<Actual_Type> Actual_Type|<Whole_Association_Flag> Whole_Association_Flag|<Collapse_Signal_Flag> Collapse_Signal_Flag|<In_Formal_Flag> In_Formal_Flag|<Choice_Staticness> Choice_Staticness}}"]
"Association_Element_By_Individual__Formal" [shape=box label="Iir"]
"Association_Element_By_Individual":Formal -> "Association_Element_By_Individual__Formal" [color="#000000"]
"Association_Element_By_Individual__Chain" [shape=box label="Iir"]
"Association_Element_By_Individual":Chain -> "Association_Element_By_Individual__Chain" [color="#4e9a06" style=bold]
"Association_Element_By_Individual__Individual_Association_Chain" [shape=box label="Iir"]
"Association_Element_By_Individual":Individual_Association_Chain -> "Association_Element_By_Individual__Individual_Association_Chain" [color="#4e9a06"]
"Association_Element_By_Individual__Actual_Type_Definition" [shape=box label="Iir"]
"Association_Element_By_Individual":Actual_Type_Definition -> "Association_Element_By_Individual__Actual_Type_Definition" [color="#000000"]
"Association_Element_By_Individual__Actual_Type" [shape=box label="Iir"]
"Association_Element_By_Individual":Actual_Type -> "Association_Element_By_Individual__Actual_Type" [color="#3465a4" style=dashed]
}
Iir_Kind_Association_Element_Open
These are used for association element of an association list with an interface (ie subprogram call, port map, generic
map).
Format: Short
Accessor
Field
Type
Access
Description
Formal
Field1
Iir
owned
—
Chain
Field2
Iir
chain next
—
Open_Actual
Field3
Iir
ref
For ‘<>’ default interface subprogram.
Whole_Association_Flag
Flag1
Boolean
owned
Get/Set the whole association flag (true if the formal is associated in whole and not individually, see LRM93 4.3.2.2)
Collapse_Signal_Flag
Flag2
Boolean
owned
This flag is set when the formal signal can be the actual signal. In this case, the formal signal is not created, and the actual is shared. This is the signal collapsing optimisation.
Artificial_Flag
Flag3
Boolean
owned
Set when the node was artificially created, eg by canon. Currently used only by association_element_open.
In_Formal_Flag
Flag4
Boolean
owned
True if the name appears in a formal_part. In that case, some checks must be disabled (eg: the expression of a type conversion can be a write-only interface).
digraph {
rankdir="LR"
node [shape=record fontname="monospace" fontsize=10]
edge [fontname="monospace" fontsize=9]
"Association_Element_Open" [style=filled fillcolor="#eeeeec" label="{Association_Element_Open|{<Formal> Formal|<Chain> Chain|<Open_Actual> Open_Actual|<Whole_Association_Flag> Whole_Association_Flag|<Collapse_Signal_Flag> Collapse_Signal_Flag|<Artificial_Flag> Artificial_Flag|<In_Formal_Flag> In_Formal_Flag}}"]
"Association_Element_Open__Formal" [shape=box label="Iir"]
"Association_Element_Open":Formal -> "Association_Element_Open__Formal" [color="#000000"]
"Association_Element_Open__Chain" [shape=box label="Iir"]
"Association_Element_Open":Chain -> "Association_Element_Open__Chain" [color="#4e9a06" style=bold]
"Association_Element_Open__Open_Actual" [shape=box label="Iir"]
"Association_Element_Open":Open_Actual -> "Association_Element_Open__Open_Actual" [color="#3465a4" style=dashed]
}
Iir_Kind_Association_Element_Package
These are used for association element of an association list with an interface (ie subprogram call, port map, generic
map).
Format: Short
Accessor
Field
Type
Access
Description
Formal
Field1
Iir
owned
—
Chain
Field2
Iir
chain next
—
Actual
Field3
Iir
owned
—
Whole_Association_Flag
Flag1
Boolean
owned
Get/Set the whole association flag (true if the formal is associated in whole and not individually, see LRM93 4.3.2.2)
Collapse_Signal_Flag
Flag2
Boolean
owned
This flag is set when the formal signal can be the actual signal. In this case, the formal signal is not created, and the actual is shared. This is the signal collapsing optimisation.
In_Formal_Flag
Flag4
Boolean
owned
True if the name appears in a formal_part. In that case, some checks must be disabled (eg: the expression of a type conversion can be a write-only interface).
digraph {
rankdir="LR"
node [shape=record fontname="monospace" fontsize=10]
edge [fontname="monospace" fontsize=9]
"Association_Element_Package" [style=filled fillcolor="#eeeeec" label="{Association_Element_Package|{<Formal> Formal|<Chain> Chain|<Actual> Actual|<Whole_Association_Flag> Whole_Association_Flag|<Collapse_Signal_Flag> Collapse_Signal_Flag|<In_Formal_Flag> In_Formal_Flag}}"]
"Association_Element_Package__Formal" [shape=box label="Iir"]
"Association_Element_Package":Formal -> "Association_Element_Package__Formal" [color="#000000"]
"Association_Element_Package__Chain" [shape=box label="Iir"]
"Association_Element_Package":Chain -> "Association_Element_Package__Chain" [color="#4e9a06" style=bold]
"Association_Element_Package__Actual" [shape=box label="Iir"]
"Association_Element_Package":Actual -> "Association_Element_Package__Actual" [color="#000000"]
}
Iir_Kind_Association_Element_Type
These are used for association element of an association list with an interface (ie subprogram call, port map, generic
map).
Format: Short
Accessor
Field
Type
Access
Description
Formal
Field1
Iir
owned
—
Chain
Field2
Iir
chain next
—
Actual
Field3
Iir
owned
—
Subprogram_Association_Chain
Field4
Iir
chain
Chain of implicit subprogram associations for a type association.
Actual_Type
Field5
Iir
ref
Type of the actual for an association by individual. Unless the formal is an unconstrained array type, this is the same as the formal type. Subtype indication for a type association.
Whole_Association_Flag
Flag1
Boolean
owned
Get/Set the whole association flag (true if the formal is associated in whole and not individually, see LRM93 4.3.2.2)
Collapse_Signal_Flag
Flag2
Boolean
owned
This flag is set when the formal signal can be the actual signal. In this case, the formal signal is not created, and the actual is shared. This is the signal collapsing optimisation.
In_Formal_Flag
Flag4
Boolean
owned
True if the name appears in a formal_part. In that case, some checks must be disabled (eg: the expression of a type conversion can be a write-only interface).
digraph {
rankdir="LR"
node [shape=record fontname="monospace" fontsize=10]
edge [fontname="monospace" fontsize=9]
"Association_Element_Type" [style=filled fillcolor="#eeeeec" label="{Association_Element_Type|{<Formal> Formal|<Chain> Chain|<Actual> Actual|<Subprogram_Association_Chain> Subprogram_Association_Chain|<Actual_Type> Actual_Type|<Whole_Association_Flag> Whole_Association_Flag|<Collapse_Signal_Flag> Collapse_Signal_Flag|<In_Formal_Flag> In_Formal_Flag}}"]
"Association_Element_Type__Formal" [shape=box label="Iir"]
"Association_Element_Type":Formal -> "Association_Element_Type__Formal" [color="#000000"]
"Association_Element_Type__Chain" [shape=box label="Iir"]
"Association_Element_Type":Chain -> "Association_Element_Type__Chain" [color="#4e9a06" style=bold]
"Association_Element_Type__Actual" [shape=box label="Iir"]
"Association_Element_Type":Actual -> "Association_Element_Type__Actual" [color="#000000"]
"Association_Element_Type__Subprogram_Association_Chain" [shape=box label="Iir"]
"Association_Element_Type":Subprogram_Association_Chain -> "Association_Element_Type__Subprogram_Association_Chain" [color="#4e9a06"]
"Association_Element_Type__Actual_Type" [shape=box label="Iir"]
"Association_Element_Type":Actual_Type -> "Association_Element_Type__Actual_Type" [color="#3465a4" style=dashed]
}
Iir_Kind_Association_Element_Subprogram
These are used for association element of an association list with an interface (ie subprogram call, port map, generic
map).
Format: Short
Accessor
Field
Type
Access
Description
Formal
Field1
Iir
owned
—
Chain
Field2
Iir
chain next
—
Actual
Field3
Iir
owned
—
Whole_Association_Flag
Flag1
Boolean
owned
Get/Set the whole association flag (true if the formal is associated in whole and not individually, see LRM93 4.3.2.2)
Collapse_Signal_Flag
Flag2
Boolean
owned
This flag is set when the formal signal can be the actual signal. In this case, the formal signal is not created, and the actual is shared. This is the signal collapsing optimisation.
In_Formal_Flag
Flag4
Boolean
owned
True if the name appears in a formal_part. In that case, some checks must be disabled (eg: the expression of a type conversion can be a write-only interface).
digraph {
rankdir="LR"
node [shape=record fontname="monospace" fontsize=10]
edge [fontname="monospace" fontsize=9]
"Association_Element_Subprogram" [style=filled fillcolor="#eeeeec" label="{Association_Element_Subprogram|{<Formal> Formal|<Chain> Chain|<Actual> Actual|<Whole_Association_Flag> Whole_Association_Flag|<Collapse_Signal_Flag> Collapse_Signal_Flag|<In_Formal_Flag> In_Formal_Flag}}"]
"Association_Element_Subprogram__Formal" [shape=box label="Iir"]
"Association_Element_Subprogram":Formal -> "Association_Element_Subprogram__Formal" [color="#000000"]
"Association_Element_Subprogram__Chain" [shape=box label="Iir"]
"Association_Element_Subprogram":Chain -> "Association_Element_Subprogram__Chain" [color="#4e9a06" style=bold]
"Association_Element_Subprogram__Actual" [shape=box label="Iir"]
"Association_Element_Subprogram":Actual -> "Association_Element_Subprogram__Actual" [color="#000000"]
}
Iir_Kind_Association_Element_Terminal
These are used for association element of an association list with an interface (ie subprogram call, port map, generic
map).
Format: Short
Accessor
Field
Type
Access
Description
Formal
Field1
Iir
owned
—
Chain
Field2
Iir
chain next
—
Actual
Field3
Iir
owned
—
Whole_Association_Flag
Flag1
Boolean
owned
Get/Set the whole association flag (true if the formal is associated in whole and not individually, see LRM93 4.3.2.2)
Collapse_Signal_Flag
Flag2
Boolean
owned
This flag is set when the formal signal can be the actual signal. In this case, the formal signal is not created, and the actual is shared. This is the signal collapsing optimisation.
In_Formal_Flag
Flag4
Boolean
owned
True if the name appears in a formal_part. In that case, some checks must be disabled (eg: the expression of a type conversion can be a write-only interface).
digraph {
rankdir="LR"
node [shape=record fontname="monospace" fontsize=10]
edge [fontname="monospace" fontsize=9]
"Association_Element_Terminal" [style=filled fillcolor="#eeeeec" label="{Association_Element_Terminal|{<Formal> Formal|<Chain> Chain|<Actual> Actual|<Whole_Association_Flag> Whole_Association_Flag|<Collapse_Signal_Flag> Collapse_Signal_Flag|<In_Formal_Flag> In_Formal_Flag}}"]
"Association_Element_Terminal__Formal" [shape=box label="Iir"]
"Association_Element_Terminal":Formal -> "Association_Element_Terminal__Formal" [color="#000000"]
"Association_Element_Terminal__Chain" [shape=box label="Iir"]
"Association_Element_Terminal":Chain -> "Association_Element_Terminal__Chain" [color="#4e9a06" style=bold]
"Association_Element_Terminal__Actual" [shape=box label="Iir"]
"Association_Element_Terminal":Actual -> "Association_Element_Terminal__Actual" [color="#000000"]
}