Sequential Statement Ext

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 Fields page.

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] }

Iir_Kind_Simple_Signal_Assignment_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Target

Field1

Iir

maybe ref

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Reject_Time_Expression

Field4

Iir

owned

Waveform_Chain

Field5

Iir

chain

The waveform. If the waveform_chain is null_iir, then the signal assignment is a disconnection statement, ie TARGET <= null_iir after disconection_time, where disconnection_time is specified by a disconnection specification.

Delay_Mechanism

Flag1

Iir_Delay_Mechanism

owned

Has_Delay_Mechanism

Flag2

Boolean

owned

Layout flag for signal assignment. If True, the delay mechanism is present. This is obviously true for transport or inertial with reject, but the simple ‘inertial’ is optional.

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.

Guarded_Target_State

State1

Tri_State_Type

owned

True if the target of the assignment is guarded

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Simple_Signal_Assignment_Statement" [style=filled fillcolor="#eeeeec" label="{Simple_Signal_Assignment_Statement|{<Parent> Parent|<Target> Target|<Chain> Chain|<Label> Label|<Reject_Time_Expression> Reject_Time_Expression|<Waveform_Chain> Waveform_Chain|<Delay_Mechanism> Delay_Mechanism|<Has_Delay_Mechanism> Has_Delay_Mechanism|<Visible_Flag> Visible_Flag|<Guarded_Target_State> Guarded_Target_State|<Is_Ref> Is_Ref|<Covered_Flag> Covered_Flag}}"] "Simple_Signal_Assignment_Statement__Parent" [shape=box label="Iir"] "Simple_Signal_Assignment_Statement":Parent -> "Simple_Signal_Assignment_Statement__Parent" [color="#3465a4" style=dashed] "Simple_Signal_Assignment_Statement__Target" [shape=box label="Iir"] "Simple_Signal_Assignment_Statement":Target -> "Simple_Signal_Assignment_Statement__Target" [color="#3465a4" style=dotted] "Simple_Signal_Assignment_Statement__Chain" [shape=box label="Iir"] "Simple_Signal_Assignment_Statement":Chain -> "Simple_Signal_Assignment_Statement__Chain" [color="#4e9a06" style=bold] "Simple_Signal_Assignment_Statement__Reject_Time_Expression" [shape=box label="Iir"] "Simple_Signal_Assignment_Statement":Reject_Time_Expression -> "Simple_Signal_Assignment_Statement__Reject_Time_Expression" [color="#000000"] "Simple_Signal_Assignment_Statement__Waveform_Chain" [shape=box label="Iir"] "Simple_Signal_Assignment_Statement":Waveform_Chain -> "Simple_Signal_Assignment_Statement__Waveform_Chain" [color="#4e9a06"] }

Iir_Kind_Conditional_Signal_Assignment_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Target

Field1

Iir

maybe ref

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Reject_Time_Expression

Field4

Iir

owned

Conditional_Waveform_Chain

Field5

Iir

chain

Delay_Mechanism

Flag1

Iir_Delay_Mechanism

owned

Has_Delay_Mechanism

Flag2

Boolean

owned

Layout flag for signal assignment. If True, the delay mechanism is present. This is obviously true for transport or inertial with reject, but the simple ‘inertial’ is optional.

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.

Guarded_Target_State

State1

Tri_State_Type

owned

True if the target of the assignment is guarded

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Conditional_Signal_Assignment_Statement" [style=filled fillcolor="#eeeeec" label="{Conditional_Signal_Assignment_Statement|{<Parent> Parent|<Target> Target|<Chain> Chain|<Label> Label|<Reject_Time_Expression> Reject_Time_Expression|<Conditional_Waveform_Chain> Conditional_Waveform_Chain|<Delay_Mechanism> Delay_Mechanism|<Has_Delay_Mechanism> Has_Delay_Mechanism|<Visible_Flag> Visible_Flag|<Guarded_Target_State> Guarded_Target_State|<Is_Ref> Is_Ref|<Covered_Flag> Covered_Flag}}"] "Conditional_Signal_Assignment_Statement__Parent" [shape=box label="Iir"] "Conditional_Signal_Assignment_Statement":Parent -> "Conditional_Signal_Assignment_Statement__Parent" [color="#3465a4" style=dashed] "Conditional_Signal_Assignment_Statement__Target" [shape=box label="Iir"] "Conditional_Signal_Assignment_Statement":Target -> "Conditional_Signal_Assignment_Statement__Target" [color="#3465a4" style=dotted] "Conditional_Signal_Assignment_Statement__Chain" [shape=box label="Iir"] "Conditional_Signal_Assignment_Statement":Chain -> "Conditional_Signal_Assignment_Statement__Chain" [color="#4e9a06" style=bold] "Conditional_Signal_Assignment_Statement__Reject_Time_Expression" [shape=box label="Iir"] "Conditional_Signal_Assignment_Statement":Reject_Time_Expression -> "Conditional_Signal_Assignment_Statement__Reject_Time_Expression" [color="#000000"] "Conditional_Signal_Assignment_Statement__Conditional_Waveform_Chain" [shape=box label="Iir"] "Conditional_Signal_Assignment_Statement":Conditional_Waveform_Chain -> "Conditional_Signal_Assignment_Statement__Conditional_Waveform_Chain" [color="#4e9a06"] }

