Other nodes (Unused … Design_Unit)

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_Unused

Format: Short

Iir_Kind_Error

Format: Short

Accessor

Field

Type

Access

Description

Type

Field1

Iir

ref

Can be used instead of an expression or a type.

Error_Origin

Field2

Iir

owned

Node which couldn’t be correctly analyzed.

Type_Declarator

Field3

Iir

ref

The type declarator which declares the type definition DEF. Can also be a nature declarator for composite nature definition.

Expr_Staticness

State1

Iir_Staticness

owned

Expression staticness, defined by rules of LRM 7.4

Resolved_Flag

Flag1

Boolean

owned

Get/Set the resolved flag of a subtype definition. A subtype definition may be resolved either because a resolution_indication is present in the subtype_indication, or because all elements type are resolved.

Signal_Type_Flag

Flag2

Boolean

owned

Get/Set the signal_type flag of a type/subtype definition. This flags indicates whether the type can be used as a signal type. Access types, file types and composite types whose a sub-element is an access type cannot be used as a signal type.

Has_Signal_Flag

Flag3

Boolean

owned

True if ATYPE is used to declare a signal or to handle a signal (such as slice or aliases).

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Error" [style=filled fillcolor="#eeeeec" label="{Error|{<Type> Type|<Error_Origin> Error_Origin|<Type_Declarator> Type_Declarator|<Expr_Staticness> Expr_Staticness|<Resolved_Flag> Resolved_Flag|<Signal_Type_Flag> Signal_Type_Flag|<Has_Signal_Flag> Has_Signal_Flag}}"] "Error__Type" [shape=box label="Iir"] "Error":Type -> "Error__Type" [color="#3465a4" style=dashed] "Error__Error_Origin" [shape=box label="Iir"] "Error":Error_Origin -> "Error__Error_Origin" [color="#000000"] "Error__Type_Declarator" [shape=box label="Iir"] "Error":Type_Declarator -> "Error__Type_Declarator" [color="#3465a4" style=dashed] }

Iir_Kind_Design_File

LRM93 11

design_file ::= design_unit { design_unit }

Format: Medium

Accessor

Field

Type

Access

Description

Library

Field0

Iir

ref

The library containing this design file.

Chain

Field2

Iir

chain next

Analysis_Time_Stamp

Field3

Time_Stamp_Id

owned

Time when the whole file has been analyzed. This allows ordering analysis and detecting obsolete units across libraries.

File_Checksum

Field4

File_Checksum_Id

owned

File time stamp is the system time of the file last modification.

First_Design_Unit

Field5

Iir

chain

Get the chain of unit contained in the file. This is a simply linked chain, but the tail is kept to speed-up appending operation.

Last_Design_Unit

Field6

Iir

ref

Design_File_Source

Field7

Source_File_Entry

owned

Source file entry for this file.

Design_File_Filename

Field12

Name_Id

owned

Identifier for the design file file name and dirname.

Design_File_Directory

Field11

Name_Id

owned

Directory of a design file.

Elab_Flag

Flag3

Boolean

owned

Flag used during elaboration. Set when the file was already seen.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Design_File" [style=filled fillcolor="#eeeeec" label="{Design_File|{<Library> Library|<Chain> Chain|<Analysis_Time_Stamp> Analysis_Time_Stamp|<File_Checksum> File_Checksum|<First_Design_Unit> First_Design_Unit|<Last_Design_Unit> Last_Design_Unit|<Design_File_Source> Design_File_Source|<Design_File_Filename> Design_File_Filename|<Design_File_Directory> Design_File_Directory|<Elab_Flag> Elab_Flag}}"] "Design_File__Library" [shape=box label="Iir"] "Design_File":Library -> "Design_File__Library" [color="#3465a4" style=dashed] "Design_File__Chain" [shape=box label="Iir"] "Design_File":Chain -> "Design_File__Chain" [color="#4e9a06" style=bold] "Design_File__First_Design_Unit" [shape=box label="Iir"] "Design_File":First_Design_Unit -> "Design_File__First_Design_Unit" [color="#4e9a06"] "Design_File__Last_Design_Unit" [shape=box label="Iir"] "Design_File":Last_Design_Unit -> "Design_File__Last_Design_Unit" [color="#3465a4" style=dashed] }

