Other nodes (Non_Object_Alias_Declaration … Psl_Endpoint_Declaration)

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_Non_Object_Alias_Declaration

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

Identifier

Field3

Name_Id

owned

Get/Set the identifier of a declaration. Can also be used instead of get/set_label.

Name

Field4

Iir

owned

Alias_Signature

Field5

Iir

owned

Implicit_Alias_Flag

Flag1

Boolean

owned

Set when the alias was implicitly created (by Sem) because of an explicit alias of a type.

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.

Use_Flag

Flag6

Boolean

owned

For a declaration: true if the declaration is used somewhere.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Non_Object_Alias_Declaration" [style=filled fillcolor="#eeeeec" label="{Non_Object_Alias_Declaration|{<Parent> Parent|<Chain> Chain|<Identifier> Identifier|<Name> Name|<Alias_Signature> Alias_Signature|<Implicit_Alias_Flag> Implicit_Alias_Flag|<Visible_Flag> Visible_Flag|<Use_Flag> Use_Flag}}"] "Non_Object_Alias_Declaration__Parent" [shape=box label="Iir"] "Non_Object_Alias_Declaration":Parent -> "Non_Object_Alias_Declaration__Parent" [color="#3465a4" style=dashed] "Non_Object_Alias_Declaration__Chain" [shape=box label="Iir"] "Non_Object_Alias_Declaration":Chain -> "Non_Object_Alias_Declaration__Chain" [color="#4e9a06" style=bold] "Non_Object_Alias_Declaration__Name" [shape=box label="Iir"] "Non_Object_Alias_Declaration":Name -> "Non_Object_Alias_Declaration__Name" [color="#000000"] "Non_Object_Alias_Declaration__Alias_Signature" [shape=box label="Iir"] "Non_Object_Alias_Declaration":Alias_Signature -> "Non_Object_Alias_Declaration__Alias_Signature" [color="#000000"] }

Iir_Kind_Mode_View_Declaration

LRM19 6.5.2 Interface object declarations

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

Identifier

Field3

Name_Id

owned

Get/Set the identifier of a declaration. Can also be used instead of get/set_label.

Subtype_Indication

Field5

Iir

maybe ref

The subtype indication of a declaration. If several declarations share the same subtype_indication like in: variable a, b : integer := 5; then only the first declaration is the owner of the subtype_indication.

Elements_Definition_Chain

Field1

Iir

chain

Chain of elements in source order.

Elements_Definition_List

Field4

Iir_Flist

of ref

Flist of elements, indexed by element position.

End_Has_Identifier

Flag9

Boolean

owned

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

End_Has_Reserved_Id

Flag8

Boolean

owned

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

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.

Use_Flag

Flag6

Boolean

owned

For a declaration: true if the declaration is used somewhere.

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] "Mode_View_Declaration" [style=filled fillcolor="#eeeeec" label="{Mode_View_Declaration|{<Parent> Parent|<Chain> Chain|<Identifier> Identifier|<Subtype_Indication> Subtype_Indication|<Elements_Definition_Chain> Elements_Definition_Chain|<Elements_Definition_List> Elements_Definition_List|<End_Has_Identifier> End_Has_Identifier|<End_Has_Reserved_Id> End_Has_Reserved_Id|<Visible_Flag> Visible_Flag|<Use_Flag> Use_Flag|<Is_Ref> Is_Ref}}"] "Mode_View_Declaration__Parent" [shape=box label="Iir"] "Mode_View_Declaration":Parent -> "Mode_View_Declaration__Parent" [color="#3465a4" style=dashed] "Mode_View_Declaration__Chain" [shape=box label="Iir"] "Mode_View_Declaration":Chain -> "Mode_View_Declaration__Chain" [color="#4e9a06" style=bold] "Mode_View_Declaration__Subtype_Indication" [shape=box label="Iir"] "Mode_View_Declaration":Subtype_Indication -> "Mode_View_Declaration__Subtype_Indication" [color="#3465a4" style=dotted] "Mode_View_Declaration__Elements_Definition_Chain" [shape=box label="Iir"] "Mode_View_Declaration":Elements_Definition_Chain -> "Mode_View_Declaration__Elements_Definition_Chain" [color="#4e9a06"] "Mode_View_Declaration__Elements_Definition_List" [shape=box3d label="Iir_Flist"] "Mode_View_Declaration":Elements_Definition_List -> "Mode_View_Declaration__Elements_Definition_List" [color="#3465a4" style=dashed] }