Iir_Kind_Selected_Waveform_Assignment_Statement

Format: Medium

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Target

Field1

Iir

maybe ref

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Reject_Time_Expression

Field4

Iir

owned

Expression

Field5

Iir

owned

Expression for an various nodes.

Selected_Waveform_Chain

Field7

Iir

chain

Matching_Flag

Flag5

Boolean

owned

Matching condition for case statement.

Delay_Mechanism

Flag1

Iir_Delay_Mechanism

owned

Has_Delay_Mechanism

Flag2

Boolean

owned

Layout flag for signal assignment. If True, the delay mechanism is present. This is obviously true for transport or inertial with reject, but the simple ‘inertial’ is optional.

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.

Guarded_Target_State

State1

Tri_State_Type

owned

True if the target of the assignment is guarded

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Selected_Waveform_Assignment_Statement" [style=filled fillcolor="#eeeeec" label="{Selected_Waveform_Assignment_Statement|{<Parent> Parent|<Target> Target|<Chain> Chain|<Label> Label|<Reject_Time_Expression> Reject_Time_Expression|<Expression> Expression|<Selected_Waveform_Chain> Selected_Waveform_Chain|<Matching_Flag> Matching_Flag|<Delay_Mechanism> Delay_Mechanism|<Has_Delay_Mechanism> Has_Delay_Mechanism|<Visible_Flag> Visible_Flag|<Guarded_Target_State> Guarded_Target_State|<Is_Ref> Is_Ref|<Covered_Flag> Covered_Flag}}"] "Selected_Waveform_Assignment_Statement__Parent" [shape=box label="Iir"] "Selected_Waveform_Assignment_Statement":Parent -> "Selected_Waveform_Assignment_Statement__Parent" [color="#3465a4" style=dashed] "Selected_Waveform_Assignment_Statement__Target" [shape=box label="Iir"] "Selected_Waveform_Assignment_Statement":Target -> "Selected_Waveform_Assignment_Statement__Target" [color="#3465a4" style=dotted] "Selected_Waveform_Assignment_Statement__Chain" [shape=box label="Iir"] "Selected_Waveform_Assignment_Statement":Chain -> "Selected_Waveform_Assignment_Statement__Chain" [color="#4e9a06" style=bold] "Selected_Waveform_Assignment_Statement__Reject_Time_Expression" [shape=box label="Iir"] "Selected_Waveform_Assignment_Statement":Reject_Time_Expression -> "Selected_Waveform_Assignment_Statement__Reject_Time_Expression" [color="#000000"] "Selected_Waveform_Assignment_Statement__Expression" [shape=box label="Iir"] "Selected_Waveform_Assignment_Statement":Expression -> "Selected_Waveform_Assignment_Statement__Expression" [color="#000000"] "Selected_Waveform_Assignment_Statement__Selected_Waveform_Chain" [shape=box label="Iir"] "Selected_Waveform_Assignment_Statement":Selected_Waveform_Chain -> "Selected_Waveform_Assignment_Statement__Selected_Waveform_Chain" [color="#4e9a06"] }

Iir_Kind_Signal_Force_Assignment_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Target

Field1

Iir

maybe ref

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Expression

Field5

Iir

owned

Expression for an various nodes.

Force_Mode

Flag1

Iir_Force_Mode

owned

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.

Guarded_Target_State

State1

Tri_State_Type

owned

True if the target of the assignment is guarded

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.

Has_Force_Mode

Flag2

Boolean

owned

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Signal_Force_Assignment_Statement" [style=filled fillcolor="#eeeeec" label="{Signal_Force_Assignment_Statement|{<Parent> Parent|<Target> Target|<Chain> Chain|<Label> Label|<Expression> Expression|<Force_Mode> Force_Mode|<Visible_Flag> Visible_Flag|<Guarded_Target_State> Guarded_Target_State|<Is_Ref> Is_Ref|<Has_Force_Mode> Has_Force_Mode|<Covered_Flag> Covered_Flag}}"] "Signal_Force_Assignment_Statement__Parent" [shape=box label="Iir"] "Signal_Force_Assignment_Statement":Parent -> "Signal_Force_Assignment_Statement__Parent" [color="#3465a4" style=dashed] "Signal_Force_Assignment_Statement__Target" [shape=box label="Iir"] "Signal_Force_Assignment_Statement":Target -> "Signal_Force_Assignment_Statement__Target" [color="#3465a4" style=dotted] "Signal_Force_Assignment_Statement__Chain" [shape=box label="Iir"] "Signal_Force_Assignment_Statement":Chain -> "Signal_Force_Assignment_Statement__Chain" [color="#4e9a06" style=bold] "Signal_Force_Assignment_Statement__Expression" [shape=box label="Iir"] "Signal_Force_Assignment_Statement":Expression -> "Signal_Force_Assignment_Statement__Expression" [color="#000000"] }

