.. # This page is generated by doc/ASTReference.py when Sphinx starts. Do not edit it. Concurrent Statement #################### 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:Sensitized_Process_Statement: Iir_Kind_Sensitized_Process_Statement ===================================== Location is on the label, or 'postponed' or 'process'. 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:`Declaration_Chain ` - ``Field1`` - ``Iir`` - chain - — * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`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:`Process_Origin ` - ``Field8`` - ``Iir`` - owned - The concurrent statement at the origin of that process. This is Null_Iir for a user process. * - :ref:`Sequential_Statement_Chain ` - ``Field4`` - ``Iir`` - chain - — * - :ref:`Sensitivity_List ` - ``Field6`` - ``Iir_List`` - of maybe ref - Sensitivity list. Must be after the statements, because signal aliases may be referenced (in case of implicit process). * - :ref:`Callees_List ` - ``Field7`` - ``Iir_List`` - of ref - Returns the list of subprogram called in this subprogram or process. Note: implicit function (such as implicit operators) are omitted from this list, since the purpose of this list is to correctly set flags for side effects (purity_state, wait_state). Can return null_iir if there is no subprogram called. * - :ref:`Wait_State ` - ``State1`` - ``Tri_State_Type`` - owned - Get/Set the wait state of the current subprogram or process. TRUE if it contains a wait statement, either directly or indirectly. FALSE if it doesn't contain a wait statement. UNKNOWN if the wait status is not yet known. * - :ref:`Seen_Flag ` - ``Flag1`` - ``Boolean`` - owned - Get/Set the seen flag. Used when the graph of callees is walked, to avoid infinite loops, since the graph is not a DAG (there may be cycles). * - :ref:`Postponed_Flag ` - ``Flag3`` - ``Boolean`` - owned - If set, the concurrent statement is postponed. * - :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_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:`Has_Is ` - ``Flag7`` - ``Boolean`` - owned - Layout flag: true if 'is' is present. * - :ref:`End_Has_Reserved_Id ` - ``Flag8`` - ``Boolean`` - owned - Layout flag: true if 'end' is followed by the reserved identifier. * - :ref:`End_Has_Identifier ` - ``Flag9`` - ``Boolean`` - owned - Layout flag: true if 'end' is followed by the identifier. * - :ref:`End_Has_Postponed ` - ``Flag10`` - ``Boolean`` - owned - Layout flag: true if 'end' is followed by 'postponed'. * - :ref:`Stop_Flag ` - ``Flag2`` - ``Boolean`` - owned - Set when std.env.stop/finish is called. Prevents the infinite loop warning. * - :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:`Passive_Flag ` - ``Flag14`` - ``Boolean`` - owned - Get/Set the passive flag of a process. TRUE if the process must be passive. FALSE if the process may be not passive. For a procedure declaration, set if it is passive. .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Sensitized_Process_Statement" [style=filled fillcolor="#eeeeec" label="{Sensitized_Process_Statement|{ Parent| Declaration_Chain| Chain|