Iir_Kind_Psl_Declaration

A psl sequence or property declaration.

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.

Chain

Field2

Iir

chain next

Identifier

Field3

Name_Id

owned

Get/Set the identifier of a declaration. Can also be used instead of get/set_label.

Psl_Declaration

Field5

PSL_Node

owned

PSL_Clock

Field6

PSL_Node

owned

Valid only for property declaration.

PSL_NFA

Field8

PSL_NFA

owned

Valid only for property declaration without parameters.

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.

Use_Flag

Flag6

Boolean

owned

For a declaration: true if the declaration is used somewhere.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Psl_Declaration" [style=filled fillcolor="#eeeeec" label="{Psl_Declaration|{<Parent> Parent|<Chain> Chain|<Identifier> Identifier|<Psl_Declaration> Psl_Declaration|<PSL_Clock> PSL_Clock|<PSL_NFA> PSL_NFA|<Visible_Flag> Visible_Flag|<Use_Flag> Use_Flag}}"] "Psl_Declaration__Parent" [shape=box label="Iir"] "Psl_Declaration":Parent -> "Psl_Declaration__Parent" [color="#3465a4" style=dashed] "Psl_Declaration__Chain" [shape=box label="Iir"] "Psl_Declaration":Chain -> "Psl_Declaration__Chain" [color="#4e9a06" style=bold] "Psl_Declaration__Psl_Declaration" [shape=box label="PSL_Node"] "Psl_Declaration":Psl_Declaration -> "Psl_Declaration__Psl_Declaration" [color="#000000"] "Psl_Declaration__PSL_Clock" [shape=box label="PSL_Node"] "Psl_Declaration":PSL_Clock -> "Psl_Declaration__PSL_Clock" [color="#000000"] "Psl_Declaration__PSL_NFA" [shape=box label="PSL_NFA"] "Psl_Declaration":PSL_NFA -> "Psl_Declaration__PSL_NFA" [color="#000000"] }

Iir_Kind_Psl_Boolean_Parameter

A psl boolean parameter.

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.

Identifier

Field3

Name_Id

owned

Get/Set the identifier of a declaration. Can also be used instead of get/set_label.

Psl_Declaration

Field5

PSL_Node

owned

Type

Field1

Iir

ref

Chain

Field2

Iir

chain next

Expr_Staticness

State1

Iir_Staticness

owned

Expression staticness, defined by rules of LRM 7.4

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.

Use_Flag

Flag6

Boolean

owned

For a declaration: true if the declaration is used somewhere.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Psl_Boolean_Parameter" [style=filled fillcolor="#eeeeec" label="{Psl_Boolean_Parameter|{<Parent> Parent|<Identifier> Identifier|<Psl_Declaration> Psl_Declaration|<Type> Type|<Chain> Chain|<Expr_Staticness> Expr_Staticness|<Visible_Flag> Visible_Flag|<Use_Flag> Use_Flag}}"] "Psl_Boolean_Parameter__Parent" [shape=box label="Iir"] "Psl_Boolean_Parameter":Parent -> "Psl_Boolean_Parameter__Parent" [color="#3465a4" style=dashed] "Psl_Boolean_Parameter__Psl_Declaration" [shape=box label="PSL_Node"] "Psl_Boolean_Parameter":Psl_Declaration -> "Psl_Boolean_Parameter__Psl_Declaration" [color="#000000"] "Psl_Boolean_Parameter__Type" [shape=box label="Iir"] "Psl_Boolean_Parameter":Type -> "Psl_Boolean_Parameter__Type" [color="#3465a4" style=dashed] "Psl_Boolean_Parameter__Chain" [shape=box label="Iir"] "Psl_Boolean_Parameter":Chain -> "Psl_Boolean_Parameter__Chain" [color="#4e9a06" style=bold] }