Iir_Kind_Signal_Release_Assignment_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Target

Field1

Iir

maybe ref

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Force_Mode

Flag1

Iir_Force_Mode

owned

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.

Guarded_Target_State

State1

Tri_State_Type

owned

True if the target of the assignment is guarded

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.

Has_Force_Mode

Flag2

Boolean

owned

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Signal_Release_Assignment_Statement" [style=filled fillcolor="#eeeeec" label="{Signal_Release_Assignment_Statement|{<Parent> Parent|<Target> Target|<Chain> Chain|<Label> Label|<Force_Mode> Force_Mode|<Visible_Flag> Visible_Flag|<Guarded_Target_State> Guarded_Target_State|<Is_Ref> Is_Ref|<Has_Force_Mode> Has_Force_Mode|<Covered_Flag> Covered_Flag}}"] "Signal_Release_Assignment_Statement__Parent" [shape=box label="Iir"] "Signal_Release_Assignment_Statement":Parent -> "Signal_Release_Assignment_Statement__Parent" [color="#3465a4" style=dashed] "Signal_Release_Assignment_Statement__Target" [shape=box label="Iir"] "Signal_Release_Assignment_Statement":Target -> "Signal_Release_Assignment_Statement__Target" [color="#3465a4" style=dotted] "Signal_Release_Assignment_Statement__Chain" [shape=box label="Iir"] "Signal_Release_Assignment_Statement":Chain -> "Signal_Release_Assignment_Statement__Chain" [color="#4e9a06" style=bold] }

Iir_Kind_Variable_Assignment_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Target

Field1

Iir

maybe ref

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Expression

Field5

Iir

owned

Expression for an various nodes.

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.

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Variable_Assignment_Statement" [style=filled fillcolor="#eeeeec" label="{Variable_Assignment_Statement|{<Parent> Parent|<Target> Target|<Chain> Chain|<Label> Label|<Expression> Expression|<Visible_Flag> Visible_Flag|<Is_Ref> Is_Ref|<Covered_Flag> Covered_Flag}}"] "Variable_Assignment_Statement__Parent" [shape=box label="Iir"] "Variable_Assignment_Statement":Parent -> "Variable_Assignment_Statement__Parent" [color="#3465a4" style=dashed] "Variable_Assignment_Statement__Target" [shape=box label="Iir"] "Variable_Assignment_Statement":Target -> "Variable_Assignment_Statement__Target" [color="#3465a4" style=dotted] "Variable_Assignment_Statement__Chain" [shape=box label="Iir"] "Variable_Assignment_Statement":Chain -> "Variable_Assignment_Statement__Chain" [color="#4e9a06" style=bold] "Variable_Assignment_Statement__Expression" [shape=box label="Iir"] "Variable_Assignment_Statement":Expression -> "Variable_Assignment_Statement__Expression" [color="#000000"] }

Iir_Kind_Conditional_Variable_Assignment_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Target

Field1

Iir

maybe ref

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Conditional_Expression_Chain

Field5

Iir

chain

Chain of conditional_expressions.

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.

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Conditional_Variable_Assignment_Statement" [style=filled fillcolor="#eeeeec" label="{Conditional_Variable_Assignment_Statement|{<Parent> Parent|<Target> Target|<Chain> Chain|<Label> Label|<Conditional_Expression_Chain> Conditional_Expression_Chain|<Visible_Flag> Visible_Flag|<Is_Ref> Is_Ref|<Covered_Flag> Covered_Flag}}"] "Conditional_Variable_Assignment_Statement__Parent" [shape=box label="Iir"] "Conditional_Variable_Assignment_Statement":Parent -> "Conditional_Variable_Assignment_Statement__Parent" [color="#3465a4" style=dashed] "Conditional_Variable_Assignment_Statement__Target" [shape=box label="Iir"] "Conditional_Variable_Assignment_Statement":Target -> "Conditional_Variable_Assignment_Statement__Target" [color="#3465a4" style=dotted] "Conditional_Variable_Assignment_Statement__Chain" [shape=box label="Iir"] "Conditional_Variable_Assignment_Statement":Chain -> "Conditional_Variable_Assignment_Statement__Chain" [color="#4e9a06" style=bold] "Conditional_Variable_Assignment_Statement__Conditional_Expression_Chain" [shape=box label="Iir"] "Conditional_Variable_Assignment_Statement":Conditional_Expression_Chain -> "Conditional_Variable_Assignment_Statement__Conditional_Expression_Chain" [color="#4e9a06"] }

Iir_Kind_Selected_Variable_Assignment_Statement

Format: Medium

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Target

Field1

Iir

