.. # This page is generated by doc/ASTReference.py when Sphinx starts. Do not edit it. Allocator ######### 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:Allocator_By_Expression: Iir_Kind_Allocator_By_Expression ================================ LRM08 9.3.7 Allocators :: allocator ::= NEW subtype_indication | NEW qualified_expression Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Type ` - ``Field1`` - ``Iir`` - ref - — * - :ref:`Expression ` - ``Field5`` - ``Iir`` - owned - Contains the expression for a by expression allocator. * - :ref:`Allocator_Designated_Type ` - ``Field2`` - ``Iir`` - ref - To ease analysis: set to the designated type (either the type of the expression or the subtype) * - :ref:`Expr_Staticness ` - ``State1`` - ``Iir_Staticness`` - owned - Expression staticness, defined by rules of LRM 7.4 * - :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] "Allocator_By_Expression" [style=filled fillcolor="#eeeeec" label="{Allocator_By_Expression|{ Type| Expression| Allocator_Designated_Type| Expr_Staticness| Is_Ref}}"] "Allocator_By_Expression__Type" [shape=box label="Iir"] "Allocator_By_Expression":Type -> "Allocator_By_Expression__Type" [color="#3465a4" style=dashed] "Allocator_By_Expression__Expression" [shape=box label="Iir"] "Allocator_By_Expression":Expression -> "Allocator_By_Expression__Expression" [color="#000000"] "Allocator_By_Expression__Allocator_Designated_Type" [shape=box label="Iir"] "Allocator_By_Expression":Allocator_Designated_Type -> "Allocator_By_Expression__Allocator_Designated_Type" [color="#3465a4" style=dashed] } .. _INT:AST:Allocator_By_Subtype: Iir_Kind_Allocator_By_Subtype ============================= LRM08 9.3.7 Allocators :: allocator ::= NEW subtype_indication | NEW qualified_expression Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Type ` - ``Field1`` - ``Iir`` - ref - — * - :ref:`Subtype_Indication ` - ``Field5`` - ``Iir`` - maybe ref - Contains the subtype indication for a by subtype allocator. * - :ref:`Allocator_Subtype ` - ``Field3`` - ``Iir`` - ref - Same as subtype indication but owned. * - :ref:`Allocator_Designated_Type ` - ``Field2`` - ``Iir`` - ref - To ease analysis: set to the designated type (either the type of the expression or the subtype) * - :ref:`Expr_Staticness ` - ``State1`` - ``Iir_Staticness`` - owned - Expression staticness, defined by rules of LRM 7.4 * - :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] "Allocator_By_Subtype" [style=filled fillcolor="#eeeeec" label="{Allocator_By_Subtype|{ Type| Subtype_Indication| Allocator_Subtype| Allocator_Designated_Type| Expr_Staticness| Is_Ref}}"] "Allocator_By_Subtype__Type" [shape=box label="Iir"] "Allocator_By_Subtype":Type -> "Allocator_By_Subtype__Type" [color="#3465a4" style=dashed] "Allocator_By_Subtype__Subtype_Indication" [shape=box label="Iir"] "Allocator_By_Subtype":Subtype_Indication -> "Allocator_By_Subtype__Subtype_Indication" [color="#3465a4" style=dotted] "Allocator_By_Subtype__Allocator_Subtype" [shape=box label="Iir"] "Allocator_By_Subtype":Allocator_Subtype -> "Allocator_By_Subtype__Allocator_Subtype" [color="#3465a4" style=dashed] "Allocator_By_Subtype__Allocator_Designated_Type" [shape=box label="Iir"] "Allocator_By_Subtype":Allocator_Designated_Type -> "Allocator_By_Subtype__Allocator_Designated_Type" [color="#3465a4" style=dashed] }