.. # This page is generated by doc/ASTReference.py when Sphinx starts. Do not edit it. 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 :ref:`INT:AST:Fields` page. .. graphviz:: 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] } .. _INT:AST:Association_Element_By_Expression: 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`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Formal ` - ``Field1`` - ``Iir`` - owned - — * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Actual ` - ``Field3`` - ``Iir`` - owned - — * - :ref:`Actual_Conversion ` - ``Field4`` - ``Iir`` - owned - A function call or a type conversion for the actual. FIXME: should be a name ? * - :ref:`Formal_Conversion ` - ``Field5`` - ``Iir`` - owned - A function call or a type conversion for the formal. * - :ref:`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) * - :ref:`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. * - :ref:`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). * - :ref:`Inertial_Flag ` - ``Flag5`` - ``Boolean`` - owned - True for inertial associations (even without the inertial word). .. graphviz:: 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| Chain| Actual| Actual_Conversion| Formal_Conversion| Whole_Association_Flag| Collapse_Signal_Flag| In_Formal_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"] } .. _INT:AST:Association_Element_By_Name: 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`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Formal ` - ``Field1`` - ``Iir`` - owned - — * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Actual ` - ``Field3`` - ``Iir`` - owned - — * - :ref:`Actual_Conversion ` - ``Field4`` - ``Iir`` - owned - A function call or a type conversion for the actual. FIXME: should be a name ? * - :ref:`Formal_Conversion ` - ``Field5`` - ``Iir`` - owned - A function call or a type conversion for the formal. * - :ref:`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) * - :ref:`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. * - :ref:`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). .. graphviz:: 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| Chain| Actual| Actual_Conversion| Formal_Conversion| Whole_Association_Flag| Collapse_Signal_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"] } .. _INT:AST:Association_Element_By_Individual: 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`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Formal ` - ``Field1`` - ``Iir`` - owned - — * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Individual_Association_Chain ` - ``Field4`` - ``Iir`` - chain - List of choices for association_element_by_individual. * - :ref:`Actual_Type_Definition ` - ``Field3`` - ``Iir`` - owned - Owner of Actual_Type if needed. * - :ref:`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. * - :ref:`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) * - :ref:`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. * - :ref:`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). * - :ref:`Choice_Staticness ` - ``State1`` - ``Iir_Staticness`` - owned - Must be Locally unless there is an error on one choice. .. graphviz:: 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| Chain| Individual_Association_Chain| Actual_Type_Definition| Actual_Type| Whole_Association_Flag| Collapse_Signal_Flag| In_Formal_Flag| 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] } .. _INT:AST:Association_Element_Open: 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`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Formal ` - ``Field1`` - ``Iir`` - owned - — * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Open_Actual ` - ``Field3`` - ``Iir`` - ref - For '<>' default interface subprogram. * - :ref:`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) * - :ref:`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. * - :ref:`Artificial_Flag ` - ``Flag3`` - ``Boolean`` - owned - Set when the node was artificially created, eg by canon. Currently used only by association_element_open. * - :ref:`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). .. graphviz:: 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| Chain| Open_Actual| Whole_Association_Flag| Collapse_Signal_Flag| Artificial_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] } .. _INT:AST:Association_Element_Package: 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`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Formal ` - ``Field1`` - ``Iir`` - owned - — * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Actual ` - ``Field3`` - ``Iir`` - owned - — * - :ref:`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) * - :ref:`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. * - :ref:`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). .. graphviz:: 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| Chain| Actual| Whole_Association_Flag| Collapse_Signal_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"] } .. _INT:AST:Association_Element_Type: 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`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Formal ` - ``Field1`` - ``Iir`` - owned - — * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Actual ` - ``Field3`` - ``Iir`` - owned - — * - :ref:`Subprogram_Association_Chain ` - ``Field4`` - ``Iir`` - chain - Chain of implicit subprogram associations for a type association. * - :ref:`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. * - :ref:`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) * - :ref:`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. * - :ref:`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). .. graphviz:: 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| Chain| Actual| Subprogram_Association_Chain| Actual_Type| Whole_Association_Flag| Collapse_Signal_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] } .. _INT:AST:Association_Element_Subprogram: 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`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Formal ` - ``Field1`` - ``Iir`` - owned - — * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Actual ` - ``Field3`` - ``Iir`` - owned - — * - :ref:`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) * - :ref:`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. * - :ref:`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). .. graphviz:: 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| Chain| Actual| Whole_Association_Flag| Collapse_Signal_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"] } .. _INT:AST:Association_Element_Terminal: 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`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Formal ` - ``Field1`` - ``Iir`` - owned - — * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Actual ` - ``Field3`` - ``Iir`` - owned - — * - :ref:`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) * - :ref:`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. * - :ref:`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). .. graphviz:: 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| Chain| Actual| Whole_Association_Flag| Collapse_Signal_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"] }