maybe ref

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Expression

Field5

Iir

owned

Expression for an various nodes.

Selected_Expressions_Chain

Field7

Iir

chain

Matching_Flag

Flag5

Boolean

owned

Matching condition for case statement.

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.

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Selected_Variable_Assignment_Statement" [style=filled fillcolor="#eeeeec" label="{Selected_Variable_Assignment_Statement|{<Parent> Parent|<Target> Target|<Chain> Chain|<Label> Label|<Expression> Expression|<Selected_Expressions_Chain> Selected_Expressions_Chain|<Matching_Flag> Matching_Flag|<Visible_Flag> Visible_Flag|<Is_Ref> Is_Ref|<Covered_Flag> Covered_Flag}}"] "Selected_Variable_Assignment_Statement__Parent" [shape=box label="Iir"] "Selected_Variable_Assignment_Statement":Parent -> "Selected_Variable_Assignment_Statement__Parent" [color="#3465a4" style=dashed] "Selected_Variable_Assignment_Statement__Target" [shape=box label="Iir"] "Selected_Variable_Assignment_Statement":Target -> "Selected_Variable_Assignment_Statement__Target" [color="#3465a4" style=dotted] "Selected_Variable_Assignment_Statement__Chain" [shape=box label="Iir"] "Selected_Variable_Assignment_Statement":Chain -> "Selected_Variable_Assignment_Statement__Chain" [color="#4e9a06" style=bold] "Selected_Variable_Assignment_Statement__Expression" [shape=box label="Iir"] "Selected_Variable_Assignment_Statement":Expression -> "Selected_Variable_Assignment_Statement__Expression" [color="#000000"] "Selected_Variable_Assignment_Statement__Selected_Expressions_Chain" [shape=box label="Iir"] "Selected_Variable_Assignment_Statement":Selected_Expressions_Chain -> "Selected_Variable_Assignment_Statement__Selected_Expressions_Chain" [color="#4e9a06"] }

Iir_Kind_Null_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Null_Statement" [style=filled fillcolor="#eeeeec" label="{Null_Statement|{<Parent> Parent|<Chain> Chain|<Label> Label|<Visible_Flag> Visible_Flag|<Covered_Flag> Covered_Flag}}"] "Null_Statement__Parent" [shape=box label="Iir"] "Null_Statement":Parent -> "Null_Statement__Parent" [color="#3465a4" style=dashed] "Null_Statement__Chain" [shape=box label="Iir"] "Null_Statement":Chain -> "Null_Statement__Chain" [color="#4e9a06" style=bold] }

Iir_Kind_Assertion_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Assertion_Condition

Field1

Iir

owned

Condition of an assertion.

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Severity_Expression

Field4

Iir

owned

Severity expression of an assertion or report statement.

Report_Expression

Field5

Iir

owned

Report expression of an assertion or report statement.

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Assertion_Statement" [style=filled fillcolor="#eeeeec" label="{Assertion_Statement|{<Parent> Parent|<Assertion_Condition> Assertion_Condition|<Chain> Chain|<Label> Label|<Severity_Expression> Severity_Expression|<Report_Expression> Report_Expression|<Visible_Flag> Visible_Flag|<Covered_Flag> Covered_Flag}}"] "Assertion_Statement__Parent" [shape=box label="Iir"] "Assertion_Statement":Parent -> "Assertion_Statement__Parent" [color="#3465a4" style=dashed] "Assertion_Statement__Assertion_Condition" [shape=box label="Iir"] "Assertion_Statement":Assertion_Condition -> "Assertion_Statement__Assertion_Condition" [color="#000000"] "Assertion_Statement__Chain" [shape=box label="Iir"] "Assertion_Statement":Chain -> "Assertion_Statement__Chain" [color="#4e9a06" style=bold] "Assertion_Statement__Severity_Expression" [shape=box label="Iir"] "Assertion_Statement":Severity_Expression -> "Assertion_Statement__Severity_Expression" [color="#000000"] "Assertion_Statement__Report_Expression" [shape=box label="Iir"] "Assertion_Statement":Report_Expression -> "Assertion_Statement__Report_Expression" [color="#000000"] }

Iir_Kind_Report_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Severity_Expression

Field4

Iir

owned

Severity expression of an assertion or report statement.

Report_Expression

Field5

Iir

owned

Report expression of an assertion or report statement.

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Report_Statement" [style=filled fillcolor="#eeeeec" label="{Report_Statement|{<Parent> Parent|<Chain> Chain|<Label> Label|<Severity_Expression> Severity_Expression|<Report_Expression> Report_Expression|<Visible_Flag> Visible_Flag|<Covered_Flag> Covered_Flag}}"] "Report_Statement__Parent" [shape=box label="Iir"] "Report_Statement":Parent -> "Report_Statement__Parent" [color="#3465a4" style=dashed] "Report_Statement__Chain" [shape=box label="Iir"] "Report_Statement":Chain -> "Report_Statement__Chain" [color="#4e9a06" style=bold] "Report_Statement__Severity_Expression" [shape=box label="Iir"] "Report_Statement":Severity_Expression -> "Report_Statement__Severity_Expression" [color="#000000"] "Report_Statement__Report_Expression" [shape=box label="Iir"] "Report_Statement":Report_Expression -> "Report_Statement__Report_Expression" [color="#000000"] }

