summaryrefslogtreecommitdiff
path: root/src/vhdl
diff options
context:
space:
mode:
authorTristan Gingold2014-12-14 10:47:40 +0100
committerTristan Gingold2014-12-14 10:47:40 +0100
commitdf03d4120b0689b30dc4f629407d96b45b0db5a4 (patch)
tree7f5512e73e729647127e9f1b932665a6193a91eb /src/vhdl
parentda4e9284b867a22a2af4bb83d37f26312cee1984 (diff)
downloadghdl-df03d4120b0689b30dc4f629407d96b45b0db5a4.tar.gz
ghdl-df03d4120b0689b30dc4f629407d96b45b0db5a4.tar.bz2
ghdl-df03d4120b0689b30dc4f629407d96b45b0db5a4.zip
iirs: reduce memory size.
Diffstat (limited to 'src/vhdl')
-rw-r--r--src/vhdl/iirs.adb46
-rw-r--r--src/vhdl/iirs.ads98
-rw-r--r--src/vhdl/nodes_meta.adb468
3 files changed, 264 insertions, 348 deletions
diff --git a/src/vhdl/iirs.adb b/src/vhdl/iirs.adb
index 04649b5..92bd7a1 100644
--- a/src/vhdl/iirs.adb
+++ b/src/vhdl/iirs.adb
@@ -297,7 +297,9 @@ package body Iirs is
| Iir_Kind_Element_Declaration
| Iir_Kind_Non_Object_Alias_Declaration
| Iir_Kind_Terminal_Declaration
+ | Iir_Kind_Free_Quantity_Declaration
| Iir_Kind_Object_Alias_Declaration
+ | Iir_Kind_Variable_Declaration
| Iir_Kind_Identity_Operator
| Iir_Kind_Negation_Operator
| Iir_Kind_Absolute_Operator
@@ -354,9 +356,13 @@ package body Iirs is
| Iir_Kind_Slice_Name
| Iir_Kind_Indexed_Name
| Iir_Kind_Psl_Expression
+ | Iir_Kind_Concurrent_Assertion_Statement
| Iir_Kind_Psl_Default_Clock
| Iir_Kind_Concurrent_Procedure_Call_Statement
+ | Iir_Kind_Signal_Assignment_Statement
| Iir_Kind_Null_Statement
+ | Iir_Kind_Assertion_Statement
+ | Iir_Kind_Report_Statement
| Iir_Kind_Variable_Assignment_Statement
| Iir_Kind_Return_Statement
| Iir_Kind_For_Loop_Statement
@@ -365,6 +371,8 @@ package body Iirs is
| Iir_Kind_Exit_Statement
| Iir_Kind_Case_Statement
| Iir_Kind_Procedure_Call_Statement
+ | Iir_Kind_If_Statement
+ | Iir_Kind_Elsif
| Iir_Kind_Character_Literal
| Iir_Kind_Simple_Name
| Iir_Kind_Selected_Name
@@ -433,7 +441,6 @@ package body Iirs is
| Iir_Kind_Library_Declaration
| Iir_Kind_Component_Declaration
| Iir_Kind_Psl_Declaration
- | Iir_Kind_Free_Quantity_Declaration
| Iir_Kind_Across_Quantity_Declaration
| Iir_Kind_Through_Quantity_Declaration
| Iir_Kind_Enumeration_Literal
@@ -446,7 +453,6 @@ package body Iirs is
| Iir_Kind_File_Declaration
| Iir_Kind_Guard_Signal_Declaration
| Iir_Kind_Signal_Declaration
- | Iir_Kind_Variable_Declaration
| Iir_Kind_Constant_Declaration
| Iir_Kind_Iterator_Declaration
| Iir_Kind_Interface_Constant_Declaration
@@ -458,19 +464,13 @@ package body Iirs is
| Iir_Kind_Process_Statement
| Iir_Kind_Concurrent_Conditional_Signal_Assignment
| Iir_Kind_Concurrent_Selected_Signal_Assignment
- | Iir_Kind_Concurrent_Assertion_Statement
| Iir_Kind_Psl_Assert_Statement
| Iir_Kind_Psl_Cover_Statement
| Iir_Kind_Block_Statement
| Iir_Kind_Generate_Statement
| Iir_Kind_Component_Instantiation_Statement
| Iir_Kind_Simple_Simultaneous_Statement
- | Iir_Kind_Signal_Assignment_Statement
- | Iir_Kind_Assertion_Statement
- | Iir_Kind_Report_Statement
- | Iir_Kind_Wait_Statement
- | Iir_Kind_If_Statement
- | Iir_Kind_Elsif =>
+ | Iir_Kind_Wait_Statement =>
return Format_Medium;
when Iir_Kind_Floating_Point_Literal
| Iir_Kind_Physical_Fp_Literal =>
@@ -730,14 +730,14 @@ package body Iirs is
begin
pragma Assert (Stmt /= Null_Iir);
pragma Assert (Has_Guarded_Target_State (Get_Kind (Stmt)));
- return Tri_State_Type'Val (Get_State3 (Stmt));
+ return Tri_State_Type'Val (Get_State1 (Stmt));
end Get_Guarded_Target_State;
procedure Set_Guarded_Target_State (Stmt : Iir; State : Tri_State_Type) is
begin
pragma Assert (Stmt /= Null_Iir);
pragma Assert (Has_Guarded_Target_State (Get_Kind (Stmt)));
- Set_State3 (Stmt, Tri_State_Type'Pos (State));
+ Set_State1 (Stmt, Tri_State_Type'Pos (State));
end Set_Guarded_Target_State;
function Get_Library_Unit (Design_Unit : Iir_Design_Unit) return Iir is
@@ -1843,28 +1843,28 @@ package body Iirs is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Default_Value (Get_Kind (Target)));
- return Get_Field6 (Target);
+ return Get_Field4 (Target);
end Get_Default_Value;
procedure Set_Default_Value (Target : Iir; Value : Iir) is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Default_Value (Get_Kind (Target)));
- Set_Field6 (Target, Value);
+ Set_Field4 (Target, Value);
end Set_Default_Value;
function Get_Deferred_Declaration (Target : Iir) return Iir is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Deferred_Declaration (Get_Kind (Target)));
- return Get_Field7 (Target);
+ return Get_Field6 (Target);
end Get_Deferred_Declaration;
procedure Set_Deferred_Declaration (Target : Iir; Decl : Iir) is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Deferred_Declaration (Get_Kind (Target)));
- Set_Field7 (Target, Decl);
+ Set_Field6 (Target, Decl);
end Set_Deferred_Declaration;
function Get_Deferred_Declaration_Flag (Target : Iir) return Boolean is
@@ -2658,14 +2658,14 @@ package body Iirs is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Reject_Time_Expression (Get_Kind (Target)));
- return Get_Field6 (Target);
+ return Get_Field4 (Target);
end Get_Reject_Time_Expression;
procedure Set_Reject_Time_Expression (Target : Iir; Expr : Iir) is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Reject_Time_Expression (Get_Kind (Target)));
- Set_Field6 (Target, Expr);
+ Set_Field4 (Target, Expr);
end Set_Reject_Time_Expression;
function Get_Sensitivity_List (Wait : Iir) return Iir_List is
@@ -2953,28 +2953,28 @@ package body Iirs is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Report_Expression (Get_Kind (Target)));
- return Get_Field6 (Target);
+ return Get_Field5 (Target);
end Get_Report_Expression;
procedure Set_Report_Expression (Target : Iir; Expr : Iir) is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Report_Expression (Get_Kind (Target)));
- Set_Field6 (Target, Expr);
+ Set_Field5 (Target, Expr);
end Set_Report_Expression;
function Get_Severity_Expression (Target : Iir) return Iir is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Severity_Expression (Get_Kind (Target)));
- return Get_Field5 (Target);
+ return Get_Field4 (Target);
end Get_Severity_Expression;
procedure Set_Severity_Expression (Target : Iir; Expr : Iir) is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Severity_Expression (Get_Kind (Target)));
- Set_Field5 (Target, Expr);
+ Set_Field4 (Target, Expr);
end Set_Severity_Expression;
function Get_Instantiated_Unit (Target : Iir) return Iir is
@@ -3292,14 +3292,14 @@ package body Iirs is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Else_Clause (Get_Kind (Target)));
- return Get_Field6 (Target);
+ return Get_Field4 (Target);
end Get_Else_Clause;
procedure Set_Else_Clause (Target : Iir; Clause : Iir) is
begin
pragma Assert (Target /= Null_Iir);
pragma Assert (Has_Else_Clause (Get_Kind (Target)));
- Set_Field6 (Target, Clause);
+ Set_Field4 (Target, Clause);
end Set_Else_Clause;
function Get_Parameter_Specification (Target : Iir) return Iir is
diff --git a/src/vhdl/iirs.ads b/src/vhdl/iirs.ads
index 90d3157..591da44 100644
--- a/src/vhdl/iirs.ads
+++ b/src/vhdl/iirs.ads
@@ -1088,10 +1088,10 @@ package Iirs is
--
-- Get/Set_Identifier (Field3)
--
- -- Get/Set_Subtype_Indication (Field5)
- --
-- Must always be null_iir for iir_kind_interface_file_declaration.
- -- Get/Set_Default_Value (Field6)
+ -- Get/Set_Default_Value (Field4)
+ --
+ -- Get/Set_Subtype_Indication (Field5)
--
-- Get/Set_Mode (Odigit1)
--
@@ -1334,9 +1334,9 @@ package Iirs is
--
-- Get/Set_Identifier (Field3)
--
- -- Get/Set_Subtype_Indication (Field5)
+ -- Get/Set_Default_Value (Field4)
--
- -- Get/Set_Default_Value (Field6)
+ -- Get/Set_Subtype_Indication (Field5)
--
-- For a non-resolved signal: null_iir if the signal has no driver, or
-- a process/concurrent_statement for which the signal should have a
@@ -1401,6 +1401,11 @@ package Iirs is
--
-- Get/Set_Identifier (Field3)
--
+ -- Only for Iir_Kind_Constant_Declaration:
+ -- Default value of a deferred constant points to the full constant
+ -- declaration.
+ -- Get/Set_Default_Value (Field4)
+ --
-- For iterator, this is the reconstructed subtype indication.
-- Get/Set_Subtype_Indication (Field5)
--
@@ -1408,11 +1413,6 @@ package Iirs is
-- Get/Set_Discrete_Range (Field6)
--
-- Only for Iir_Kind_Constant_Declaration:
- -- Default value of a deferred constant points to the full constant
- -- declaration.
- -- Get/Set_Default_Value (Field6)
- --
- -- Only for Iir_Kind_Constant_Declaration:
-- Summary:
-- | constant C1 : integer; -- Deferred declaration (in a package)
-- | constant C2 : integer := 4; -- Declaration
@@ -1423,7 +1423,7 @@ package Iirs is
-- | C1' C1 False
-- |(*): Deferred_declaration is Null_Iir as long as the full declaration
-- | has not been analyzed.
- -- Get/Set_Deferred_Declaration (Field7)
+ -- Get/Set_Deferred_Declaration (Field6)
--
-- Only for Iir_Kind_Constant_Declaration:
-- Get/Set_Deferred_Declaration_Flag (Flag1)
@@ -1440,7 +1440,7 @@ package Iirs is
--
-- Get/Set_Name_Staticness (State2)
- -- Iir_Kind_Variable_Declaration (Medium)
+ -- Iir_Kind_Variable_Declaration (Short)
--
-- Get/Set_Parent (Field0)
--
@@ -1450,9 +1450,9 @@ package Iirs is
--
-- Get/Set_Identifier (Field3)
--
- -- Get/Set_Subtype_Indication (Field5)
+ -- Get/Set_Default_Value (Field4)
--
- -- Get/Set_Default_Value (Field6)
+ -- Get/Set_Subtype_Indication (Field5)
--
-- True if the variable is a shared variable.
-- Get/Set_Shared_Flag (Flag2)
@@ -1654,7 +1654,7 @@ package Iirs is
--
-- Get/Set_Use_Flag (Flag6)
- -- Iir_Kind_Free_Quantity_Declaration (Medium)
+ -- Iir_Kind_Free_Quantity_Declaration (Short)
--
-- Get/Set_Parent (Field0)
--
@@ -1662,9 +1662,9 @@ package Iirs is
--
-- Get/Set_Chain (Field2)
--
- -- Get/Set_Identifier (Field3)
+ -- Get/Set_Default_Value (Field4)
--
- -- Get/Set_Default_Value (Field6)
+ -- Get/Set_Identifier (Field3)
--
-- Get/Set_Visible_Flag (Flag4)
--
@@ -1683,9 +1683,9 @@ package Iirs is
--
-- Get/Set_Chain (Field2)
--
- -- Get/Set_Identifier (Field3)
+ -- Get/Set_Default_Value (Field4)
--
- -- Get/Set_Default_Value (Field6)
+ -- Get/Set_Identifier (Field3)
--
-- Get/Set_Tolerance (Field7)
--
@@ -2340,11 +2340,11 @@ package Iirs is
-- Get/Set_Label (Field3)
-- Get/Set_Identifier (Alias Field3)
--
+ -- Get/Set_Reject_Time_Expression (Field4)
+ --
-- Only for Iir_Kind_Concurrent_Selected_Signal_Assignment:
-- Get/Set_Expression (Field5)
--
- -- Get/Set_Reject_Time_Expression (Field6)
- --
-- Only for Iir_Kind_Concurrent_Conditional_Signal_Assignment:
-- Get/Set_Conditional_Waveform_Chain (Field7)
--
@@ -2364,7 +2364,7 @@ package Iirs is
-- Get/Set_Visible_Flag (Flag4)
--
-- True if the target of the assignment is guarded
- -- Get/Set_Guarded_Target_State (State3)
+ -- Get/Set_Guarded_Target_State (State1)
-- Iir_Kind_Sensitized_Process_Statement (Medium)
-- Iir_Kind_Process_Statement (Medium)
@@ -2411,7 +2411,7 @@ package Iirs is
--
-- Get/Set_End_Has_Postponed (Flag10)
- -- Iir_Kind_Concurrent_Assertion_Statement (Medium)
+ -- Iir_Kind_Concurrent_Assertion_Statement (Short)
--
-- Get/Set_Parent (Field0)
--
@@ -2422,9 +2422,9 @@ package Iirs is
-- Get/Set_Label (Field3)
-- Get/Set_Identifier (Alias Field3)
--
- -- Get/Set_Severity_Expression (Field5)
+ -- Get/Set_Severity_Expression (Field4)
--
- -- Get/Set_Report_Expression (Field6)
+ -- Get/Set_Report_Expression (Field5)
--
-- Get/Set_Postponed_Flag (Flag3)
--
@@ -2453,9 +2453,9 @@ package Iirs is
-- Get/Set_Label (Field3)
-- Get/Set_Identifier (Alias Field3)
--
- -- Get/Set_Severity_Expression (Field5)
+ -- Get/Set_Severity_Expression (Field4)
--
- -- Get/Set_Report_Expression (Field6)
+ -- Get/Set_Report_Expression (Field5)
--
-- Get/Set_PSL_Clock (Field7)
--
@@ -2593,8 +2593,8 @@ package Iirs is
-- sequential statements --
----------------------------
- -- Iir_Kind_If_Statement (Medium)
- -- Iir_Kind_Elsif (Medium)
+ -- Iir_Kind_If_Statement (Short)
+ -- Iir_Kind_Elsif (Short)
--
-- Get/Set_Parent (Field0)
--
@@ -2608,14 +2608,14 @@ package Iirs is
-- Only for Iir_Kind_If_Statement:
-- Get/Set_Label (Field3)
--
+ -- Must be an Iir_kind_elsif node, or NULL for no more elsif clauses.
+ -- Get/Set_Else_Clause (Field4)
+ --
-- Only for Iir_Kind_If_Statement:
-- Get/Set_Identifier (Alias Field3)
--
-- Get/Set_Sequential_Statement_Chain (Field5)
--
- -- Must be an Iir_kind_elsif node, or NULL for no more elsif clauses.
- -- Get/Set_Else_Clause (Field6)
- --
-- Only for Iir_Kind_If_Statement:
-- Get/Set_Visible_Flag (Flag4)
--
@@ -2699,7 +2699,7 @@ package Iirs is
--
-- Get/Set_Visible_Flag (Flag4)
- -- Iir_Kind_Signal_Assignment_Statement (Medium)
+ -- Iir_Kind_Signal_Assignment_Statement (Short)
--
-- Get/Set_Parent (Field0)
--
@@ -2710,20 +2710,20 @@ package Iirs is
-- Get/Set_Label (Field3)
-- Get/Set_Identifier (Alias Field3)
--
+ -- Get/Set_Reject_Time_Expression (Field4)
+ --
-- 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.
-- Get/Set_Waveform_Chain (Field5)
--
- -- Get/Set_Reject_Time_Expression (Field6)
- --
-- Get/Set_Delay_Mechanism (Flag1)
--
-- Get/Set_Visible_Flag (Flag4)
--
-- True if the target of the assignment is guarded
- -- Get/Set_Guarded_Target_State (State3)
+ -- Get/Set_Guarded_Target_State (State1)
-- Iir_Kind_Variable_Assignment_Statement (Short)
--
@@ -2740,7 +2740,7 @@ package Iirs is
--
-- Get/Set_Visible_Flag (Flag4)
- -- Iir_Kind_Assertion_Statement (Medium)
+ -- Iir_Kind_Assertion_Statement (Short)
--
-- Get/Set_Parent (Field0)
--
@@ -2751,13 +2751,13 @@ package Iirs is
-- Get/Set_Label (Field3)
-- Get/Set_Identifier (Alias Field3)
--
- -- Get/Set_Severity_Expression (Field5)
+ -- Get/Set_Severity_Expression (Field4)
--
- -- Get/Set_Report_Expression (Field6)
+ -- Get/Set_Report_Expression (Field5)
--
-- Get/Set_Visible_Flag (Flag4)
- -- Iir_Kind_Report_Statement (Medium)
+ -- Iir_Kind_Report_Statement (Short)
--
-- Get/Set_Parent (Field0)
--
@@ -2766,9 +2766,9 @@ package Iirs is
-- Get/Set_Label (Field3)
-- Get/Set_Identifier (Alias Field3)
--
- -- Get/Set_Severity_Expression (Field5)
+ -- Get/Set_Severity_Expression (Field4)
--
- -- Get/Set_Report_Expression (Field6)
+ -- Get/Set_Report_Expression (Field5)
--
-- Get/Set_Visible_Flag (Flag4)
@@ -5000,7 +5000,7 @@ package Iirs is
-- target).
-- If UNKNOWN, this is not determined at compile time but at run-time.
-- This is the case for formal signal interfaces of subprograms.
- -- Field: State3 (pos)
+ -- Field: State1 (pos)
function Get_Guarded_Target_State (Stmt : Iir) return Tri_State_Type;
procedure Set_Guarded_Target_State (Stmt : Iir; State : Tri_State_Type);
@@ -5413,7 +5413,7 @@ package Iirs is
-- Note that this node can be shared between declarations if they are
-- separated by comma, such as in:
-- variable a, b : integer := 5;
- -- Field: Field6 Maybe_Ref
+ -- Field: Field4 Maybe_Ref
function Get_Default_Value (Target : Iir) return Iir;
procedure Set_Default_Value (Target : Iir; Value : Iir);
@@ -5421,7 +5421,7 @@ package Iirs is
-- declaration for a full constant declaration, or is null_iir for a
-- usual or deferred constant declaration.
-- Set only during sem.
- -- Field: Field7
+ -- Field: Field6
function Get_Deferred_Declaration (Target : Iir) return Iir;
procedure Set_Deferred_Declaration (Target : Iir; Decl : Iir);
@@ -5686,7 +5686,7 @@ package Iirs is
function Get_Delay_Mechanism (Target : Iir) return Iir_Delay_Mechanism;
procedure Set_Delay_Mechanism (Target : Iir; Kind : Iir_Delay_Mechanism);
- -- Field: Field6
+ -- Field: Field4
function Get_Reject_Time_Expression (Target : Iir) return Iir;
procedure Set_Reject_Time_Expression (Target : Iir; Expr : Iir);
@@ -5818,12 +5818,12 @@ package Iirs is
procedure Set_Assertion_Condition (Target : Iir; Cond : Iir);
-- Report expression of an assertion or report statement.
- -- Field: Field6
+ -- Field: Field5
function Get_Report_Expression (Target : Iir) return Iir;
procedure Set_Report_Expression (Target : Iir; Expr : Iir);
-- Severity expression of an assertion or report statement.
- -- Field: Field5
+ -- Field: Field4
function Get_Severity_Expression (Target : Iir) return Iir;
procedure Set_Severity_Expression (Target : Iir; Expr : Iir);
@@ -5937,7 +5937,7 @@ package Iirs is
function Get_Condition (Target : Iir) return Iir;
procedure Set_Condition (Target : Iir; Condition : Iir);
- -- Field: Field6
+ -- Field: Field4
function Get_Else_Clause (Target : Iir) return Iir;
procedure Set_Else_Clause (Target : Iir; Clause : Iir);
diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb
index be5dbdc..7e3aba3 100644
--- a/src/vhdl/nodes_meta.adb
+++ b/src/vhdl/nodes_meta.adb
@@ -2485,6 +2485,7 @@ package body Nodes_Meta is
Field_End_Has_Reserved_Id,
Field_End_Has_Identifier,
Field_Declaration_Chain,
+ Field_Attribute_Value_Chain,
Field_Parent,
Field_Package,
-- Iir_Kind_Configuration_Declaration
@@ -2532,7 +2533,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Physical_Literal,
Field_Physical_Unit_Value,
Field_Parent,
@@ -2552,7 +2552,6 @@ package body Nodes_Meta is
Field_End_Has_Reserved_Id,
Field_End_Has_Identifier,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Generic_Chain,
Field_Port_Chain,
Field_Parent,
@@ -2577,7 +2576,6 @@ package body Nodes_Meta is
Field_Use_Flag,
Field_Group_Constituent_List,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Group_Template_Name,
Field_Parent,
-- Iir_Kind_Element_Declaration
@@ -2620,7 +2618,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Default_Value,
Field_Parent,
Field_Type,
@@ -2631,7 +2628,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Tolerance,
Field_Plus_Terminal,
Field_Minus_Terminal,
@@ -2645,7 +2641,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Tolerance,
Field_Plus_Terminal,
Field_Minus_Terminal,
@@ -2662,7 +2657,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Literal_Origin,
- Field_Attribute_Value_Chain,
Field_Parent,
Field_Type,
Field_Enumeration_Decl,
@@ -2683,7 +2677,6 @@ package body Nodes_Meta is
Field_Wait_State,
Field_All_Sensitized_State,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Interface_Declaration_Chain,
Field_Generic_Chain,
Field_Return_Type_Mark,
@@ -2702,7 +2695,6 @@ package body Nodes_Meta is
Field_Use_Flag,
Field_Wait_State,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Interface_Declaration_Chain,
Field_Generic_Chain,
Field_Generic_Map_Aspect_Chain,
@@ -2720,7 +2712,6 @@ package body Nodes_Meta is
Field_Use_Flag,
Field_Wait_State,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Interface_Declaration_Chain,
Field_Generic_Chain,
Field_Generic_Map_Aspect_Chain,
@@ -2742,7 +2733,6 @@ package body Nodes_Meta is
Field_Purity_State,
Field_All_Sensitized_State,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Interface_Declaration_Chain,
Field_Generic_Chain,
Field_Return_Type_Mark,
@@ -2754,6 +2744,7 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Declaration_Chain,
Field_Chain,
+ Field_Attribute_Value_Chain,
Field_Sequential_Statement_Chain,
Field_Parent,
Field_Subprogram_Specification,
@@ -2764,6 +2755,7 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Declaration_Chain,
Field_Chain,
+ Field_Attribute_Value_Chain,
Field_Sequential_Statement_Chain,
Field_Parent,
Field_Subprogram_Specification,
@@ -2792,7 +2784,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_File_Logical_Name,
Field_File_Open_Kind,
Field_Subtype_Indication,
@@ -2807,7 +2798,6 @@ package body Nodes_Meta is
Field_Name_Staticness,
Field_Signal_Kind,
Field_Guard_Expression,
- Field_Attribute_Value_Chain,
Field_Guard_Sensitivity_List,
Field_Block_Statement,
Field_Parent,
@@ -2825,10 +2815,9 @@ package body Nodes_Meta is
Field_Name_Staticness,
Field_Signal_Kind,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Signal_Driver,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Variable_Declaration
@@ -2841,9 +2830,8 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Constant_Declaration
@@ -2856,10 +2844,9 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Deferred_Declaration,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Iterator_Declaration
@@ -2871,7 +2858,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Discrete_Range,
Field_Subtype_Indication,
Field_Parent,
@@ -2887,9 +2873,8 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Interface_Variable_Declaration
@@ -2903,9 +2888,8 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Interface_Signal_Declaration
@@ -2923,9 +2907,8 @@ package body Nodes_Meta is
Field_Name_Staticness,
Field_Signal_Kind,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Interface_File_Declaration
@@ -2939,9 +2922,8 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Interface_Package_Declaration
@@ -3326,7 +3308,6 @@ package body Nodes_Meta is
Field_Guarded_Target_State,
Field_Target,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Reject_Time_Expression,
Field_Conditional_Waveform_Chain,
Field_Guard,
@@ -3339,9 +3320,8 @@ package body Nodes_Meta is
Field_Guarded_Target_State,
Field_Target,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Expression,
Field_Reject_Time_Expression,
+ Field_Expression,
Field_Selected_Waveform_Chain,
Field_Guard,
Field_Parent,
@@ -3351,7 +3331,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Assertion_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Severity_Expression,
Field_Report_Expression,
Field_Parent,
@@ -3367,7 +3346,6 @@ package body Nodes_Meta is
Field_PSL_NFA,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Severity_Expression,
Field_Report_Expression,
Field_Parent,
@@ -3378,7 +3356,6 @@ package body Nodes_Meta is
Field_PSL_NFA,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Severity_Expression,
Field_Report_Expression,
Field_Parent,
@@ -3388,7 +3365,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Procedure_Call,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Parent,
-- Iir_Kind_Block_Statement
Field_Label,
@@ -3422,7 +3398,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Instantiated_Unit,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Default_Binding_Indication,
Field_Component_Configuration,
Field_Configuration_Specification,
@@ -3433,7 +3408,6 @@ package body Nodes_Meta is
Field_Label,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Simultaneous_Left,
Field_Simultaneous_Right,
Field_Tolerance,
@@ -3445,22 +3419,19 @@ package body Nodes_Meta is
Field_Guarded_Target_State,
Field_Target,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Waveform_Chain,
Field_Reject_Time_Expression,
+ Field_Waveform_Chain,
Field_Parent,
-- Iir_Kind_Null_Statement
Field_Label,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Parent,
-- Iir_Kind_Assertion_Statement
Field_Label,
Field_Visible_Flag,
Field_Assertion_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Severity_Expression,
Field_Report_Expression,
Field_Parent,
@@ -3468,7 +3439,6 @@ package body Nodes_Meta is
Field_Label,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Severity_Expression,
Field_Report_Expression,
Field_Parent,
@@ -3477,7 +3447,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Timeout_Clause,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Condition_Clause,
Field_Sensitivity_List,
Field_Parent,
@@ -3486,14 +3455,12 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Target,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Expression,
Field_Parent,
-- Iir_Kind_Return_Statement
Field_Label,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Expression,
Field_Parent,
Field_Type,
@@ -3504,7 +3471,6 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Parameter_Specification,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Sequential_Statement_Chain,
Field_Parent,
-- Iir_Kind_While_Loop_Statement
@@ -3513,7 +3479,6 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Sequential_Statement_Chain,
Field_Parent,
-- Iir_Kind_Next_Statement
@@ -3521,7 +3486,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Loop_Label,
Field_Parent,
-- Iir_Kind_Exit_Statement
@@ -3529,7 +3493,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Loop_Label,
Field_Parent,
-- Iir_Kind_Case_Statement
@@ -3538,7 +3501,6 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Case_Statement_Alternative_Chain,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Expression,
Field_Parent,
-- Iir_Kind_Procedure_Call_Statement
@@ -3546,7 +3508,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Procedure_Call,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Parent,
-- Iir_Kind_If_Statement
Field_Label,
@@ -3554,15 +3515,14 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Sequential_Statement_Chain,
Field_Else_Clause,
+ Field_Sequential_Statement_Chain,
Field_Parent,
-- Iir_Kind_Elsif
Field_End_Has_Identifier,
Field_Condition,
- Field_Sequential_Statement_Chain,
Field_Else_Clause,
+ Field_Sequential_Statement_Chain,
Field_Parent,
-- Iir_Kind_Character_Literal
Field_Identifier,
@@ -3932,179 +3892,179 @@ package body Nodes_Meta is
Iir_Kind_Subtype_Definition => 392,
Iir_Kind_Scalar_Nature_Definition => 396,
Iir_Kind_Overload_List => 397,
- Iir_Kind_Type_Declaration => 404,
- Iir_Kind_Anonymous_Type_Declaration => 409,
- Iir_Kind_Subtype_Declaration => 418,
- Iir_Kind_Nature_Declaration => 425,
- Iir_Kind_Subnature_Declaration => 432,
- Iir_Kind_Package_Declaration => 442,
- Iir_Kind_Package_Instantiation_Declaration => 453,
- Iir_Kind_Package_Body => 459,
- Iir_Kind_Configuration_Declaration => 468,
- Iir_Kind_Entity_Declaration => 480,
- Iir_Kind_Architecture_Body => 492,
- Iir_Kind_Package_Header => 494,
- Iir_Kind_Unit_Declaration => 504,
- Iir_Kind_Library_Declaration => 510,
- Iir_Kind_Component_Declaration => 521,
- Iir_Kind_Attribute_Declaration => 528,
- Iir_Kind_Group_Template_Declaration => 534,
- Iir_Kind_Group_Declaration => 542,
- Iir_Kind_Element_Declaration => 549,
- Iir_Kind_Non_Object_Alias_Declaration => 557,
- Iir_Kind_Psl_Declaration => 565,
- Iir_Kind_Terminal_Declaration => 571,
- Iir_Kind_Free_Quantity_Declaration => 581,
- Iir_Kind_Across_Quantity_Declaration => 594,
- Iir_Kind_Through_Quantity_Declaration => 607,
- Iir_Kind_Enumeration_Literal => 620,
- Iir_Kind_Function_Declaration => 643,
- Iir_Kind_Implicit_Function_Declaration => 661,
- Iir_Kind_Implicit_Procedure_Declaration => 677,
- Iir_Kind_Procedure_Declaration => 698,
- Iir_Kind_Function_Body => 707,
- Iir_Kind_Procedure_Body => 716,
- Iir_Kind_Object_Alias_Declaration => 728,
- Iir_Kind_File_Declaration => 744,
- Iir_Kind_Guard_Signal_Declaration => 757,
- Iir_Kind_Signal_Declaration => 775,
- Iir_Kind_Variable_Declaration => 789,
- Iir_Kind_Constant_Declaration => 804,
- Iir_Kind_Iterator_Declaration => 817,
- Iir_Kind_Interface_Constant_Declaration => 832,
- Iir_Kind_Interface_Variable_Declaration => 847,
- Iir_Kind_Interface_Signal_Declaration => 866,
- Iir_Kind_Interface_File_Declaration => 881,
- Iir_Kind_Interface_Package_Declaration => 890,
- Iir_Kind_Identity_Operator => 894,
- Iir_Kind_Negation_Operator => 898,
- Iir_Kind_Absolute_Operator => 902,
- Iir_Kind_Not_Operator => 906,
- Iir_Kind_Condition_Operator => 910,
- Iir_Kind_Reduction_And_Operator => 914,
- Iir_Kind_Reduction_Or_Operator => 918,
- Iir_Kind_Reduction_Nand_Operator => 922,
- Iir_Kind_Reduction_Nor_Operator => 926,
- Iir_Kind_Reduction_Xor_Operator => 930,
- Iir_Kind_Reduction_Xnor_Operator => 934,
- Iir_Kind_And_Operator => 939,
- Iir_Kind_Or_Operator => 944,
- Iir_Kind_Nand_Operator => 949,
- Iir_Kind_Nor_Operator => 954,
- Iir_Kind_Xor_Operator => 959,
- Iir_Kind_Xnor_Operator => 964,
- Iir_Kind_Equality_Operator => 969,
- Iir_Kind_Inequality_Operator => 974,
- Iir_Kind_Less_Than_Operator => 979,
- Iir_Kind_Less_Than_Or_Equal_Operator => 984,
- Iir_Kind_Greater_Than_Operator => 989,
- Iir_Kind_Greater_Than_Or_Equal_Operator => 994,
- Iir_Kind_Match_Equality_Operator => 999,
- Iir_Kind_Match_Inequality_Operator => 1004,
- Iir_Kind_Match_Less_Than_Operator => 1009,
- Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1014,
- Iir_Kind_Match_Greater_Than_Operator => 1019,
- Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1024,
- Iir_Kind_Sll_Operator => 1029,
- Iir_Kind_Sla_Operator => 1034,
- Iir_Kind_Srl_Operator => 1039,
- Iir_Kind_Sra_Operator => 1044,
- Iir_Kind_Rol_Operator => 1049,
- Iir_Kind_Ror_Operator => 1054,
- Iir_Kind_Addition_Operator => 1059,
- Iir_Kind_Substraction_Operator => 1064,
- Iir_Kind_Concatenation_Operator => 1069,
- Iir_Kind_Multiplication_Operator => 1074,
- Iir_Kind_Division_Operator => 1079,
- Iir_Kind_Modulus_Operator => 1084,
- Iir_Kind_Remainder_Operator => 1089,
- Iir_Kind_Exponentiation_Operator => 1094,
- Iir_Kind_Function_Call => 1102,
- Iir_Kind_Aggregate => 1108,
- Iir_Kind_Parenthesis_Expression => 1111,
- Iir_Kind_Qualified_Expression => 1115,
- Iir_Kind_Type_Conversion => 1120,
- Iir_Kind_Allocator_By_Expression => 1124,
- Iir_Kind_Allocator_By_Subtype => 1128,
- Iir_Kind_Selected_Element => 1134,
- Iir_Kind_Dereference => 1139,
- Iir_Kind_Implicit_Dereference => 1144,
- Iir_Kind_Slice_Name => 1151,
- Iir_Kind_Indexed_Name => 1157,
- Iir_Kind_Psl_Expression => 1159,
- Iir_Kind_Sensitized_Process_Statement => 1178,
- Iir_Kind_Process_Statement => 1196,
- Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1208,
- Iir_Kind_Concurrent_Selected_Signal_Assignment => 1221,
- Iir_Kind_Concurrent_Assertion_Statement => 1230,
- Iir_Kind_Psl_Default_Clock => 1234,
- Iir_Kind_Psl_Assert_Statement => 1244,
- Iir_Kind_Psl_Cover_Statement => 1254,
- Iir_Kind_Concurrent_Procedure_Call_Statement => 1261,
- Iir_Kind_Block_Statement => 1274,
- Iir_Kind_Generate_Statement => 1286,
- Iir_Kind_Component_Instantiation_Statement => 1297,
- Iir_Kind_Simple_Simultaneous_Statement => 1305,
- Iir_Kind_Signal_Assignment_Statement => 1315,
- Iir_Kind_Null_Statement => 1320,
- Iir_Kind_Assertion_Statement => 1328,
- Iir_Kind_Report_Statement => 1335,
- Iir_Kind_Wait_Statement => 1343,
- Iir_Kind_Variable_Assignment_Statement => 1350,
- Iir_Kind_Return_Statement => 1357,
- Iir_Kind_For_Loop_Statement => 1366,
- Iir_Kind_While_Loop_Statement => 1374,
- Iir_Kind_Next_Statement => 1381,
- Iir_Kind_Exit_Statement => 1388,
- Iir_Kind_Case_Statement => 1396,
- Iir_Kind_Procedure_Call_Statement => 1402,
- Iir_Kind_If_Statement => 1411,
- Iir_Kind_Elsif => 1416,
- Iir_Kind_Character_Literal => 1423,
- Iir_Kind_Simple_Name => 1430,
- Iir_Kind_Selected_Name => 1438,
- Iir_Kind_Operator_Symbol => 1443,
- Iir_Kind_Selected_By_All_Name => 1448,
- Iir_Kind_Parenthesis_Name => 1452,
- Iir_Kind_Base_Attribute => 1454,
- Iir_Kind_Left_Type_Attribute => 1459,
- Iir_Kind_Right_Type_Attribute => 1464,
- Iir_Kind_High_Type_Attribute => 1469,
- Iir_Kind_Low_Type_Attribute => 1474,
- Iir_Kind_Ascending_Type_Attribute => 1479,
- Iir_Kind_Image_Attribute => 1485,
- Iir_Kind_Value_Attribute => 1491,
- Iir_Kind_Pos_Attribute => 1497,
- Iir_Kind_Val_Attribute => 1503,
- Iir_Kind_Succ_Attribute => 1509,
- Iir_Kind_Pred_Attribute => 1515,
- Iir_Kind_Leftof_Attribute => 1521,
- Iir_Kind_Rightof_Attribute => 1527,
- Iir_Kind_Delayed_Attribute => 1535,
- Iir_Kind_Stable_Attribute => 1543,
- Iir_Kind_Quiet_Attribute => 1551,
- Iir_Kind_Transaction_Attribute => 1559,
- Iir_Kind_Event_Attribute => 1563,
- Iir_Kind_Active_Attribute => 1567,
- Iir_Kind_Last_Event_Attribute => 1571,
- Iir_Kind_Last_Active_Attribute => 1575,
- Iir_Kind_Last_Value_Attribute => 1579,
- Iir_Kind_Driving_Attribute => 1583,
- Iir_Kind_Driving_Value_Attribute => 1587,
- Iir_Kind_Behavior_Attribute => 1587,
- Iir_Kind_Structure_Attribute => 1587,
- Iir_Kind_Simple_Name_Attribute => 1594,
- Iir_Kind_Instance_Name_Attribute => 1599,
- Iir_Kind_Path_Name_Attribute => 1604,
- Iir_Kind_Left_Array_Attribute => 1611,
- Iir_Kind_Right_Array_Attribute => 1618,
- Iir_Kind_High_Array_Attribute => 1625,
- Iir_Kind_Low_Array_Attribute => 1632,
- Iir_Kind_Length_Array_Attribute => 1639,
- Iir_Kind_Ascending_Array_Attribute => 1646,
- Iir_Kind_Range_Array_Attribute => 1653,
- Iir_Kind_Reverse_Range_Array_Attribute => 1660,
- Iir_Kind_Attribute_Name => 1668
+ Iir_Kind_Type_Declaration => 403,
+ Iir_Kind_Anonymous_Type_Declaration => 408,
+ Iir_Kind_Subtype_Declaration => 416,
+ Iir_Kind_Nature_Declaration => 422,
+ Iir_Kind_Subnature_Declaration => 428,
+ Iir_Kind_Package_Declaration => 438,
+ Iir_Kind_Package_Instantiation_Declaration => 449,
+ Iir_Kind_Package_Body => 456,
+ Iir_Kind_Configuration_Declaration => 465,
+ Iir_Kind_Entity_Declaration => 477,
+ Iir_Kind_Architecture_Body => 489,
+ Iir_Kind_Package_Header => 491,
+ Iir_Kind_Unit_Declaration => 500,
+ Iir_Kind_Library_Declaration => 506,
+ Iir_Kind_Component_Declaration => 516,
+ Iir_Kind_Attribute_Declaration => 523,
+ Iir_Kind_Group_Template_Declaration => 529,
+ Iir_Kind_Group_Declaration => 536,
+ Iir_Kind_Element_Declaration => 543,
+ Iir_Kind_Non_Object_Alias_Declaration => 551,
+ Iir_Kind_Psl_Declaration => 559,
+ Iir_Kind_Terminal_Declaration => 565,
+ Iir_Kind_Free_Quantity_Declaration => 574,
+ Iir_Kind_Across_Quantity_Declaration => 586,
+ Iir_Kind_Through_Quantity_Declaration => 598,
+ Iir_Kind_Enumeration_Literal => 610,
+ Iir_Kind_Function_Declaration => 632,
+ Iir_Kind_Implicit_Function_Declaration => 649,
+ Iir_Kind_Implicit_Procedure_Declaration => 664,
+ Iir_Kind_Procedure_Declaration => 684,
+ Iir_Kind_Function_Body => 694,
+ Iir_Kind_Procedure_Body => 704,
+ Iir_Kind_Object_Alias_Declaration => 716,
+ Iir_Kind_File_Declaration => 731,
+ Iir_Kind_Guard_Signal_Declaration => 743,
+ Iir_Kind_Signal_Declaration => 760,
+ Iir_Kind_Variable_Declaration => 773,
+ Iir_Kind_Constant_Declaration => 787,
+ Iir_Kind_Iterator_Declaration => 799,
+ Iir_Kind_Interface_Constant_Declaration => 813,
+ Iir_Kind_Interface_Variable_Declaration => 827,
+ Iir_Kind_Interface_Signal_Declaration => 845,
+ Iir_Kind_Interface_File_Declaration => 859,
+ Iir_Kind_Interface_Package_Declaration => 868,
+ Iir_Kind_Identity_Operator => 872,
+ Iir_Kind_Negation_Operator => 876,
+ Iir_Kind_Absolute_Operator => 880,
+ Iir_Kind_Not_Operator => 884,
+ Iir_Kind_Condition_Operator => 888,
+ Iir_Kind_Reduction_And_Operator => 892,
+ Iir_Kind_Reduction_Or_Operator => 896,
+ Iir_Kind_Reduction_Nand_Operator => 900,
+ Iir_Kind_Reduction_Nor_Operator => 904,
+ Iir_Kind_Reduction_Xor_Operator => 908,
+ Iir_Kind_Reduction_Xnor_Operator => 912,
+ Iir_Kind_And_Operator => 917,
+ Iir_Kind_Or_Operator => 922,
+ Iir_Kind_Nand_Operator => 927,
+ Iir_Kind_Nor_Operator => 932,
+ Iir_Kind_Xor_Operator => 937,
+ Iir_Kind_Xnor_Operator => 942,
+ Iir_Kind_Equality_Operator => 947,
+ Iir_Kind_Inequality_Operator => 952,
+ Iir_Kind_Less_Than_Operator => 957,
+ Iir_Kind_Less_Than_Or_Equal_Operator => 962,
+ Iir_Kind_Greater_Than_Operator => 967,
+ Iir_Kind_Greater_Than_Or_Equal_Operator => 972,
+ Iir_Kind_Match_Equality_Operator => 977,
+ Iir_Kind_Match_Inequality_Operator => 982,
+ Iir_Kind_Match_Less_Than_Operator => 987,
+ Iir_Kind_Match_Less_Than_Or_Equal_Operator => 992,
+ Iir_Kind_Match_Greater_Than_Operator => 997,
+ Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1002,
+ Iir_Kind_Sll_Operator => 1007,
+ Iir_Kind_Sla_Operator => 1012,
+ Iir_Kind_Srl_Operator => 1017,
+ Iir_Kind_Sra_Operator => 1022,
+ Iir_Kind_Rol_Operator => 1027,
+ Iir_Kind_Ror_Operator => 1032,
+ Iir_Kind_Addition_Operator => 1037,
+ Iir_Kind_Substraction_Operator => 1042,
+ Iir_Kind_Concatenation_Operator => 1047,
+ Iir_Kind_Multiplication_Operator => 1052,
+ Iir_Kind_Division_Operator => 1057,
+ Iir_Kind_Modulus_Operator => 1062,
+ Iir_Kind_Remainder_Operator => 1067,
+ Iir_Kind_Exponentiation_Operator => 1072,
+ Iir_Kind_Function_Call => 1080,
+ Iir_Kind_Aggregate => 1086,
+ Iir_Kind_Parenthesis_Expression => 1089,
+ Iir_Kind_Qualified_Expression => 1093,
+ Iir_Kind_Type_Conversion => 1098,
+ Iir_Kind_Allocator_By_Expression => 1102,
+ Iir_Kind_Allocator_By_Subtype => 1106,
+ Iir_Kind_Selected_Element => 1112,
+ Iir_Kind_Dereference => 1117,
+ Iir_Kind_Implicit_Dereference => 1122,
+ Iir_Kind_Slice_Name => 1129,
+ Iir_Kind_Indexed_Name => 1135,
+ Iir_Kind_Psl_Expression => 1137,
+ Iir_Kind_Sensitized_Process_Statement => 1156,
+ Iir_Kind_Process_Statement => 1174,
+ Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1185,
+ Iir_Kind_Concurrent_Selected_Signal_Assignment => 1197,
+ Iir_Kind_Concurrent_Assertion_Statement => 1205,
+ Iir_Kind_Psl_Default_Clock => 1209,
+ Iir_Kind_Psl_Assert_Statement => 1218,
+ Iir_Kind_Psl_Cover_Statement => 1227,
+ Iir_Kind_Concurrent_Procedure_Call_Statement => 1233,
+ Iir_Kind_Block_Statement => 1246,
+ Iir_Kind_Generate_Statement => 1258,
+ Iir_Kind_Component_Instantiation_Statement => 1268,
+ Iir_Kind_Simple_Simultaneous_Statement => 1275,
+ Iir_Kind_Signal_Assignment_Statement => 1284,
+ Iir_Kind_Null_Statement => 1288,
+ Iir_Kind_Assertion_Statement => 1295,
+ Iir_Kind_Report_Statement => 1301,
+ Iir_Kind_Wait_Statement => 1308,
+ Iir_Kind_Variable_Assignment_Statement => 1314,
+ Iir_Kind_Return_Statement => 1320,
+ Iir_Kind_For_Loop_Statement => 1328,
+ Iir_Kind_While_Loop_Statement => 1335,
+ Iir_Kind_Next_Statement => 1341,
+ Iir_Kind_Exit_Statement => 1347,
+ Iir_Kind_Case_Statement => 1354,
+ Iir_Kind_Procedure_Call_Statement => 1359,
+ Iir_Kind_If_Statement => 1367,
+ Iir_Kind_Elsif => 1372,
+ Iir_Kind_Character_Literal => 1379,
+ Iir_Kind_Simple_Name => 1386,
+ Iir_Kind_Selected_Name => 1394,
+ Iir_Kind_Operator_Symbol => 1399,
+ Iir_Kind_Selected_By_All_Name => 1404,
+ Iir_Kind_Parenthesis_Name => 1408,
+ Iir_Kind_Base_Attribute => 1410,
+ Iir_Kind_Left_Type_Attribute => 1415,
+ Iir_Kind_Right_Type_Attribute => 1420,
+ Iir_Kind_High_Type_Attribute => 1425,
+ Iir_Kind_Low_Type_Attribute => 1430,
+ Iir_Kind_Ascending_Type_Attribute => 1435,
+ Iir_Kind_Image_Attribute => 1441,
+ Iir_Kind_Value_Attribute => 1447,
+ Iir_Kind_Pos_Attribute => 1453,
+ Iir_Kind_Val_Attribute => 1459,
+ Iir_Kind_Succ_Attribute => 1465,
+ Iir_Kind_Pred_Attribute => 1471,
+ Iir_Kind_Leftof_Attribute => 1477,
+ Iir_Kind_Rightof_Attribute => 1483,
+ Iir_Kind_Delayed_Attribute => 1491,
+ Iir_Kind_Stable_Attribute => 1499,
+ Iir_Kind_Quiet_Attribute => 1507,
+ Iir_Kind_Transaction_Attribute => 1515,
+ Iir_Kind_Event_Attribute => 1519,
+ Iir_Kind_Active_Attribute => 1523,
+ Iir_Kind_Last_Event_Attribute => 1527,
+ Iir_Kind_Last_Active_Attribute => 1531,
+ Iir_Kind_Last_Value_Attribute => 1535,
+ Iir_Kind_Driving_Attribute => 1539,
+ Iir_Kind_Driving_Value_Attribute => 1543,
+ Iir_Kind_Behavior_Attribute => 1543,
+ Iir_Kind_Structure_Attribute => 1543,
+ Iir_Kind_Simple_Name_Attribute => 1550,
+ Iir_Kind_Instance_Name_Attribute => 1555,
+ Iir_Kind_Path_Name_Attribute => 1560,
+ Iir_Kind_Left_Array_Attribute => 1567,
+ Iir_Kind_Right_Array_Attribute => 1574,
+ Iir_Kind_High_Array_Attribute => 1581,
+ Iir_Kind_Low_Array_Attribute => 1588,
+ Iir_Kind_Length_Array_Attribute => 1595,
+ Iir_Kind_Ascending_Array_Attribute => 1602,
+ Iir_Kind_Range_Array_Attribute => 1609,
+ Iir_Kind_Reverse_Range_Array_Attribute => 1616,
+ Iir_Kind_Attribute_Name => 1624
);
function Get_Fields (K : Iir_Kind) return Fields_Array
@@ -6308,63 +6268,19 @@ package body Nodes_Meta is
function Has_Attribute_Value_Chain (K : Iir_Kind) return Boolean is
begin
case K is
- when Iir_Kind_Type_Declaration
- | Iir_Kind_Subtype_Declaration
- | Iir_Kind_Nature_Declaration
- | Iir_Kind_Subnature_Declaration
- | Iir_Kind_Package_Declaration
+ when Iir_Kind_Package_Declaration
| Iir_Kind_Package_Instantiation_Declaration
+ | Iir_Kind_Package_Body
| Iir_Kind_Configuration_Declaration
| Iir_Kind_Entity_Declaration
| Iir_Kind_Architecture_Body
- | Iir_Kind_Unit_Declaration
- | Iir_Kind_Component_Declaration
- | Iir_Kind_Group_Declaration
- | Iir_Kind_Free_Quantity_Declaration
- | Iir_Kind_Across_Quantity_Declaration
- | Iir_Kind_Through_Quantity_Declaration
- | Iir_Kind_Enumeration_Literal
- | Iir_Kind_Function_Declaration
- | Iir_Kind_Implicit_Function_Declaration
- | Iir_Kind_Implicit_Procedure_Declaration
- | Iir_Kind_Procedure_Declaration
- | Iir_Kind_File_Declaration
- | Iir_Kind_Guard_Signal_Declaration
- | Iir_Kind_Signal_Declaration
- | Iir_Kind_Variable_Declaration
- | Iir_Kind_Constant_Declaration
- | Iir_Kind_Iterator_Declaration
- | Iir_Kind_Interface_Constant_Declaration
- | Iir_Kind_Interface_Variable_Declaration
- | Iir_Kind_Interface_Signal_Declaration
- | Iir_Kind_Interface_File_Declaration
+ | Iir_Kind_Function_Body
+ | Iir_Kind_Procedure_Body
| Iir_Kind_Interface_Package_Declaration
| Iir_Kind_Sensitized_Process_Statement
| Iir_Kind_Process_Statement
- | Iir_Kind_Concurrent_Conditional_Signal_Assignment
- | Iir_Kind_Concurrent_Selected_Signal_Assignment
- | Iir_Kind_Concurrent_Assertion_Statement
- | Iir_Kind_Psl_Assert_Statement
- | Iir_Kind_Psl_Cover_Statement
- | Iir_Kind_Concurrent_Procedure_Call_Statement
| Iir_Kind_Block_Statement
- | Iir_Kind_Generate_Statement
- | Iir_Kind_Component_Instantiation_Statement
- | Iir_Kind_Simple_Simultaneous_Statement
- | Iir_Kind_Signal_Assignment_Statement
- | Iir_Kind_Null_Statement
- | Iir_Kind_Assertion_Statement
- | Iir_Kind_Report_Statement
- | Iir_Kind_Wait_Statement
- | Iir_Kind_Variable_Assignment_Statement
- | Iir_Kind_Return_Statement
- | Iir_Kind_For_Loop_Statement
- | Iir_Kind_While_Loop_Statement
- | Iir_Kind_Next_Statement
- | Iir_Kind_Exit_Statement
- | Iir_Kind_Case_Statement
- | Iir_Kind_Procedure_Call_Statement
- | Iir_Kind_If_Statement =>
+ | Iir_Kind_Generate_Statement =>
return True;
when others =>
return False;