Iir_Kind_Psl_Endpoint_Declaration

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.

Type

Field1

Iir

ref

Always boolean.

Chain

Field2

Iir

chain next

Identifier

Field3

Name_Id

owned

Get/Set the identifier of a declaration. Can also be used instead of get/set_label.

Psl_Declaration

Field5

PSL_Node

owned

PSL_Clock

Field6

PSL_Node

owned

PSL_NFA

Field8

PSL_NFA

owned

PSL_Nbr_States

Field9

Int32

owned

Number of states in the NFA.

PSL_Clock_Sensitivity

Field10

Iir_List

owned

PSL_EOS_Flag

Flag1

Boolean

owned

True if at least one of the NFA edge has the EOS flag.

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.

Use_Flag

Flag6

Boolean

owned

For a declaration: true if the declaration is used somewhere.

Expr_Staticness

State1

Iir_Staticness

owned

Expression staticness, defined by rules of LRM 7.4

Name_Staticness

State2

Iir_Staticness

owned

Staticness of a name, according to rules of LRM 6.1

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Psl_Endpoint_Declaration" [style=filled fillcolor="#eeeeec" label="{Psl_Endpoint_Declaration|{<Parent> Parent|<Type> Type|<Chain> Chain|<Identifier> Identifier|<Psl_Declaration> Psl_Declaration|<PSL_Clock> PSL_Clock|<PSL_NFA> PSL_NFA|<PSL_Nbr_States> PSL_Nbr_States|<PSL_Clock_Sensitivity> PSL_Clock_Sensitivity|<PSL_EOS_Flag> PSL_EOS_Flag|<Visible_Flag> Visible_Flag|<Use_Flag> Use_Flag|<Expr_Staticness> Expr_Staticness|<Name_Staticness> Name_Staticness}}"] "Psl_Endpoint_Declaration__Parent" [shape=box label="Iir"] "Psl_Endpoint_Declaration":Parent -> "Psl_Endpoint_Declaration__Parent" [color="#3465a4" style=dashed] "Psl_Endpoint_Declaration__Type" [shape=box label="Iir"] "Psl_Endpoint_Declaration":Type -> "Psl_Endpoint_Declaration__Type" [color="#3465a4" style=dashed] "Psl_Endpoint_Declaration__Chain" [shape=box label="Iir"] "Psl_Endpoint_Declaration":Chain -> "Psl_Endpoint_Declaration__Chain" [color="#4e9a06" style=bold] "Psl_Endpoint_Declaration__Psl_Declaration" [shape=box label="PSL_Node"] "Psl_Endpoint_Declaration":Psl_Declaration -> "Psl_Endpoint_Declaration__Psl_Declaration" [color="#000000"] "Psl_Endpoint_Declaration__PSL_Clock" [shape=box label="PSL_Node"] "Psl_Endpoint_Declaration":PSL_Clock -> "Psl_Endpoint_Declaration__PSL_Clock" [color="#000000"] "Psl_Endpoint_Declaration__PSL_NFA" [shape=box label="PSL_NFA"] "Psl_Endpoint_Declaration":PSL_NFA -> "Psl_Endpoint_Declaration__PSL_NFA" [color="#000000"] "Psl_Endpoint_Declaration__PSL_Clock_Sensitivity" [shape=box3d label="Iir_List"] "Psl_Endpoint_Declaration":PSL_Clock_Sensitivity -> "Psl_Endpoint_Declaration__PSL_Clock_Sensitivity" [color="#000000"] }