Iir_Kind_Next_Statement

LRM08 10.11 Next statement

next_statement ::=
   [ label : ] NEXT [ loop_label ] [ WHEN condition ] ;

LRM08 10.12 Exit statement

exit_statement ::=
   [ label : ] exit [ loop_label ] [ when condition ] ;

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Condition

Field1

Iir

maybe ref

Condition of a conditional_waveform, if_statement, elsif, while_loop_statement, next_statement or exit_statement.

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Loop_Label

Field5

Iir

owned

Loop label for an exit_statement or next_statement.

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.

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Next_Statement" [style=filled fillcolor="#eeeeec" label="{Next_Statement|{<Parent> Parent|<Condition> Condition|<Chain> Chain|<Label> Label|<Loop_Label> Loop_Label|<Visible_Flag> Visible_Flag|<Is_Ref> Is_Ref|<Covered_Flag> Covered_Flag}}"] "Next_Statement__Parent" [shape=box label="Iir"] "Next_Statement":Parent -> "Next_Statement__Parent" [color="#3465a4" style=dashed] "Next_Statement__Condition" [shape=box label="Iir"] "Next_Statement":Condition -> "Next_Statement__Condition" [color="#3465a4" style=dotted] "Next_Statement__Chain" [shape=box label="Iir"] "Next_Statement":Chain -> "Next_Statement__Chain" [color="#4e9a06" style=bold] "Next_Statement__Loop_Label" [shape=box label="Iir"] "Next_Statement":Loop_Label -> "Next_Statement__Loop_Label" [color="#000000"] }

Iir_Kind_Exit_Statement

LRM08 10.11 Next statement

next_statement ::=
   [ label : ] NEXT [ loop_label ] [ WHEN condition ] ;

LRM08 10.12 Exit statement

exit_statement ::=
   [ label : ] exit [ loop_label ] [ when condition ] ;

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Condition

Field1

Iir

maybe ref

Condition of a conditional_waveform, if_statement, elsif, while_loop_statement, next_statement or exit_statement.

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Loop_Label

Field5

Iir

owned

Loop label for an exit_statement or next_statement.

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.

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Exit_Statement" [style=filled fillcolor="#eeeeec" label="{Exit_Statement|{<Parent> Parent|<Condition> Condition|<Chain> Chain|<Label> Label|<Loop_Label> Loop_Label|<Visible_Flag> Visible_Flag|<Is_Ref> Is_Ref|<Covered_Flag> Covered_Flag}}"] "Exit_Statement__Parent" [shape=box label="Iir"] "Exit_Statement":Parent -> "Exit_Statement__Parent" [color="#3465a4" style=dashed] "Exit_Statement__Condition" [shape=box label="Iir"] "Exit_Statement":Condition -> "Exit_Statement__Condition" [color="#3465a4" style=dotted] "Exit_Statement__Chain" [shape=box label="Iir"] "Exit_Statement":Chain -> "Exit_Statement__Chain" [color="#4e9a06" style=bold] "Exit_Statement__Loop_Label" [shape=box label="Iir"] "Exit_Statement":Loop_Label -> "Exit_Statement__Loop_Label" [color="#000000"] }

Iir_Kind_Return_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Condition

Field1

Iir

maybe ref

Condition of a conditional_waveform, if_statement, elsif, while_loop_statement, next_statement or exit_statement.

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Expression

Field5

Iir

owned

Expression for an various nodes.

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

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.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Return_Statement" [style=filled fillcolor="#eeeeec" label="{Return_Statement|{<Parent> Parent|<Condition> Condition|<Chain> Chain|<Label> Label|<Expression> Expression|<Visible_Flag> Visible_Flag|<Covered_Flag> Covered_Flag|<Is_Ref> Is_Ref}}"] "Return_Statement__Parent" [shape=box label="Iir"] "Return_Statement":Parent -> "Return_Statement__Parent" [color="#3465a4" style=dashed] "Return_Statement__Condition" [shape=box label="Iir"] "Return_Statement":Condition -> "Return_Statement__Condition" [color="#3465a4" style=dotted] "Return_Statement__Chain" [shape=box label="Iir"] "Return_Statement":Chain -> "Return_Statement__Chain" [color="#4e9a06" style=bold] "Return_Statement__Expression" [shape=box label="Iir"] "Return_Statement":Expression -> "Return_Statement__Expression" [color="#000000"] }

Iir_Kind_Procedure_Call_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Procedure_Call

Field1

Iir

owned

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

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.

Suspend_Flag

Flag11

Boolean

owned

