.. # This page is generated by doc/ASTReference.py when Sphinx starts. Do not edit it. Other nodes (Psl_Hierarchical_Name ... Record_Element_Resolution) ################################################################# 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:Psl_Hierarchical_Name: Iir_Kind_Psl_Hierarchical_Name ============================== Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Entity_Name ` - ``Field2`` - ``Iir`` - owned - The entity name for an architecture or a configuration. * - :ref:`Architecture ` - ``Field3`` - ``Iir`` - owned - — .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Psl_Hierarchical_Name" [style=filled fillcolor="#eeeeec" label="{Psl_Hierarchical_Name|{ Entity_Name| Architecture}}"] "Psl_Hierarchical_Name__Entity_Name" [shape=box label="Iir"] "Psl_Hierarchical_Name":Entity_Name -> "Psl_Hierarchical_Name__Entity_Name" [color="#000000"] "Psl_Hierarchical_Name__Architecture" [shape=box label="Iir"] "Psl_Hierarchical_Name":Architecture -> "Psl_Hierarchical_Name__Architecture" [color="#000000"] } .. _INT:AST:Block_Configuration: Iir_Kind_Block_Configuration ============================ LRM08 3.4.2 Block configuration :: block_configuration ::= FOR block_specification { use_clause } { configuration_item } END FOR; :: configuration_item ::= block_configuration | component_configuration :: block_specification ::= /architecture_/name | /block_statement_/label | /generate_statement_/label [ ( generate_specification ) ] Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Parent ` - ``Field0`` - ``Iir`` - ref - Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop. * - :ref:`Block_Specification ` - ``Field5`` - ``Iir`` - owned - Note: for default block configurations of iterative generate statement, the block specification is an indexed_name, whose index_list is others. The name designates either a block statement or a generate statement body. * - :ref:`Declaration_Chain ` - ``Field1`` - ``Iir`` - chain - Only use_clause are allowed here. * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Configuration_Item_Chain ` - ``Field3`` - ``Iir`` - chain - — * - :ref:`Prev_Block_Configuration ` - ``Field4`` - ``Iir`` - ref - Single linked list of block configuration that apply to the same for scheme generate block. .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Block_Configuration" [style=filled fillcolor="#eeeeec" label="{Block_Configuration|{ Parent| Block_Specification| Declaration_Chain| Chain| Configuration_Item_Chain| Prev_Block_Configuration}}"] "Block_Configuration__Parent" [shape=box label="Iir"] "Block_Configuration":Parent -> "Block_Configuration__Parent" [color="#3465a4" style=dashed] "Block_Configuration__Block_Specification" [shape=box label="Iir"] "Block_Configuration":Block_Specification -> "Block_Configuration__Block_Specification" [color="#000000"] "Block_Configuration__Declaration_Chain" [shape=box label="Iir"] "Block_Configuration":Declaration_Chain -> "Block_Configuration__Declaration_Chain" [color="#4e9a06"] "Block_Configuration__Chain" [shape=box label="Iir"] "Block_Configuration":Chain -> "Block_Configuration__Chain" [color="#4e9a06" style=bold] "Block_Configuration__Configuration_Item_Chain" [shape=box label="Iir"] "Block_Configuration":Configuration_Item_Chain -> "Block_Configuration__Configuration_Item_Chain" [color="#4e9a06"] "Block_Configuration__Prev_Block_Configuration" [shape=box label="Iir"] "Block_Configuration":Prev_Block_Configuration -> "Block_Configuration__Prev_Block_Configuration" [color="#3465a4" style=dashed] } .. _INT:AST:Block_Header: Iir_Kind_Block_Header ===================== Format: ``Medium`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Generic_Chain ` - ``Field6`` - ``Iir`` - chain - — * - :ref:`Port_Chain ` - ``Field7`` - ``Iir`` - chain - — * - :ref:`Generic_Map_Aspect_Chain ` - ``Field8`` - ``Iir`` - chain - Generic map aspect list. * - :ref:`Port_Map_Aspect_Chain ` - ``Field9`` - ``Iir`` - chain - Port map aspect list. .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Block_Header" [style=filled fillcolor="#eeeeec" label="{Block_Header|{ Generic_Chain| Port_Chain| Generic_Map_Aspect_Chain| Port_Map_Aspect_Chain}}"] "Block_Header__Generic_Chain" [shape=box label="Iir"] "Block_Header":Generic_Chain -> "Block_Header__Generic_Chain" [color="#4e9a06"] "Block_Header__Port_Chain" [shape=box label="Iir"] "Block_Header":Port_Chain -> "Block_Header__Port_Chain" [color="#4e9a06"] "Block_Header__Generic_Map_Aspect_Chain" [shape=box label="Iir"] "Block_Header":Generic_Map_Aspect_Chain -> "Block_Header__Generic_Map_Aspect_Chain" [color="#4e9a06"] "Block_Header__Port_Map_Aspect_Chain" [shape=box label="Iir"] "Block_Header":Port_Map_Aspect_Chain -> "Block_Header__Port_Map_Aspect_Chain" [color="#4e9a06"] } .. _INT:AST:Component_Configuration: Iir_Kind_Component_Configuration ================================ LRM08 7.3 Configuration specification :: configuration_specification ::= simple_configuration_specification | compound_configuration_specification :: simple_configuration_specification ::= FOR component_specification binding_indication ; [ END FOR ; ] :: compound_configuration_specification ::= FOR component_specification binding_indication ; verification_unit_binding_indication ; { verification_unit_binding_indication ; } END FOR ; :: component_specification ::= instantiation_list : component_name :: instantiation_list ::= instantiation_label { , instantiation_label } | OTHERS | ALL The location points to 'for'. Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Parent ` - ``Field0`` - ``Iir`` - ref - The declaration containing this type declaration. * - :ref:`Component_Name ` - ``Field5`` - ``Iir`` - owned - Component name for a component_configuration or a configuration_specification. * - :ref:`Instantiation_List ` - ``Field1`` - ``Iir_Flist`` - owned - A list, list_others or list_all. * - :ref:`Block_Configuration ` - ``Field4`` - ``Iir`` - owned - — * - :ref:`Binding_Indication ` - ``Field3`` - ``Iir`` - maybe ref - — * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Has_End ` - ``Flag11`` - ``Boolean`` - owned - Only for Iir_Kind_Configuration_Specification: * - :ref:`Is_Ref ` - ``Flag12`` - ``Boolean`` - owned - Set to True if Maybe_Ref fields are references. This cannot be shared with Has_Identifier_List as: Is_Ref is set to True on all items but the first, while Has_Identifier_List is set to True on all items but the last. Furthermore Is_Ref appears in nodes where Has_Identifier_List is not present. .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Component_Configuration" [style=filled fillcolor="#eeeeec" label="{Component_Configuration|{ Parent| Component_Name| Instantiation_List| Block_Configuration| Binding_Indication| Chain| Has_End| Is_Ref}}"] "Component_Configuration__Parent" [shape=box label="Iir"] "Component_Configuration":Parent -> "Component_Configuration__Parent" [color="#3465a4" style=dashed] "Component_Configuration__Component_Name" [shape=box label="Iir"] "Component_Configuration":Component_Name -> "Component_Configuration__Component_Name" [color="#000000"] "Component_Configuration__Instantiation_List" [shape=box3d label="Iir_Flist"] "Component_Configuration":Instantiation_List -> "Component_Configuration__Instantiation_List" [color="#000000"] "Component_Configuration__Block_Configuration" [shape=box label="Iir"] "Component_Configuration":Block_Configuration -> "Component_Configuration__Block_Configuration" [color="#000000"] "Component_Configuration__Binding_Indication" [shape=box label="Iir"] "Component_Configuration":Binding_Indication -> "Component_Configuration__Binding_Indication" [color="#3465a4" style=dotted] "Component_Configuration__Chain" [shape=box label="Iir"] "Component_Configuration":Chain -> "Component_Configuration__Chain" [color="#4e9a06" style=bold] } .. _INT:AST:Binding_Indication: Iir_Kind_Binding_Indication =========================== Format: ``Medium`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Default_Entity_Aspect ` - ``Field1`` - ``Iir`` - owned - — * - :ref:`Entity_Aspect ` - ``Field3`` - ``Iir`` - owned - The entity aspect. It is a iir_kind_entity_aspect_entity, iir_kind_entity_aspect_open or iir_kind_entity_aspect_configuration. This may be transformed into a declaration by semantic. * - :ref:`Generic_Map_Aspect_Chain ` - ``Field8`` - ``Iir`` - chain - Generic map aspect list. * - :ref:`Port_Map_Aspect_Chain ` - ``Field9`` - ``Iir`` - chain - Port map aspect list. .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Binding_Indication" [style=filled fillcolor="#eeeeec" label="{Binding_Indication|{ Default_Entity_Aspect| Entity_Aspect| Generic_Map_Aspect_Chain| Port_Map_Aspect_Chain}}"] "Binding_Indication__Default_Entity_Aspect" [shape=box label="Iir"] "Binding_Indication":Default_Entity_Aspect -> "Binding_Indication__Default_Entity_Aspect" [color="#000000"] "Binding_Indication__Entity_Aspect" [shape=box label="Iir"] "Binding_Indication":Entity_Aspect -> "Binding_Indication__Entity_Aspect" [color="#000000"] "Binding_Indication__Generic_Map_Aspect_Chain" [shape=box label="Iir"] "Binding_Indication":Generic_Map_Aspect_Chain -> "Binding_Indication__Generic_Map_Aspect_Chain" [color="#4e9a06"] "Binding_Indication__Port_Map_Aspect_Chain" [shape=box label="Iir"] "Binding_Indication":Port_Map_Aspect_Chain -> "Binding_Indication__Port_Map_Aspect_Chain" [color="#4e9a06"] } .. _INT:AST:Entity_Class: Iir_Kind_Entity_Class ===================== Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Entity_Class ` - ``Field3`` - ``Token_Type`` - owned - — .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Entity_Class" [style=filled fillcolor="#eeeeec" label="{Entity_Class|{ Chain| Entity_Class}}"] "Entity_Class__Chain" [shape=box label="Iir"] "Entity_Class":Chain -> "Entity_Class__Chain" [color="#4e9a06" style=bold] } .. _INT:AST:Attribute_Value: Iir_Kind_Attribute_Value ======================== An attribute value is the element of the chain of attribute of an entity, marking the entity as decorated by the attribute. This node is built only by sem. In fact, the node is member of the chain of attribute of an entity, and of the chain of a parent node containing all the attributes value for a scope. This makes elaboration (and more precisely, expression evaluation) easier. Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Spec_Chain ` - ``Field2`` - ``Iir`` - owned - Chain of attribute_value for the attribute specification * - :ref:`Type ` - ``Field1`` - ``Iir`` - ref - — * - :ref:`Value_Chain ` - ``Field0`` - ``Iir`` - ref - Chain of all attribute_value for the node containing declarations * - :ref:`Designated_Entity ` - ``Field3`` - ``Iir`` - forward ref - The entity (as a declaration) on which the value applies. * - :ref:`Attribute_Specification ` - ``Field4`` - ``Iir`` - ref - — * - :ref:`Base_Name ` - ``Field5`` - ``Iir`` - ref - The base name of a name is the node at the origin of the name. The base name is a declaration (signal, object, constant or interface), a selected_by_all name, an implicit_dereference name. * - :ref:`Expr_Staticness ` - ``State1`` - ``Iir_Staticness`` - owned - Expression staticness, defined by rules of LRM 7.4 * - :ref:`Name_Staticness ` - ``State2`` - ``Iir_Staticness`` - owned - Staticness of a name, according to rules of LRM 6.1 .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Attribute_Value" [style=filled fillcolor="#eeeeec" label="{Attribute_Value|{ Spec_Chain| Type| Value_Chain| Designated_Entity| Attribute_Specification| Base_Name| Expr_Staticness| Name_Staticness}}"] "Attribute_Value__Spec_Chain" [shape=box label="Iir"] "Attribute_Value":Spec_Chain -> "Attribute_Value__Spec_Chain" [color="#000000"] "Attribute_Value__Type" [shape=box label="Iir"] "Attribute_Value":Type -> "Attribute_Value__Type" [color="#3465a4" style=dashed] "Attribute_Value__Value_Chain" [shape=box label="Iir"] "Attribute_Value":Value_Chain -> "Attribute_Value__Value_Chain" [color="#3465a4" style=dashed] "Attribute_Value__Designated_Entity" [shape=box label="Iir"] "Attribute_Value":Designated_Entity -> "Attribute_Value__Designated_Entity" [color="#f57900" style=dashed] "Attribute_Value__Attribute_Specification" [shape=box label="Iir"] "Attribute_Value":Attribute_Specification -> "Attribute_Value__Attribute_Specification" [color="#3465a4" style=dashed] "Attribute_Value__Base_Name" [shape=box label="Iir"] "Attribute_Value":Base_Name -> "Attribute_Value__Base_Name" [color="#3465a4" style=dashed] } .. _INT:AST:Signature: Iir_Kind_Signature ================== LRM08 4.5.3 Signatures :: signature ::= '[' [ type_mark { , type_mark } ] [ RETURN type_mark ] ']' Format: ``Medium`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Signature_Prefix ` - ``Field1`` - ``Iir`` - owned - Prefix of a name signature * - :ref:`Type_Marks_List ` - ``Field2`` - ``Iir_Flist`` - owned - List of type_mark for an Iir_Kind_Signature * - :ref:`Return_Type_Mark ` - ``Field8`` - ``Iir`` - owned - — * - :ref:`Named_Entity ` - ``Field4`` - ``Iir`` - maybe forward ref - The named entity designated by a name. * - :ref:`Is_Forward_Ref ` - ``Flag1`` - ``Boolean`` - owned - — .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Signature" [style=filled fillcolor="#eeeeec" label="{Signature|{ Signature_Prefix| Type_Marks_List| Return_Type_Mark| Named_Entity| Is_Forward_Ref}}"] "Signature__Signature_Prefix" [shape=box label="Iir"] "Signature":Signature_Prefix -> "Signature__Signature_Prefix" [color="#000000"] "Signature__Type_Marks_List" [shape=box3d label="Iir_Flist"] "Signature":Type_Marks_List -> "Signature__Type_Marks_List" [color="#000000"] "Signature__Return_Type_Mark" [shape=box label="Iir"] "Signature":Return_Type_Mark -> "Signature__Return_Type_Mark" [color="#000000"] "Signature__Named_Entity" [shape=box label="Iir"] "Signature":Named_Entity -> "Signature__Named_Entity" [color="#f57900" style=dotted] } .. _INT:AST:Aggregate_Info: Iir_Kind_Aggregate_Info ======================= Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Sub_Aggregate_Info ` - ``Field1`` - ``Iir`` - owned - Get info for the next dimension. NULL_IIR terminated. * - :ref:`Aggr_Dynamic_Flag ` - ``Flag3`` - ``Boolean`` - owned - For array aggregate only: If TRUE, the choices are not locally static. This flag is only valid when the array aggregate is constrained, ie has no 'others' choice. * - :ref:`Aggr_Named_Flag ` - ``Flag4`` - ``Boolean`` - owned - If TRUE, the aggregate is named, else it is positional. * - :ref:`Aggr_Low_Limit ` - ``Field2`` - ``Iir`` - ref - The following three fields are used to check bounds of an array aggregate. For named aggregate, low and high bounds are computed, for positional aggregate, the (minimum) number of elements is computed. Note there may be elements beyond the bounds, due to other choice. These fields may apply for the aggregate or for the aggregate and its brothers if the node is for a sub-aggregate. The low and high index choice, if any. * - :ref:`Aggr_High_Limit ` - ``Field3`` - ``Iir`` - ref - Highest index choice, if any. * - :ref:`Aggr_Min_Length ` - ``Field4`` - ``Iir_Int32`` - owned - The minimum number of elements, if any. This is a minimax. * - :ref:`Aggr_Others_Flag ` - ``Flag2`` - ``Boolean`` - owned - True if the choice list has an 'others' choice. .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Aggregate_Info" [style=filled fillcolor="#eeeeec" label="{Aggregate_Info|{ Sub_Aggregate_Info| Aggr_Dynamic_Flag| Aggr_Named_Flag| Aggr_Low_Limit| Aggr_High_Limit| Aggr_Min_Length| Aggr_Others_Flag}}"] "Aggregate_Info__Sub_Aggregate_Info" [shape=box label="Iir"] "Aggregate_Info":Sub_Aggregate_Info -> "Aggregate_Info__Sub_Aggregate_Info" [color="#000000"] "Aggregate_Info__Aggr_Low_Limit" [shape=box label="Iir"] "Aggregate_Info":Aggr_Low_Limit -> "Aggregate_Info__Aggr_Low_Limit" [color="#3465a4" style=dashed] "Aggregate_Info__Aggr_High_Limit" [shape=box label="Iir"] "Aggregate_Info":Aggr_High_Limit -> "Aggregate_Info__Aggr_High_Limit" [color="#3465a4" style=dashed] } .. _INT:AST:Procedure_Call: Iir_Kind_Procedure_Call ======================= Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Prefix ` - ``Field0`` - ``Iir`` - owned - Prefix of a name. * - :ref:`Parameter_Association_Chain ` - ``Field2`` - ``Iir`` - chain - Parameter associations for procedure and function call. * - :ref:`Implementation ` - ``Field3`` - ``Iir`` - ref - Procedure declaration corresponding to the procedure to call. * - :ref:`Method_Object ` - ``Field4`` - ``Iir`` - ref - Object of a method call. NULL_IIR if the subprogram is not a method. .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Procedure_Call" [style=filled fillcolor="#eeeeec" label="{Procedure_Call|{ Prefix| Parameter_Association_Chain| Implementation| Method_Object}}"] "Procedure_Call__Prefix" [shape=box label="Iir"] "Procedure_Call":Prefix -> "Procedure_Call__Prefix" [color="#000000"] "Procedure_Call__Parameter_Association_Chain" [shape=box label="Iir"] "Procedure_Call":Parameter_Association_Chain -> "Procedure_Call__Parameter_Association_Chain" [color="#4e9a06"] "Procedure_Call__Implementation" [shape=box label="Iir"] "Procedure_Call":Implementation -> "Procedure_Call__Implementation" [color="#3465a4" style=dashed] "Procedure_Call__Method_Object" [shape=box label="Iir"] "Procedure_Call":Method_Object -> "Procedure_Call__Method_Object" [color="#3465a4" style=dashed] } .. _INT:AST:Record_Element_Constraint: Iir_Kind_Record_Element_Constraint ================================== Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Parent ` - ``Field0`` - ``Iir`` - ref - Record subtype definition which defines this constraint. * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - For Owned_Elements_Chain, so that the node has an owner. * - :ref:`Identifier ` - ``Field3`` - ``Name_Id`` - owned - Get/Set the identifier of a declaration. Can also be used instead of get/set_label. * - :ref:`Element_Position ` - ``Field4`` - ``Iir_Index32`` - owned - Return the position of the element in the record, starting from 0 for the first record element, increasing by one for each successive element. * - :ref:`Subtype_Indication ` - ``Field5`` - ``Iir`` - maybe ref - The subtype indication of a declaration. If several declarations share the same subtype_indication like in: variable a, b : integer := 5; then only the first declaration is the owner of the subtype_indication. * - :ref:`Type ` - ``Field1`` - ``Iir`` - ref - — * - :ref:`Visible_Flag ` - ``Flag4`` - ``Boolean`` - owned - Get/Set the visible flag of a declaration. The visible flag is true to make invalid the use of the identifier during its declaration. It is set to false when the identifier is added to the name table, and set to true when the declaration is finished. * - :ref:`Is_Ref ` - ``Flag12`` - ``Boolean`` - owned - Set to True if Maybe_Ref fields are references. This cannot be shared with Has_Identifier_List as: Is_Ref is set to True on all items but the first, while Has_Identifier_List is set to True on all items but the last. Furthermore Is_Ref appears in nodes where Has_Identifier_List is not present. .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Record_Element_Constraint" [style=filled fillcolor="#eeeeec" label="{Record_Element_Constraint|{ Parent| Chain| Identifier| Element_Position| Subtype_Indication| Type| Visible_Flag| Is_Ref}}"] "Record_Element_Constraint__Parent" [shape=box label="Iir"] "Record_Element_Constraint":Parent -> "Record_Element_Constraint__Parent" [color="#3465a4" style=dashed] "Record_Element_Constraint__Chain" [shape=box label="Iir"] "Record_Element_Constraint":Chain -> "Record_Element_Constraint__Chain" [color="#4e9a06" style=bold] "Record_Element_Constraint__Subtype_Indication" [shape=box label="Iir"] "Record_Element_Constraint":Subtype_Indication -> "Record_Element_Constraint__Subtype_Indication" [color="#3465a4" style=dotted] "Record_Element_Constraint__Type" [shape=box label="Iir"] "Record_Element_Constraint":Type -> "Record_Element_Constraint__Type" [color="#3465a4" style=dashed] } .. _INT:AST:Array_Element_Resolution: Iir_Kind_Array_Element_Resolution ================================= LRM08 6.3 Subtype declarations :: array_element_resolution ::= resolution_indication Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Resolution_Indication ` - ``Field5`` - ``Iir`` - owned - The indication as it appears in the sources. * - :ref:`Element_Subtype_Indication ` - ``Field2`` - ``Iir`` - owned - The subtype definition of the element. Owner of it. .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Array_Element_Resolution" [style=filled fillcolor="#eeeeec" label="{Array_Element_Resolution|{ Resolution_Indication| Element_Subtype_Indication}}"] "Array_Element_Resolution__Resolution_Indication" [shape=box label="Iir"] "Array_Element_Resolution":Resolution_Indication -> "Array_Element_Resolution__Resolution_Indication" [color="#000000"] "Array_Element_Resolution__Element_Subtype_Indication" [shape=box label="Iir"] "Array_Element_Resolution":Element_Subtype_Indication -> "Array_Element_Resolution__Element_Subtype_Indication" [color="#000000"] } .. _INT:AST:Record_Resolution: Iir_Kind_Record_Resolution ========================== LRM08 6.3 Subtype declarations :: record_resolution ::= record_element_resolution { , record_element_resolution } Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Record_Element_Resolution_Chain ` - ``Field1`` - ``Iir`` - chain - — .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Record_Resolution" [style=filled fillcolor="#eeeeec" label="{Record_Resolution|{ Record_Element_Resolution_Chain}}"] "Record_Resolution__Record_Element_Resolution_Chain" [shape=box label="Iir"] "Record_Resolution":Record_Element_Resolution_Chain -> "Record_Resolution__Record_Element_Resolution_Chain" [color="#4e9a06"] } .. _INT:AST:Record_Element_Resolution: Iir_Kind_Record_Element_Resolution ================================== LRM08 6.3 Subtype declarations :: record_element_resolution ::= /record_element/_simple_name resolution_indication Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Identifier ` - ``Field3`` - ``Name_Id`` - owned - Get/Set the identifier of a declaration. Can also be used instead of get/set_label. * - :ref:`Resolution_Indication ` - ``Field5`` - ``Iir`` - owned - Either a resolution function name, an array_element_resolution or a record_resolution .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Record_Element_Resolution" [style=filled fillcolor="#eeeeec" label="{Record_Element_Resolution|{ Chain| Identifier| Resolution_Indication}}"] "Record_Element_Resolution__Chain" [shape=box label="Iir"] "Record_Element_Resolution":Chain -> "Record_Element_Resolution__Chain" [color="#4e9a06" style=bold] "Record_Element_Resolution__Resolution_Indication" [shape=box label="Iir"] "Record_Element_Resolution":Resolution_Indication -> "Record_Element_Resolution__Resolution_Indication" [color="#000000"] }