.. # This page is generated by doc/ASTReference.py when Sphinx starts. Do not edit it. Specification ############# 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:Attribute_Specification: Iir_Kind_Attribute_Specification ================================ LRM08 7.2 Attribute specification :: attribute_specification ::= ATTRIBUTE attribute_designator OF entity_specification IS expression ; :: entity_specification ::= entity_name_list : entity_class :: entity_name_list ::= entity_designator { , entity_designator } | OTHERS | ALL :: entity_designator ::= entity_tag [ signature ] :: entity_tag ::= simple_name | character_literal | operator_symbol LRM08 8.6 Attribute names :: attribute_designator ::= /attribute/_simple_name Format: ``Medium`` .. 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:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Entity_Class ` - ``Field3`` - ``Token_Type`` - owned - — * - :ref:`Entity_Name_List ` - ``Field8`` - ``Iir_Flist`` - owned - — * - :ref:`Expression ` - ``Field5`` - ``Iir`` - owned - Expression for an various nodes. * - :ref:`Attribute_Value_Spec_Chain ` - ``Field4`` - ``Iir`` - owned - Chain of attribute values for attribute specification. To be used with Get/Set_Spec_Chain. * - :ref:`Attribute_Designator ` - ``Field6`` - ``Iir`` - owned - Always a simple name. * - :ref:`Attribute_Specification_Chain ` - ``Field7`` - ``Iir`` - ref - Chain of attribute specifications. This is used only during sem, to check that no named entity of a given class appear after an attr. spec. with the entity name list OTHERS or ALL. * - :ref:`Static_Attribute_Flag ` - ``Flag2`` - ``Boolean`` - owned - True for attributes on entity, configuration and architecture. They are expected to be read from anywhere so the value is expected to be locally static, but this is not followed by many users and implementations. .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Attribute_Specification" [style=filled fillcolor="#eeeeec" label="{Attribute_Specification|{ Parent| Chain| Entity_Class| Entity_Name_List| Expression| Attribute_Value_Spec_Chain| Attribute_Designator| Attribute_Specification_Chain| Static_Attribute_Flag}}"] "Attribute_Specification__Parent" [shape=box label="Iir"] "Attribute_Specification":Parent -> "Attribute_Specification__Parent" [color="#3465a4" style=dashed] "Attribute_Specification__Chain" [shape=box label="Iir"] "Attribute_Specification":Chain -> "Attribute_Specification__Chain" [color="#4e9a06" style=bold] "Attribute_Specification__Entity_Name_List" [shape=box3d label="Iir_Flist"] "Attribute_Specification":Entity_Name_List -> "Attribute_Specification__Entity_Name_List" [color="#000000"] "Attribute_Specification__Expression" [shape=box label="Iir"] "Attribute_Specification":Expression -> "Attribute_Specification__Expression" [color="#000000"] "Attribute_Specification__Attribute_Value_Spec_Chain" [shape=box label="Iir"] "Attribute_Specification":Attribute_Value_Spec_Chain -> "Attribute_Specification__Attribute_Value_Spec_Chain" [color="#000000"] "Attribute_Specification__Attribute_Designator" [shape=box label="Iir"] "Attribute_Specification":Attribute_Designator -> "Attribute_Specification__Attribute_Designator" [color="#000000"] "Attribute_Specification__Attribute_Specification_Chain" [shape=box label="Iir"] "Attribute_Specification":Attribute_Specification_Chain -> "Attribute_Specification__Attribute_Specification_Chain" [color="#3465a4" style=dashed] } .. _INT:AST:Disconnection_Specification: Iir_Kind_Disconnection_Specification ==================================== LRM08 7.4 Disconnection specification :: disconnection_specification ::= DISCONNECT guarded_signal_specification AFTER time_expression ; :: guarded_signal_specification ::= guarded_signal_list : type_mark :: signal_list ::= signal_name { , signal_name } | OTHERS | ALL 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:`Signal_List ` - ``Field3`` - ``Iir_Flist`` - of maybe ref - — * - :ref:`Type_Mark ` - ``Field4`` - ``Iir`` - owned - The type_mark that appeared in qualified expressions or type conversions. * - :ref:`Expression ` - ``Field5`` - ``Iir`` - owned - Expression for an various nodes. * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :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] "Disconnection_Specification" [style=filled fillcolor="#eeeeec" label="{Disconnection_Specification|{ Parent| Signal_List| Type_Mark| Expression| Chain| Is_Ref}}"] "Disconnection_Specification__Parent" [shape=box label="Iir"] "Disconnection_Specification":Parent -> "Disconnection_Specification__Parent" [color="#3465a4" style=dashed] "Disconnection_Specification__Signal_List" [shape=box3d label="Iir_Flist"] "Disconnection_Specification":Signal_List -> "Disconnection_Specification__Signal_List" [color="#3465a4" style=dotted] "Disconnection_Specification__Type_Mark" [shape=box label="Iir"] "Disconnection_Specification":Type_Mark -> "Disconnection_Specification__Type_Mark" [color="#000000"] "Disconnection_Specification__Expression" [shape=box label="Iir"] "Disconnection_Specification":Expression -> "Disconnection_Specification__Expression" [color="#000000"] "Disconnection_Specification__Chain" [shape=box label="Iir"] "Disconnection_Specification":Chain -> "Disconnection_Specification__Chain" [color="#4e9a06" style=bold] } .. _INT:AST:Step_Limit_Specification: Iir_Kind_Step_Limit_Specification ================================= AMS-LRM17 7.5 Step limit specification :: step_limit_specification ::= LIMIT quantity_specification WITH real_expression ; :: quantity_specification ::= quantity_list : type_mark :: quantity_list ::= quantity_name { , quantity_name } | OTHERS | ALL 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:`Quantity_List ` - ``Field3`` - ``Iir_Flist`` - of maybe ref - — * - :ref:`Type_Mark ` - ``Field4`` - ``Iir`` - owned - The type_mark that appeared in qualified expressions or type conversions. * - :ref:`Expression ` - ``Field5`` - ``Iir`` - owned - Expression for an various nodes. * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :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] "Step_Limit_Specification" [style=filled fillcolor="#eeeeec" label="{Step_Limit_Specification|{ Parent| Quantity_List| Type_Mark| Expression| Chain| Is_Ref}}"] "Step_Limit_Specification__Parent" [shape=box label="Iir"] "Step_Limit_Specification":Parent -> "Step_Limit_Specification__Parent" [color="#3465a4" style=dashed] "Step_Limit_Specification__Quantity_List" [shape=box3d label="Iir_Flist"] "Step_Limit_Specification":Quantity_List -> "Step_Limit_Specification__Quantity_List" [color="#3465a4" style=dotted] "Step_Limit_Specification__Type_Mark" [shape=box label="Iir"] "Step_Limit_Specification":Type_Mark -> "Step_Limit_Specification__Type_Mark" [color="#000000"] "Step_Limit_Specification__Expression" [shape=box label="Iir"] "Step_Limit_Specification":Expression -> "Step_Limit_Specification__Expression" [color="#000000"] "Step_Limit_Specification__Chain" [shape=box label="Iir"] "Step_Limit_Specification":Chain -> "Step_Limit_Specification__Chain" [color="#4e9a06" style=bold] } .. _INT:AST:Configuration_Specification: Iir_Kind_Configuration_Specification ==================================== 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:`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] "Configuration_Specification" [style=filled fillcolor="#eeeeec" label="{Configuration_Specification|{ Parent| Component_Name| Instantiation_List| Binding_Indication| Chain| Has_End| Is_Ref}}"] "Configuration_Specification__Parent" [shape=box label="Iir"] "Configuration_Specification":Parent -> "Configuration_Specification__Parent" [color="#3465a4" style=dashed] "Configuration_Specification__Component_Name" [shape=box label="Iir"] "Configuration_Specification":Component_Name -> "Configuration_Specification__Component_Name" [color="#000000"] "Configuration_Specification__Instantiation_List" [shape=box3d label="Iir_Flist"] "Configuration_Specification":Instantiation_List -> "Configuration_Specification__Instantiation_List" [color="#000000"] "Configuration_Specification__Binding_Indication" [shape=box label="Iir"] "Configuration_Specification":Binding_Indication -> "Configuration_Specification__Binding_Indication" [color="#3465a4" style=dotted] "Configuration_Specification__Chain" [shape=box label="Iir"] "Configuration_Specification":Chain -> "Configuration_Specification__Chain" [color="#4e9a06" style=bold] }