Set on wait, procedure call and composite statements when there is a sub-statement that can suspend a procedure or a process. Also set on procedure declaration. Note that the flag is conservative: it must be true if the node contains directly or indirectly a wait statement, but need not to be false otherwise.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Procedure_Call_Statement" [style=filled fillcolor="#eeeeec" label="{Procedure_Call_Statement|{<Parent> Parent|<Procedure_Call> Procedure_Call|<Chain> Chain|<Label> Label|<Visible_Flag> Visible_Flag|<Suspend_Flag> Suspend_Flag|<Covered_Flag> Covered_Flag}}"] "Procedure_Call_Statement__Parent" [shape=box label="Iir"] "Procedure_Call_Statement":Parent -> "Procedure_Call_Statement__Parent" [color="#3465a4" style=dashed] "Procedure_Call_Statement__Procedure_Call" [shape=box label="Iir"] "Procedure_Call_Statement":Procedure_Call -> "Procedure_Call_Statement__Procedure_Call" [color="#000000"] "Procedure_Call_Statement__Chain" [shape=box label="Iir"] "Procedure_Call_Statement":Chain -> "Procedure_Call_Statement__Chain" [color="#4e9a06" style=bold] }

Iir_Kind_Wait_Statement

Format: Medium

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Timeout_Clause

Field1

Iir

owned

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Condition_Clause

Field5

Iir

owned

Sensitivity_List

Field6

Iir_List

of maybe ref

The Is_Ref flag is set for extracted sensitivity lists.

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.

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Wait_Statement" [style=filled fillcolor="#eeeeec" label="{Wait_Statement|{<Parent> Parent|<Timeout_Clause> Timeout_Clause|<Chain> Chain|<Label> Label|<Condition_Clause> Condition_Clause|<Sensitivity_List> Sensitivity_List|<Visible_Flag> Visible_Flag|<Is_Ref> Is_Ref|<Covered_Flag> Covered_Flag}}"] "Wait_Statement__Parent" [shape=box label="Iir"] "Wait_Statement":Parent -> "Wait_Statement__Parent" [color="#3465a4" style=dashed] "Wait_Statement__Timeout_Clause" [shape=box label="Iir"] "Wait_Statement":Timeout_Clause -> "Wait_Statement__Timeout_Clause" [color="#000000"] "Wait_Statement__Chain" [shape=box label="Iir"] "Wait_Statement":Chain -> "Wait_Statement__Chain" [color="#4e9a06" style=bold] "Wait_Statement__Condition_Clause" [shape=box label="Iir"] "Wait_Statement":Condition_Clause -> "Wait_Statement__Condition_Clause" [color="#000000"] "Wait_Statement__Sensitivity_List" [shape=box3d label="Iir_List"] "Wait_Statement":Sensitivity_List -> "Wait_Statement__Sensitivity_List" [color="#3465a4" style=dotted] }

Iir_Kind_Break_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Condition

Field1

Iir

maybe ref

Condition of a conditional_waveform, if_statement, elsif, while_loop_statement, next_statement or exit_statement.

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Break_Element

Field4

Iir

chain

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.

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Break_Statement" [style=filled fillcolor="#eeeeec" label="{Break_Statement|{<Parent> Parent|<Condition> Condition|<Chain> Chain|<Label> Label|<Break_Element> Break_Element|<Visible_Flag> Visible_Flag|<Is_Ref> Is_Ref|<Covered_Flag> Covered_Flag}}"] "Break_Statement__Parent" [shape=box label="Iir"] "Break_Statement":Parent -> "Break_Statement__Parent" [color="#3465a4" style=dashed] "Break_Statement__Condition" [shape=box label="Iir"] "Break_Statement":Condition -> "Break_Statement__Condition" [color="#3465a4" style=dotted] "Break_Statement__Chain" [shape=box label="Iir"] "Break_Statement":Chain -> "Break_Statement__Chain" [color="#4e9a06" style=bold] "Break_Statement__Break_Element" [shape=box label="Iir"] "Break_Statement":Break_Element -> "Break_Statement__Break_Element" [color="#4e9a06"] }

Iir_Kind_For_Loop_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Parameter_Specification

Field1

Iir

owned

The parameters specification is represented by an Iterator_Declaration.

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Sequential_Statement_Chain

Field4

Iir

chain

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.

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.

Exit_Flag

Flag1

Boolean

owned

True if there is an exit statement targeting this loop statement.

Next_Flag

Flag2

Boolean

owned

True if there is a next statement targeting this loop statement.

End_Has_Identifier

Flag9

Boolean

owned

Layout flag: true if ‘end’ is followed by the identifier.

Suspend_Flag

Flag11

Boolean

owned