Iir_Kind_Design_Unit

LRM93 11

design_unit ::= context_clause library_unit

Format: Medium

Accessor

Field

Type

Access

Description

Design_File

Field0

Iir

ref

The design_file containing this design unit.

Context_Items

Field1

Iir

chain

Get the chain of context clause.

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.

Date

Field4

Date_Type

owned

This is a symbolic date, only used as a order of analysis of design units.

Library_Unit

Field7

Iir

owned

Get/Set the library unit, which can be an entity, an architecture, a package, a package body or a configuration.

Hash_Chain

Field5

Iir

forward ref

Collision chain for units.

Dependence_List

Field8

Iir_List

of ref

Get the list of design units that must be analysed before this unit. See LRM93 11.4 for the rules defining the order of analysis.

Analysis_Checks_List

Field9

Iir_List

of ref

FIXME: this field can be put in the library_unit, since it is only used when the units have been analyzed.

Design_Unit_Source_Pos

Field10

Source_Ptr

owned

Set the line and the offset in the line, only for the library manager. This is valid until the file is really loaded in memory. On loading, location will contain all this information.

Design_Unit_Source_Line

Field11

Int32

owned

Design_Unit_Source_Col

Field12

Int32

owned

Date_State

State1

Date_State_Type

owned

Get/Set the date state, which indicates whether this design unit is in memory or not.

Elab_Flag

Flag3

Boolean

owned

Flag used during elaboration. Set when the file was already seen.

Configuration_Mark_Flag

Flag4

Boolean

owned

Flags used during configuration

Configuration_Done_Flag

Flag5

Boolean

owned

Used only by configuration to flag units completely handled. Used to detect recursion.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Design_Unit" [style=filled fillcolor="#eeeeec" label="{Design_Unit|{<Design_File> Design_File|<Context_Items> Context_Items|<Chain> Chain|<Identifier> Identifier|<Date> Date|<Library_Unit> Library_Unit|<Hash_Chain> Hash_Chain|<Dependence_List> Dependence_List|<Analysis_Checks_List> Analysis_Checks_List|<Design_Unit_Source_Pos> Design_Unit_Source_Pos|<Design_Unit_Source_Line> Design_Unit_Source_Line|<Design_Unit_Source_Col> Design_Unit_Source_Col|<Date_State> Date_State|<Elab_Flag> Elab_Flag|<Configuration_Mark_Flag> Configuration_Mark_Flag|<Configuration_Done_Flag> Configuration_Done_Flag}}"] "Design_Unit__Design_File" [shape=box label="Iir"] "Design_Unit":Design_File -> "Design_Unit__Design_File" [color="#3465a4" style=dashed] "Design_Unit__Context_Items" [shape=box label="Iir"] "Design_Unit":Context_Items -> "Design_Unit__Context_Items" [color="#4e9a06"] "Design_Unit__Chain" [shape=box label="Iir"] "Design_Unit":Chain -> "Design_Unit__Chain" [color="#4e9a06" style=bold] "Design_Unit__Library_Unit" [shape=box label="Iir"] "Design_Unit":Library_Unit -> "Design_Unit__Library_Unit" [color="#000000"] "Design_Unit__Hash_Chain" [shape=box label="Iir"] "Design_Unit":Hash_Chain -> "Design_Unit__Hash_Chain" [color="#f57900" style=dashed] "Design_Unit__Dependence_List" [shape=box3d label="Iir_List"] "Design_Unit":Dependence_List -> "Design_Unit__Dependence_List" [color="#3465a4" style=dashed] "Design_Unit__Analysis_Checks_List" [shape=box3d label="Iir_List"] "Design_Unit":Analysis_Checks_List -> "Design_Unit__Analysis_Checks_List" [color="#3465a4" style=dashed] }