.. # This page is generated by doc/ASTReference.py when Sphinx starts. Do not edit it. 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 :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:Unused: Iir_Kind_Unused =============== Format: ``Short`` .. _INT:AST:Error: Iir_Kind_Error ============== Format: ``Short`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Type ` - ``Field1`` - ``Iir`` - ref - Can be used instead of an expression or a type. * - :ref:`Error_Origin ` - ``Field2`` - ``Iir`` - owned - Node which couldn't be correctly analyzed. * - :ref:`Type_Declarator ` - ``Field3`` - ``Iir`` - ref - The type declarator which declares the type definition DEF. Can also be a nature declarator for composite nature definition. * - :ref:`Expr_Staticness ` - ``State1`` - ``Iir_Staticness`` - owned - Expression staticness, defined by rules of LRM 7.4 * - :ref:`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. * - :ref:`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. * - :ref:`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). .. graphviz:: digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Error" [style=filled fillcolor="#eeeeec" label="{Error|{ Type| Error_Origin| Type_Declarator| Expr_Staticness| Resolved_Flag| Signal_Type_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] } .. _INT:AST:Design_File: Iir_Kind_Design_File ==================== LRM93 11 :: design_file ::= design_unit { design_unit } Format: ``Medium`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Library ` - ``Field0`` - ``Iir`` - ref - The library containing this design file. * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`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. * - :ref:`File_Checksum ` - ``Field4`` - ``File_Checksum_Id`` - owned - File time stamp is the system time of the file last modification. * - :ref:`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. * - :ref:`Last_Design_Unit ` - ``Field6`` - ``Iir`` - ref - — * - :ref:`Design_File_Source ` - ``Field7`` - ``Source_File_Entry`` - owned - Source file entry for this file. * - :ref:`Design_File_Filename ` - ``Field12`` - ``Name_Id`` - owned - Identifier for the design file file name and dirname. * - :ref:`Design_File_Directory ` - ``Field11`` - ``Name_Id`` - owned - Directory of a design file. * - :ref:`Elab_Flag ` - ``Flag3`` - ``Boolean`` - owned - Flag used during elaboration. Set when the file was already seen. .. graphviz:: 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| Chain| Analysis_Time_Stamp| File_Checksum| First_Design_Unit| Last_Design_Unit| Design_File_Source| Design_File_Filename| Design_File_Directory| 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] } .. _INT:AST:Design_Unit: Iir_Kind_Design_Unit ==================== LRM93 11 :: design_unit ::= context_clause library_unit Format: ``Medium`` .. list-table:: :header-rows: 1 :widths: 30 12 18 12 28 * - Accessor - Field - Type - Access - Description * - :ref:`Design_File ` - ``Field0`` - ``Iir`` - ref - The design_file containing this design unit. * - :ref:`Context_Items ` - ``Field1`` - ``Iir`` - chain - Get the chain of context clause. * - :ref:`Chain ` - ``Field2`` - ``Iir`` - chain next - — * - :ref:`Identifier ` - ``Field3`` - ``Name_Id`` - owned - Get/Set the identifier of a declaration. Can also be used instead of get/set_label. * - :ref:`Date ` - ``Field4`` - ``Date_Type`` - owned - This is a symbolic date, only used as a order of analysis of design units. * - :ref:`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. * - :ref:`Hash_Chain ` - ``Field5`` - ``Iir`` - forward ref - Collision chain for units. * - :ref:`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. * - :ref:`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. * - :ref:`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. * - :ref:`Design_Unit_Source_Line ` - ``Field11`` - ``Int32`` - owned - — * - :ref:`Design_Unit_Source_Col ` - ``Field12`` - ``Int32`` - owned - — * - :ref:`Date_State ` - ``State1`` - ``Date_State_Type`` - owned - Get/Set the date state, which indicates whether this design unit is in memory or not. * - :ref:`Elab_Flag ` - ``Flag3`` - ``Boolean`` - owned - Flag used during elaboration. Set when the file was already seen. * - :ref:`Configuration_Mark_Flag ` - ``Flag4`` - ``Boolean`` - owned - Flags used during configuration * - :ref:`Configuration_Done_Flag ` - ``Flag5`` - ``Boolean`` - owned - Used only by configuration to flag units completely handled. Used to detect recursion. .. graphviz:: 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| Context_Items| Chain| Identifier| Date| Library_Unit| Hash_Chain| Dependence_List| Analysis_Checks_List| Design_Unit_Source_Pos| Design_Unit_Source_Line| Design_Unit_Source_Col| Date_State| Elab_Flag| Configuration_Mark_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] }