Set on wait, procedure call and composite statements when there is a sub-statement that can suspend a procedure or a process. Also set on procedure declaration. Note that the flag is conservative: it must be true if the node contains directly or indirectly a wait statement, but need not to be false otherwise.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "For_Loop_Statement" [style=filled fillcolor="#eeeeec" label="{For_Loop_Statement|{<Parent> Parent|<Parameter_Specification> Parameter_Specification|<Chain> Chain|<Label> Label|<Sequential_Statement_Chain> Sequential_Statement_Chain|<Visible_Flag> Visible_Flag|<Is_Within_Flag> Is_Within_Flag|<Exit_Flag> Exit_Flag|<Next_Flag> Next_Flag|<End_Has_Identifier> End_Has_Identifier|<Suspend_Flag> Suspend_Flag|<Covered_Flag> Covered_Flag}}"] "For_Loop_Statement__Parent" [shape=box label="Iir"] "For_Loop_Statement":Parent -> "For_Loop_Statement__Parent" [color="#3465a4" style=dashed] "For_Loop_Statement__Parameter_Specification" [shape=box label="Iir"] "For_Loop_Statement":Parameter_Specification -> "For_Loop_Statement__Parameter_Specification" [color="#000000"] "For_Loop_Statement__Chain" [shape=box label="Iir"] "For_Loop_Statement":Chain -> "For_Loop_Statement__Chain" [color="#4e9a06" style=bold] "For_Loop_Statement__Sequential_Statement_Chain" [shape=box label="Iir"] "For_Loop_Statement":Sequential_Statement_Chain -> "For_Loop_Statement__Sequential_Statement_Chain" [color="#4e9a06"] }

Iir_Kind_While_Loop_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Condition

Field1

Iir

maybe ref

Condition of a conditional_waveform, if_statement, elsif, while_loop_statement, next_statement or exit_statement.

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

Sequential_Statement_Chain

Field4

Iir

chain

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.

Exit_Flag

Flag1

Boolean

owned

True if there is an exit statement targeting this loop statement.

Next_Flag

Flag2

Boolean

owned

True if there is a next statement targeting this loop statement.

End_Has_Identifier

Flag9

Boolean

owned

Layout flag: true if ‘end’ is followed by the identifier.

Suspend_Flag

Flag11

Boolean

owned

Set on wait, procedure call and composite statements when there is a sub-statement that can suspend a procedure or a process. Also set on procedure declaration. Note that the flag is conservative: it must be true if the node contains directly or indirectly a wait statement, but need not to be false otherwise.

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.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "While_Loop_Statement" [style=filled fillcolor="#eeeeec" label="{While_Loop_Statement|{<Parent> Parent|<Condition> Condition|<Chain> Chain|<Label> Label|<Sequential_Statement_Chain> Sequential_Statement_Chain|<Visible_Flag> Visible_Flag|<Exit_Flag> Exit_Flag|<Next_Flag> Next_Flag|<End_Has_Identifier> End_Has_Identifier|<Suspend_Flag> Suspend_Flag|<Is_Ref> Is_Ref|<Covered_Flag> Covered_Flag}}"] "While_Loop_Statement__Parent" [shape=box label="Iir"] "While_Loop_Statement":Parent -> "While_Loop_Statement__Parent" [color="#3465a4" style=dashed] "While_Loop_Statement__Condition" [shape=box label="Iir"] "While_Loop_Statement":Condition -> "While_Loop_Statement__Condition" [color="#3465a4" style=dotted] "While_Loop_Statement__Chain" [shape=box label="Iir"] "While_Loop_Statement":Chain -> "While_Loop_Statement__Chain" [color="#4e9a06" style=bold] "While_Loop_Statement__Sequential_Statement_Chain" [shape=box label="Iir"] "While_Loop_Statement":Sequential_Statement_Chain -> "While_Loop_Statement__Sequential_Statement_Chain" [color="#4e9a06"] }

Iir_Kind_Case_Statement

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Expression

Field5

Iir

owned

Expression for an various nodes.

Matching_Flag

Flag5

Boolean

owned

Matching condition for case statement.

Case_Statement_Alternative_Chain

Field1

Iir

chain

Chain is composed of Iir_Kind_Choice_By_XXX.

Chain

Field2

Iir

chain next

Label

Field3

Name_Id

owned

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.

End_Has_Identifier

Flag9

Boolean

owned

Layout flag: true if ‘end’ is followed by the identifier.

Suspend_Flag

Flag11

Boolean

owned

