.. # This page is generated by doc/ASTReference.py when Sphinx starts. Do not edit it. Other nodes (Psl_Default_Clock ... If_Generate_Else_Clause) ########################################################### 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_Default_Clock: Iir_Kind_Psl_Default_Clock ========================== 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:`Psl_Boolean ` - ``Field1`` - ``PSL_Node`` - owned - — * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Psl_Default_Clock" [style=filled fillcolor="#eeeeec" label="{Psl_Default_Clock|{ Parent| Psl_Boolean| Chain}}"] "Psl_Default_Clock__Parent" [shape=box label="Iir"] "Psl_Default_Clock":Parent -> "Psl_Default_Clock__Parent" [color="#3465a4" style=dashed] "Psl_Default_Clock__Psl_Boolean" [shape=box label="PSL_Node"] "Psl_Default_Clock":Psl_Boolean -> "Psl_Default_Clock__Psl_Boolean" [color="#000000"] "Psl_Default_Clock__Chain" [shape=box label="Iir"] "Psl_Default_Clock":Chain -> "Psl_Default_Clock__Chain" [color="#4e9a06" style=bold] } .. _INT:AST:Generate_Statement_Body: Iir_Kind_Generate_Statement_Body ================================ LRM08 11.8 Generate statements :: generate_statement_body ::= [ block_declarative_part BEGIN ] { concurrent_statement } [ END [ alternative_label ] ; ] 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:`Declaration_Chain ` - ``Field1`` - ``Iir`` - chain - — * - :ref:`Generate_Block_Configuration ` - ``Field2`` - ``Iir`` - forward ref - The block configuration for this statement body. * - :ref:`Alternative_Label ` - ``Field3`` - ``Name_Id`` - owned - — * - :ref:`Attribute_Value_Chain ` - ``Field5`` - ``Iir`` - ref - Chain of attribute values for declared items. To be used with Get/Set_Value_Chain. There is no order, therefore, a new attribute value may be always prepended. * - :ref:`Concurrent_Statement_Chain ` - ``Field4`` - ``Iir`` - chain - — * - :ref:`Is_Within_Flag ` - ``Flag5`` - ``Boolean`` - owned - This flag is set is code being analyzed is textually within TARGET. This is used for selected by name rule. * - :ref:`Use_Flag ` - ``Flag6`` - ``Boolean`` - owned - For a declaration: true if the declaration is used somewhere. * - :ref:`End_Has_Identifier ` - ``Flag9`` - ``Boolean`` - owned - Layout flag: true if 'end' is followed by the identifier. * - :ref:`Has_Begin ` - ``Flag10`` - ``Boolean`` - owned - Layout flag: true if 'begin' is present. * - :ref:`Has_End ` - ``Flag11`` - ``Boolean`` - owned - Layout flag: true if 'end' is present (only for generate body). .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Generate_Statement_Body" [style=filled fillcolor="#eeeeec" label="{Generate_Statement_Body|{ Parent| Declaration_Chain| Generate_Block_Configuration| Alternative_Label| Attribute_Value_Chain| Concurrent_Statement_Chain| Is_Within_Flag| Use_Flag| End_Has_Identifier| Has_Begin| Has_End}}"] "Generate_Statement_Body__Parent" [shape=box label="Iir"] "Generate_Statement_Body":Parent -> "Generate_Statement_Body__Parent" [color="#3465a4" style=dashed] "Generate_Statement_Body__Declaration_Chain" [shape=box label="Iir"] "Generate_Statement_Body":Declaration_Chain -> "Generate_Statement_Body__Declaration_Chain" [color="#4e9a06"] "Generate_Statement_Body__Generate_Block_Configuration" [shape=box label="Iir"] "Generate_Statement_Body":Generate_Block_Configuration -> "Generate_Statement_Body__Generate_Block_Configuration" [color="#f57900" style=dashed] "Generate_Statement_Body__Attribute_Value_Chain" [shape=box label="Iir"] "Generate_Statement_Body":Attribute_Value_Chain -> "Generate_Statement_Body__Attribute_Value_Chain" [color="#3465a4" style=dashed] "Generate_Statement_Body__Concurrent_Statement_Chain" [shape=box label="Iir"] "Generate_Statement_Body":Concurrent_Statement_Chain -> "Generate_Statement_Body__Concurrent_Statement_Chain" [color="#4e9a06"] } .. _INT:AST:If_Generate_Else_Clause: Iir_Kind_If_Generate_Else_Clause ================================ 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:`Condition ` - ``Field1`` - ``Iir`` - maybe ref - Null_Iir for the else clause. * - :ref:`Generate_Statement_Body ` - ``Field4`` - ``Iir`` - owned - — * - :ref:`Generate_Else_Clause ` - ``Field5`` - ``Iir`` - owned - — * - :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] "If_Generate_Else_Clause" [style=filled fillcolor="#eeeeec" label="{If_Generate_Else_Clause|{ Parent| Condition| Generate_Statement_Body| Generate_Else_Clause| Visible_Flag| Is_Ref}}"] "If_Generate_Else_Clause__Parent" [shape=box label="Iir"] "If_Generate_Else_Clause":Parent -> "If_Generate_Else_Clause__Parent" [color="#3465a4" style=dashed] "If_Generate_Else_Clause__Condition" [shape=box label="Iir"] "If_Generate_Else_Clause":Condition -> "If_Generate_Else_Clause__Condition" [color="#3465a4" style=dotted] "If_Generate_Else_Clause__Generate_Statement_Body" [shape=box label="Iir"] "If_Generate_Else_Clause":Generate_Statement_Body -> "If_Generate_Else_Clause__Generate_Statement_Body" [color="#000000"] "If_Generate_Else_Clause__Generate_Else_Clause" [shape=box label="Iir"] "If_Generate_Else_Clause":Generate_Else_Clause -> "If_Generate_Else_Clause__Generate_Else_Clause" [color="#000000"] }