.. # This page is generated by doc/ASTReference.py when Sphinx starts. Do not edit it. Simultaneous Elsif ################## 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:Simultaneous_Elsif: Iir_Kind_Simultaneous_Elsif =========================== AMS-LRM17 11.11 Simultaneous if statement :: simultaneous_if_statement ::= [ /if/_label : ] IF condition USE simultaneous_statement_part { ELSIF condition USE simultaneous_statement_part } [ ELSE simultaneous_statement_part ] END USE [ /if/_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:`Condition ` - ``Field1`` - ``Iir`` - maybe ref - Condition of a conditional_waveform, if_statement, elsif, while_loop_statement, next_statement or exit_statement. * - :ref:`Simultaneous_Statement_Chain ` - ``Field4`` - ``Iir`` - chain - — * - :ref:`Else_Clause ` - ``Field5`` - ``Iir`` - owned - — * - :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. * - :ref:`End_Has_Identifier ` - ``Flag9`` - ``Boolean`` - owned - Layout flag: true if 'end' is followed by the identifier. .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Simultaneous_Elsif" [style=filled fillcolor="#eeeeec" label="{Simultaneous_Elsif|{ Parent| Condition| Simultaneous_Statement_Chain| Else_Clause| Is_Ref| End_Has_Identifier}}"] "Simultaneous_Elsif__Parent" [shape=box label="Iir"] "Simultaneous_Elsif":Parent -> "Simultaneous_Elsif__Parent" [color="#3465a4" style=dashed] "Simultaneous_Elsif__Condition" [shape=box label="Iir"] "Simultaneous_Elsif":Condition -> "Simultaneous_Elsif__Condition" [color="#3465a4" style=dotted] "Simultaneous_Elsif__Simultaneous_Statement_Chain" [shape=box label="Iir"] "Simultaneous_Elsif":Simultaneous_Statement_Chain -> "Simultaneous_Elsif__Simultaneous_Statement_Chain" [color="#4e9a06"] "Simultaneous_Elsif__Else_Clause" [shape=box label="Iir"] "Simultaneous_Elsif":Else_Clause -> "Simultaneous_Elsif__Else_Clause" [color="#000000"] }