Set on wait, procedure call and composite statements when there is a sub-statement that can suspend a procedure or a process. Also set on procedure declaration. Note that the flag is conservative: it must be true if the node contains directly or indirectly a wait statement, but need not to be false otherwise.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Case_Statement" [style=filled fillcolor="#eeeeec" label="{Case_Statement|{<Parent> Parent|<Expression> Expression|<Matching_Flag> Matching_Flag|<Case_Statement_Alternative_Chain> Case_Statement_Alternative_Chain|<Chain> Chain|<Label> Label|<Visible_Flag> Visible_Flag|<End_Has_Identifier> End_Has_Identifier|<Suspend_Flag> Suspend_Flag|<Covered_Flag> Covered_Flag}}"] "Case_Statement__Parent" [shape=box label="Iir"] "Case_Statement":Parent -> "Case_Statement__Parent" [color="#3465a4" style=dashed] "Case_Statement__Expression" [shape=box label="Iir"] "Case_Statement":Expression -> "Case_Statement__Expression" [color="#000000"] "Case_Statement__Case_Statement_Alternative_Chain" [shape=box label="Iir"] "Case_Statement":Case_Statement_Alternative_Chain -> "Case_Statement__Case_Statement_Alternative_Chain" [color="#4e9a06"] "Case_Statement__Chain" [shape=box label="Iir"] "Case_Statement":Chain -> "Case_Statement__Chain" [color="#4e9a06" style=bold] }

Iir_Kind_If_Statement

LRM08 10.8

if_statement ::=
  [ /if/_label : ]
     IF condition THEN
        sequence_of_statements
     { ELSIF condition THEN
        sequence_of_statements }
     [ ELSE
        sequence_of_statements ]
     END IF [ /if/_label ] ;

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Label

Field3

Name_Id

owned

Condition

Field1

Iir

maybe ref

May be NULL only for an iir_kind_elsif node, and then means the else clause.

Sequential_Statement_Chain

Field4

Iir

chain

Else_Clause

Field5

Iir

owned

Must be an Iir_kind_elsif node, or NULL for no more elsif clauses.

Chain

Field2

Iir

chain next

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.

End_Has_Identifier

Flag9

Boolean

owned

Layout flag: true if ‘end’ is followed by the identifier.

Suspend_Flag

Flag11

Boolean

owned

Set on wait, procedure call and composite statements when there is a sub-statement that can suspend a procedure or a process. Also set on procedure declaration. Note that the flag is conservative: it must be true if the node contains directly or indirectly a wait statement, but need not to be false otherwise.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

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.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "If_Statement" [style=filled fillcolor="#eeeeec" label="{If_Statement|{<Parent> Parent|<Label> Label|<Condition> Condition|<Sequential_Statement_Chain> Sequential_Statement_Chain|<Else_Clause> Else_Clause|<Chain> Chain|<Visible_Flag> Visible_Flag|<End_Has_Identifier> End_Has_Identifier|<Suspend_Flag> Suspend_Flag|<Covered_Flag> Covered_Flag|<Is_Ref> Is_Ref}}"] "If_Statement__Parent" [shape=box label="Iir"] "If_Statement":Parent -> "If_Statement__Parent" [color="#3465a4" style=dashed] "If_Statement__Condition" [shape=box label="Iir"] "If_Statement":Condition -> "If_Statement__Condition" [color="#3465a4" style=dotted] "If_Statement__Sequential_Statement_Chain" [shape=box label="Iir"] "If_Statement":Sequential_Statement_Chain -> "If_Statement__Sequential_Statement_Chain" [color="#4e9a06"] "If_Statement__Else_Clause" [shape=box label="Iir"] "If_Statement":Else_Clause -> "If_Statement__Else_Clause" [color="#000000"] "If_Statement__Chain" [shape=box label="Iir"] "If_Statement":Chain -> "If_Statement__Chain" [color="#4e9a06" style=bold] }

Iir_Kind_Suspend_State_Statement

Implicit statement added to mark a suspend point.

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Chain

Field2

Iir

chain next

Next statement

Suspend_State_Index

Field3

Int32

owned

State index for the statement.

Suspend_State_Decl

Field5

Iir

ref

Corresponding suspend state declaration.

Suspend_State_Chain

Field4

Iir

forward ref

Chain of suspend state statement.

Covered_Flag

Flag10

Boolean

owned

Set during elaboration when the statement is executed.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Suspend_State_Statement" [style=filled fillcolor="#eeeeec" label="{Suspend_State_Statement|{<Parent> Parent|<Chain> Chain|<Suspend_State_Index> Suspend_State_Index|<Suspend_State_Decl> Suspend_State_Decl|<Suspend_State_Chain> Suspend_State_Chain|<Covered_Flag> Covered_Flag}}"] "Suspend_State_Statement__Parent" [shape=box label="Iir"] "Suspend_State_Statement":Parent -> "Suspend_State_Statement__Parent" [color="#3465a4" style=dashed] "Suspend_State_Statement__Chain" [shape=box label="Iir"] "Suspend_State_Statement":Chain -> "Suspend_State_Statement__Chain" [color="#4e9a06" style=bold] "Suspend_State_Statement__Suspend_State_Decl" [shape=box label="Iir"] "Suspend_State_Statement":Suspend_State_Decl -> "Suspend_State_Statement__Suspend_State_Decl" [color="#3465a4" style=dashed] "Suspend_State_Statement__Suspend_State_Chain" [shape=box label="Iir"] "Suspend_State_Statement":Suspend_State_Chain -> "Suspend_State_Statement__Suspend_State_Chain" [color="#f57900" style=dashed] }