summaryrefslogtreecommitdiff
path: root/src/vhdl/nodes_meta.adb
diff options
context:
space:
mode:
authorTristan Gingold2014-12-29 08:20:50 +0100
committerTristan Gingold2014-12-29 08:20:50 +0100
commit17082aaf70426f2204b4259e45b1ca6e315bd439 (patch)
treee92e12bf92c6b6c4e52d92981ce75d430750d225 /src/vhdl/nodes_meta.adb
parentf77be8349e5c0d5924222af0c5fc059c6ae5b271 (diff)
downloadghdl-17082aaf70426f2204b4259e45b1ca6e315bd439.tar.gz
ghdl-17082aaf70426f2204b4259e45b1ca6e315bd439.tar.bz2
ghdl-17082aaf70426f2204b4259e45b1ca6e315bd439.zip
Rework string literals: store literals position.
Diffstat (limited to 'src/vhdl/nodes_meta.adb')
-rw-r--r--src/vhdl/nodes_meta.adb576
1 files changed, 260 insertions, 316 deletions
diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb
index e6c5b7d..9890310 100644
--- a/src/vhdl/nodes_meta.adb
+++ b/src/vhdl/nodes_meta.adb
@@ -49,8 +49,6 @@ package body Nodes_Meta is
Field_Fp_Value => Type_Iir_Fp64,
Field_Simple_Aggregate_List => Type_Iir_List,
Field_Bit_String_Base => Type_Base_Type,
- Field_Bit_String_0 => Type_Iir,
- Field_Bit_String_1 => Type_Iir,
Field_Literal_Origin => Type_Iir,
Field_Range_Origin => Type_Iir,
Field_Literal_Subtype => Type_Iir,
@@ -285,7 +283,7 @@ package body Nodes_Meta is
Field_Protected_Type_Body => Type_Iir,
Field_Protected_Type_Declaration => Type_Iir,
Field_End_Location => Type_Location_Type,
- Field_String_Id => Type_String_Id,
+ Field_String8_Id => Type_String8_Id,
Field_String_Length => Type_Int32,
Field_Use_Flag => Type_Boolean,
Field_End_Has_Reserved_Id => Type_Boolean,
@@ -375,10 +373,6 @@ package body Nodes_Meta is
return "simple_aggregate_list";
when Field_Bit_String_Base =>
return "bit_string_base";
- when Field_Bit_String_0 =>
- return "bit_string_0";
- when Field_Bit_String_1 =>
- return "bit_string_1";
when Field_Literal_Origin =>
return "literal_origin";
when Field_Range_Origin =>
@@ -847,8 +841,8 @@ package body Nodes_Meta is
return "protected_type_declaration";
when Field_End_Location =>
return "end_location";
- when Field_String_Id =>
- return "string_id";
+ when Field_String8_Id =>
+ return "string8_id";
when Field_String_Length =>
return "string_length";
when Field_Use_Flag =>
@@ -911,14 +905,12 @@ package body Nodes_Meta is
return "floating_point_literal";
when Iir_Kind_Null_Literal =>
return "null_literal";
- when Iir_Kind_String_Literal =>
- return "string_literal";
+ when Iir_Kind_String_Literal8 =>
+ return "string_literal8";
when Iir_Kind_Physical_Int_Literal =>
return "physical_int_literal";
when Iir_Kind_Physical_Fp_Literal =>
return "physical_fp_literal";
- when Iir_Kind_Bit_String_Literal =>
- return "bit_string_literal";
when Iir_Kind_Simple_Aggregate =>
return "simple_aggregate";
when Iir_Kind_Overflow_Literal =>
@@ -1435,10 +1427,6 @@ package body Nodes_Meta is
return Attr_None;
when Field_Bit_String_Base =>
return Attr_None;
- when Field_Bit_String_0 =>
- return Attr_None;
- when Field_Bit_String_1 =>
- return Attr_None;
when Field_Literal_Origin =>
return Attr_None;
when Field_Range_Origin =>
@@ -1907,7 +1895,7 @@ package body Nodes_Meta is
return Attr_None;
when Field_End_Location =>
return Attr_None;
- when Field_String_Id =>
+ when Field_String8_Id =>
return Attr_None;
when Field_String_Length =>
return Attr_None;
@@ -2013,10 +2001,11 @@ package body Nodes_Meta is
-- Iir_Kind_Null_Literal
Field_Expr_Staticness,
Field_Type,
- -- Iir_Kind_String_Literal
- Field_String_Id,
+ -- Iir_Kind_String_Literal8
Field_String_Length,
+ Field_String8_Id,
Field_Expr_Staticness,
+ Field_Bit_String_Base,
Field_Literal_Origin,
Field_Literal_Subtype,
Field_Type,
@@ -2032,21 +2021,11 @@ package body Nodes_Meta is
Field_Literal_Origin,
Field_Unit_Name,
Field_Type,
- -- Iir_Kind_Bit_String_Literal
- Field_String_Id,
- Field_String_Length,
- Field_Bit_String_Base,
- Field_Expr_Staticness,
- Field_Literal_Origin,
- Field_Literal_Subtype,
- Field_Bit_String_0,
- Field_Bit_String_1,
- Field_Type,
-- Iir_Kind_Simple_Aggregate
Field_Expr_Staticness,
Field_Literal_Origin,
- Field_Simple_Aggregate_List,
Field_Literal_Subtype,
+ Field_Simple_Aggregate_List,
Field_Type,
-- Iir_Kind_Overflow_Literal
Field_Expr_Staticness,
@@ -3172,8 +3151,8 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Value_Staticness,
Field_Aggregate_Info,
- Field_Association_Choices_Chain,
Field_Literal_Subtype,
+ Field_Association_Choices_Chain,
Field_Type,
-- Iir_Kind_Parenthesis_Expression
Field_Expr_Staticness,
@@ -3810,235 +3789,234 @@ package body Nodes_Meta is
Iir_Kind_Integer_Literal => 45,
Iir_Kind_Floating_Point_Literal => 49,
Iir_Kind_Null_Literal => 51,
- Iir_Kind_String_Literal => 57,
- Iir_Kind_Physical_Int_Literal => 62,
- Iir_Kind_Physical_Fp_Literal => 67,
- Iir_Kind_Bit_String_Literal => 76,
- Iir_Kind_Simple_Aggregate => 81,
- Iir_Kind_Overflow_Literal => 84,
- Iir_Kind_Waveform_Element => 87,
- Iir_Kind_Conditional_Waveform => 90,
- Iir_Kind_Association_Element_By_Expression => 97,
- Iir_Kind_Association_Element_By_Individual => 103,
- Iir_Kind_Association_Element_Open => 108,
- Iir_Kind_Association_Element_Package => 114,
- Iir_Kind_Choice_By_Others => 119,
- Iir_Kind_Choice_By_Expression => 126,
- Iir_Kind_Choice_By_Range => 133,
- Iir_Kind_Choice_By_None => 138,
- Iir_Kind_Choice_By_Name => 144,
- Iir_Kind_Entity_Aspect_Entity => 146,
- Iir_Kind_Entity_Aspect_Configuration => 147,
- Iir_Kind_Entity_Aspect_Open => 147,
- Iir_Kind_Block_Configuration => 153,
- Iir_Kind_Block_Header => 157,
- Iir_Kind_Component_Configuration => 163,
- Iir_Kind_Binding_Indication => 169,
- Iir_Kind_Entity_Class => 171,
- Iir_Kind_Attribute_Value => 179,
- Iir_Kind_Signature => 182,
- Iir_Kind_Aggregate_Info => 189,
- Iir_Kind_Procedure_Call => 193,
- Iir_Kind_Record_Element_Constraint => 199,
- Iir_Kind_Array_Element_Resolution => 200,
- Iir_Kind_Record_Resolution => 201,
- Iir_Kind_Record_Element_Resolution => 204,
- Iir_Kind_Attribute_Specification => 212,
- Iir_Kind_Disconnection_Specification => 217,
- Iir_Kind_Configuration_Specification => 222,
- Iir_Kind_Access_Type_Definition => 229,
- Iir_Kind_Incomplete_Type_Definition => 236,
- Iir_Kind_File_Type_Definition => 243,
- Iir_Kind_Protected_Type_Declaration => 252,
- Iir_Kind_Record_Type_Definition => 262,
- Iir_Kind_Array_Type_Definition => 274,
- Iir_Kind_Array_Subtype_Definition => 289,
- Iir_Kind_Record_Subtype_Definition => 300,
- Iir_Kind_Access_Subtype_Definition => 308,
- Iir_Kind_Physical_Subtype_Definition => 317,
- Iir_Kind_Floating_Subtype_Definition => 327,
- Iir_Kind_Integer_Subtype_Definition => 336,
- Iir_Kind_Enumeration_Subtype_Definition => 345,
- Iir_Kind_Enumeration_Type_Definition => 354,
- Iir_Kind_Integer_Type_Definition => 360,
- Iir_Kind_Floating_Type_Definition => 366,
- Iir_Kind_Physical_Type_Definition => 375,
- Iir_Kind_Range_Expression => 381,
- Iir_Kind_Protected_Type_Body => 388,
- Iir_Kind_Subtype_Definition => 392,
- Iir_Kind_Scalar_Nature_Definition => 396,
- Iir_Kind_Overload_List => 397,
- 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 => 507,
- Iir_Kind_Component_Declaration => 517,
- Iir_Kind_Attribute_Declaration => 524,
- Iir_Kind_Group_Template_Declaration => 530,
- Iir_Kind_Group_Declaration => 537,
- Iir_Kind_Element_Declaration => 544,
- Iir_Kind_Non_Object_Alias_Declaration => 552,
- Iir_Kind_Psl_Declaration => 560,
- Iir_Kind_Terminal_Declaration => 566,
- Iir_Kind_Free_Quantity_Declaration => 575,
- Iir_Kind_Across_Quantity_Declaration => 587,
- Iir_Kind_Through_Quantity_Declaration => 599,
- Iir_Kind_Enumeration_Literal => 610,
- Iir_Kind_Function_Declaration => 634,
- Iir_Kind_Procedure_Declaration => 656,
- Iir_Kind_Function_Body => 666,
- Iir_Kind_Procedure_Body => 676,
- Iir_Kind_Object_Alias_Declaration => 688,
- Iir_Kind_File_Declaration => 703,
- Iir_Kind_Guard_Signal_Declaration => 716,
- Iir_Kind_Signal_Declaration => 733,
- Iir_Kind_Variable_Declaration => 746,
- Iir_Kind_Constant_Declaration => 760,
- Iir_Kind_Iterator_Declaration => 772,
- Iir_Kind_Interface_Constant_Declaration => 788,
- Iir_Kind_Interface_Variable_Declaration => 804,
- Iir_Kind_Interface_Signal_Declaration => 825,
- Iir_Kind_Interface_File_Declaration => 841,
- Iir_Kind_Interface_Package_Declaration => 850,
- Iir_Kind_Identity_Operator => 854,
- Iir_Kind_Negation_Operator => 858,
- Iir_Kind_Absolute_Operator => 862,
- Iir_Kind_Not_Operator => 866,
- Iir_Kind_Condition_Operator => 870,
- Iir_Kind_Reduction_And_Operator => 874,
- Iir_Kind_Reduction_Or_Operator => 878,
- Iir_Kind_Reduction_Nand_Operator => 882,
- Iir_Kind_Reduction_Nor_Operator => 886,
- Iir_Kind_Reduction_Xor_Operator => 890,
- Iir_Kind_Reduction_Xnor_Operator => 894,
- Iir_Kind_And_Operator => 899,
- Iir_Kind_Or_Operator => 904,
- Iir_Kind_Nand_Operator => 909,
- Iir_Kind_Nor_Operator => 914,
- Iir_Kind_Xor_Operator => 919,
- Iir_Kind_Xnor_Operator => 924,
- Iir_Kind_Equality_Operator => 929,
- Iir_Kind_Inequality_Operator => 934,
- Iir_Kind_Less_Than_Operator => 939,
- Iir_Kind_Less_Than_Or_Equal_Operator => 944,
- Iir_Kind_Greater_Than_Operator => 949,
- Iir_Kind_Greater_Than_Or_Equal_Operator => 954,
- Iir_Kind_Match_Equality_Operator => 959,
- Iir_Kind_Match_Inequality_Operator => 964,
- Iir_Kind_Match_Less_Than_Operator => 969,
- Iir_Kind_Match_Less_Than_Or_Equal_Operator => 974,
- Iir_Kind_Match_Greater_Than_Operator => 979,
- Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 984,
- Iir_Kind_Sll_Operator => 989,
- Iir_Kind_Sla_Operator => 994,
- Iir_Kind_Srl_Operator => 999,
- Iir_Kind_Sra_Operator => 1004,
- Iir_Kind_Rol_Operator => 1009,
- Iir_Kind_Ror_Operator => 1014,
- Iir_Kind_Addition_Operator => 1019,
- Iir_Kind_Substraction_Operator => 1024,
- Iir_Kind_Concatenation_Operator => 1029,
- Iir_Kind_Multiplication_Operator => 1034,
- Iir_Kind_Division_Operator => 1039,
- Iir_Kind_Modulus_Operator => 1044,
- Iir_Kind_Remainder_Operator => 1049,
- Iir_Kind_Exponentiation_Operator => 1054,
- Iir_Kind_Function_Call => 1062,
- Iir_Kind_Aggregate => 1068,
- Iir_Kind_Parenthesis_Expression => 1071,
- Iir_Kind_Qualified_Expression => 1075,
- Iir_Kind_Type_Conversion => 1080,
- Iir_Kind_Allocator_By_Expression => 1084,
- Iir_Kind_Allocator_By_Subtype => 1088,
- Iir_Kind_Selected_Element => 1094,
- Iir_Kind_Dereference => 1099,
- Iir_Kind_Implicit_Dereference => 1104,
- Iir_Kind_Slice_Name => 1111,
- Iir_Kind_Indexed_Name => 1117,
- Iir_Kind_Psl_Expression => 1119,
- Iir_Kind_Sensitized_Process_Statement => 1138,
- Iir_Kind_Process_Statement => 1156,
- Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1167,
- Iir_Kind_Concurrent_Selected_Signal_Assignment => 1179,
- Iir_Kind_Concurrent_Assertion_Statement => 1187,
- Iir_Kind_Psl_Default_Clock => 1191,
- Iir_Kind_Psl_Assert_Statement => 1200,
- Iir_Kind_Psl_Cover_Statement => 1209,
- Iir_Kind_Concurrent_Procedure_Call_Statement => 1215,
- Iir_Kind_Block_Statement => 1228,
- Iir_Kind_Generate_Statement => 1240,
- Iir_Kind_Component_Instantiation_Statement => 1250,
- Iir_Kind_Simple_Simultaneous_Statement => 1257,
- Iir_Kind_Signal_Assignment_Statement => 1266,
- Iir_Kind_Null_Statement => 1270,
- Iir_Kind_Assertion_Statement => 1277,
- Iir_Kind_Report_Statement => 1283,
- Iir_Kind_Wait_Statement => 1290,
- Iir_Kind_Variable_Assignment_Statement => 1296,
- Iir_Kind_Return_Statement => 1302,
- Iir_Kind_For_Loop_Statement => 1310,
- Iir_Kind_While_Loop_Statement => 1317,
- Iir_Kind_Next_Statement => 1323,
- Iir_Kind_Exit_Statement => 1329,
- Iir_Kind_Case_Statement => 1336,
- Iir_Kind_Procedure_Call_Statement => 1341,
- Iir_Kind_If_Statement => 1349,
- Iir_Kind_Elsif => 1354,
- Iir_Kind_Character_Literal => 1361,
- Iir_Kind_Simple_Name => 1368,
- Iir_Kind_Selected_Name => 1376,
- Iir_Kind_Operator_Symbol => 1381,
- Iir_Kind_Selected_By_All_Name => 1386,
- Iir_Kind_Parenthesis_Name => 1390,
- Iir_Kind_Base_Attribute => 1392,
- Iir_Kind_Left_Type_Attribute => 1397,
- Iir_Kind_Right_Type_Attribute => 1402,
- Iir_Kind_High_Type_Attribute => 1407,
- Iir_Kind_Low_Type_Attribute => 1412,
- Iir_Kind_Ascending_Type_Attribute => 1417,
- Iir_Kind_Image_Attribute => 1423,
- Iir_Kind_Value_Attribute => 1429,
- Iir_Kind_Pos_Attribute => 1435,
- Iir_Kind_Val_Attribute => 1441,
- Iir_Kind_Succ_Attribute => 1447,
- Iir_Kind_Pred_Attribute => 1453,
- Iir_Kind_Leftof_Attribute => 1459,
- Iir_Kind_Rightof_Attribute => 1465,
- Iir_Kind_Delayed_Attribute => 1473,
- Iir_Kind_Stable_Attribute => 1481,
- Iir_Kind_Quiet_Attribute => 1489,
- Iir_Kind_Transaction_Attribute => 1497,
- Iir_Kind_Event_Attribute => 1501,
- Iir_Kind_Active_Attribute => 1505,
- Iir_Kind_Last_Event_Attribute => 1509,
- Iir_Kind_Last_Active_Attribute => 1513,
- Iir_Kind_Last_Value_Attribute => 1517,
- Iir_Kind_Driving_Attribute => 1521,
- Iir_Kind_Driving_Value_Attribute => 1525,
- Iir_Kind_Behavior_Attribute => 1525,
- Iir_Kind_Structure_Attribute => 1525,
- Iir_Kind_Simple_Name_Attribute => 1532,
- Iir_Kind_Instance_Name_Attribute => 1537,
- Iir_Kind_Path_Name_Attribute => 1542,
- Iir_Kind_Left_Array_Attribute => 1549,
- Iir_Kind_Right_Array_Attribute => 1556,
- Iir_Kind_High_Array_Attribute => 1563,
- Iir_Kind_Low_Array_Attribute => 1570,
- Iir_Kind_Length_Array_Attribute => 1577,
- Iir_Kind_Ascending_Array_Attribute => 1584,
- Iir_Kind_Range_Array_Attribute => 1591,
- Iir_Kind_Reverse_Range_Array_Attribute => 1598,
- Iir_Kind_Attribute_Name => 1606
+ Iir_Kind_String_Literal8 => 58,
+ Iir_Kind_Physical_Int_Literal => 63,
+ Iir_Kind_Physical_Fp_Literal => 68,
+ Iir_Kind_Simple_Aggregate => 73,
+ Iir_Kind_Overflow_Literal => 76,
+ Iir_Kind_Waveform_Element => 79,
+ Iir_Kind_Conditional_Waveform => 82,
+ Iir_Kind_Association_Element_By_Expression => 89,
+ Iir_Kind_Association_Element_By_Individual => 95,
+ Iir_Kind_Association_Element_Open => 100,
+ Iir_Kind_Association_Element_Package => 106,
+ Iir_Kind_Choice_By_Others => 111,
+ Iir_Kind_Choice_By_Expression => 118,
+ Iir_Kind_Choice_By_Range => 125,
+ Iir_Kind_Choice_By_None => 130,
+ Iir_Kind_Choice_By_Name => 136,
+ Iir_Kind_Entity_Aspect_Entity => 138,
+ Iir_Kind_Entity_Aspect_Configuration => 139,
+ Iir_Kind_Entity_Aspect_Open => 139,
+ Iir_Kind_Block_Configuration => 145,
+ Iir_Kind_Block_Header => 149,
+ Iir_Kind_Component_Configuration => 155,
+ Iir_Kind_Binding_Indication => 161,
+ Iir_Kind_Entity_Class => 163,
+ Iir_Kind_Attribute_Value => 171,
+ Iir_Kind_Signature => 174,
+ Iir_Kind_Aggregate_Info => 181,
+ Iir_Kind_Procedure_Call => 185,
+ Iir_Kind_Record_Element_Constraint => 191,
+ Iir_Kind_Array_Element_Resolution => 192,
+ Iir_Kind_Record_Resolution => 193,
+ Iir_Kind_Record_Element_Resolution => 196,
+ Iir_Kind_Attribute_Specification => 204,
+ Iir_Kind_Disconnection_Specification => 209,
+ Iir_Kind_Configuration_Specification => 214,
+ Iir_Kind_Access_Type_Definition => 221,
+ Iir_Kind_Incomplete_Type_Definition => 228,
+ Iir_Kind_File_Type_Definition => 235,
+ Iir_Kind_Protected_Type_Declaration => 244,
+ Iir_Kind_Record_Type_Definition => 254,
+ Iir_Kind_Array_Type_Definition => 266,
+ Iir_Kind_Array_Subtype_Definition => 281,
+ Iir_Kind_Record_Subtype_Definition => 292,
+ Iir_Kind_Access_Subtype_Definition => 300,
+ Iir_Kind_Physical_Subtype_Definition => 309,
+ Iir_Kind_Floating_Subtype_Definition => 319,
+ Iir_Kind_Integer_Subtype_Definition => 328,
+ Iir_Kind_Enumeration_Subtype_Definition => 337,
+ Iir_Kind_Enumeration_Type_Definition => 346,
+ Iir_Kind_Integer_Type_Definition => 352,
+ Iir_Kind_Floating_Type_Definition => 358,
+ Iir_Kind_Physical_Type_Definition => 367,
+ Iir_Kind_Range_Expression => 373,
+ Iir_Kind_Protected_Type_Body => 380,
+ Iir_Kind_Subtype_Definition => 384,
+ Iir_Kind_Scalar_Nature_Definition => 388,
+ Iir_Kind_Overload_List => 389,
+ Iir_Kind_Type_Declaration => 395,
+ Iir_Kind_Anonymous_Type_Declaration => 400,
+ Iir_Kind_Subtype_Declaration => 408,
+ Iir_Kind_Nature_Declaration => 414,
+ Iir_Kind_Subnature_Declaration => 420,
+ Iir_Kind_Package_Declaration => 430,
+ Iir_Kind_Package_Instantiation_Declaration => 441,
+ Iir_Kind_Package_Body => 448,
+ Iir_Kind_Configuration_Declaration => 457,
+ Iir_Kind_Entity_Declaration => 469,
+ Iir_Kind_Architecture_Body => 481,
+ Iir_Kind_Package_Header => 483,
+ Iir_Kind_Unit_Declaration => 492,
+ Iir_Kind_Library_Declaration => 499,
+ Iir_Kind_Component_Declaration => 509,
+ Iir_Kind_Attribute_Declaration => 516,
+ Iir_Kind_Group_Template_Declaration => 522,
+ Iir_Kind_Group_Declaration => 529,
+ Iir_Kind_Element_Declaration => 536,
+ Iir_Kind_Non_Object_Alias_Declaration => 544,
+ Iir_Kind_Psl_Declaration => 552,
+ Iir_Kind_Terminal_Declaration => 558,
+ Iir_Kind_Free_Quantity_Declaration => 567,
+ Iir_Kind_Across_Quantity_Declaration => 579,
+ Iir_Kind_Through_Quantity_Declaration => 591,
+ Iir_Kind_Enumeration_Literal => 602,
+ Iir_Kind_Function_Declaration => 626,
+ Iir_Kind_Procedure_Declaration => 648,
+ Iir_Kind_Function_Body => 658,
+ Iir_Kind_Procedure_Body => 668,
+ Iir_Kind_Object_Alias_Declaration => 680,
+ Iir_Kind_File_Declaration => 695,
+ Iir_Kind_Guard_Signal_Declaration => 708,
+ Iir_Kind_Signal_Declaration => 725,
+ Iir_Kind_Variable_Declaration => 738,
+ Iir_Kind_Constant_Declaration => 752,
+ Iir_Kind_Iterator_Declaration => 764,
+ Iir_Kind_Interface_Constant_Declaration => 780,
+ Iir_Kind_Interface_Variable_Declaration => 796,
+ Iir_Kind_Interface_Signal_Declaration => 817,
+ Iir_Kind_Interface_File_Declaration => 833,
+ Iir_Kind_Interface_Package_Declaration => 842,
+ Iir_Kind_Identity_Operator => 846,
+ Iir_Kind_Negation_Operator => 850,
+ Iir_Kind_Absolute_Operator => 854,
+ Iir_Kind_Not_Operator => 858,
+ Iir_Kind_Condition_Operator => 862,
+ Iir_Kind_Reduction_And_Operator => 866,
+ Iir_Kind_Reduction_Or_Operator => 870,
+ Iir_Kind_Reduction_Nand_Operator => 874,
+ Iir_Kind_Reduction_Nor_Operator => 878,
+ Iir_Kind_Reduction_Xor_Operator => 882,
+ Iir_Kind_Reduction_Xnor_Operator => 886,
+ Iir_Kind_And_Operator => 891,
+ Iir_Kind_Or_Operator => 896,
+ Iir_Kind_Nand_Operator => 901,
+ Iir_Kind_Nor_Operator => 906,
+ Iir_Kind_Xor_Operator => 911,
+ Iir_Kind_Xnor_Operator => 916,
+ Iir_Kind_Equality_Operator => 921,
+ Iir_Kind_Inequality_Operator => 926,
+ Iir_Kind_Less_Than_Operator => 931,
+ Iir_Kind_Less_Than_Or_Equal_Operator => 936,
+ Iir_Kind_Greater_Than_Operator => 941,
+ Iir_Kind_Greater_Than_Or_Equal_Operator => 946,
+ Iir_Kind_Match_Equality_Operator => 951,
+ Iir_Kind_Match_Inequality_Operator => 956,
+ Iir_Kind_Match_Less_Than_Operator => 961,
+ Iir_Kind_Match_Less_Than_Or_Equal_Operator => 966,
+ Iir_Kind_Match_Greater_Than_Operator => 971,
+ Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 976,
+ Iir_Kind_Sll_Operator => 981,
+ Iir_Kind_Sla_Operator => 986,
+ Iir_Kind_Srl_Operator => 991,
+ Iir_Kind_Sra_Operator => 996,
+ Iir_Kind_Rol_Operator => 1001,
+ Iir_Kind_Ror_Operator => 1006,
+ Iir_Kind_Addition_Operator => 1011,
+ Iir_Kind_Substraction_Operator => 1016,
+ Iir_Kind_Concatenation_Operator => 1021,
+ Iir_Kind_Multiplication_Operator => 1026,
+ Iir_Kind_Division_Operator => 1031,
+ Iir_Kind_Modulus_Operator => 1036,
+ Iir_Kind_Remainder_Operator => 1041,
+ Iir_Kind_Exponentiation_Operator => 1046,
+ Iir_Kind_Function_Call => 1054,
+ Iir_Kind_Aggregate => 1060,
+ Iir_Kind_Parenthesis_Expression => 1063,
+ Iir_Kind_Qualified_Expression => 1067,
+ Iir_Kind_Type_Conversion => 1072,
+ Iir_Kind_Allocator_By_Expression => 1076,
+ Iir_Kind_Allocator_By_Subtype => 1080,
+ Iir_Kind_Selected_Element => 1086,
+ Iir_Kind_Dereference => 1091,
+ Iir_Kind_Implicit_Dereference => 1096,
+ Iir_Kind_Slice_Name => 1103,
+ Iir_Kind_Indexed_Name => 1109,
+ Iir_Kind_Psl_Expression => 1111,
+ Iir_Kind_Sensitized_Process_Statement => 1130,
+ Iir_Kind_Process_Statement => 1148,
+ Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1159,
+ Iir_Kind_Concurrent_Selected_Signal_Assignment => 1171,
+ Iir_Kind_Concurrent_Assertion_Statement => 1179,
+ Iir_Kind_Psl_Default_Clock => 1183,
+ Iir_Kind_Psl_Assert_Statement => 1192,
+ Iir_Kind_Psl_Cover_Statement => 1201,
+ Iir_Kind_Concurrent_Procedure_Call_Statement => 1207,
+ Iir_Kind_Block_Statement => 1220,
+ Iir_Kind_Generate_Statement => 1232,
+ Iir_Kind_Component_Instantiation_Statement => 1242,
+ Iir_Kind_Simple_Simultaneous_Statement => 1249,
+ Iir_Kind_Signal_Assignment_Statement => 1258,
+ Iir_Kind_Null_Statement => 1262,
+ Iir_Kind_Assertion_Statement => 1269,
+ Iir_Kind_Report_Statement => 1275,
+ Iir_Kind_Wait_Statement => 1282,
+ Iir_Kind_Variable_Assignment_Statement => 1288,
+ Iir_Kind_Return_Statement => 1294,
+ Iir_Kind_For_Loop_Statement => 1302,
+ Iir_Kind_While_Loop_Statement => 1309,
+ Iir_Kind_Next_Statement => 1315,
+ Iir_Kind_Exit_Statement => 1321,
+ Iir_Kind_Case_Statement => 1328,
+ Iir_Kind_Procedure_Call_Statement => 1333,
+ Iir_Kind_If_Statement => 1341,
+ Iir_Kind_Elsif => 1346,
+ Iir_Kind_Character_Literal => 1353,
+ Iir_Kind_Simple_Name => 1360,
+ Iir_Kind_Selected_Name => 1368,
+ Iir_Kind_Operator_Symbol => 1373,
+ Iir_Kind_Selected_By_All_Name => 1378,
+ Iir_Kind_Parenthesis_Name => 1382,
+ Iir_Kind_Base_Attribute => 1384,
+ Iir_Kind_Left_Type_Attribute => 1389,
+ Iir_Kind_Right_Type_Attribute => 1394,
+ Iir_Kind_High_Type_Attribute => 1399,
+ Iir_Kind_Low_Type_Attribute => 1404,
+ Iir_Kind_Ascending_Type_Attribute => 1409,
+ Iir_Kind_Image_Attribute => 1415,
+ Iir_Kind_Value_Attribute => 1421,
+ Iir_Kind_Pos_Attribute => 1427,
+ Iir_Kind_Val_Attribute => 1433,
+ Iir_Kind_Succ_Attribute => 1439,
+ Iir_Kind_Pred_Attribute => 1445,
+ Iir_Kind_Leftof_Attribute => 1451,
+ Iir_Kind_Rightof_Attribute => 1457,
+ Iir_Kind_Delayed_Attribute => 1465,
+ Iir_Kind_Stable_Attribute => 1473,
+ Iir_Kind_Quiet_Attribute => 1481,
+ Iir_Kind_Transaction_Attribute => 1489,
+ Iir_Kind_Event_Attribute => 1493,
+ Iir_Kind_Active_Attribute => 1497,
+ Iir_Kind_Last_Event_Attribute => 1501,
+ Iir_Kind_Last_Active_Attribute => 1505,
+ Iir_Kind_Last_Value_Attribute => 1509,
+ Iir_Kind_Driving_Attribute => 1513,
+ Iir_Kind_Driving_Value_Attribute => 1517,
+ Iir_Kind_Behavior_Attribute => 1517,
+ Iir_Kind_Structure_Attribute => 1517,
+ Iir_Kind_Simple_Name_Attribute => 1524,
+ Iir_Kind_Instance_Name_Attribute => 1529,
+ Iir_Kind_Path_Name_Attribute => 1534,
+ Iir_Kind_Left_Array_Attribute => 1541,
+ Iir_Kind_Right_Array_Attribute => 1548,
+ Iir_Kind_High_Array_Attribute => 1555,
+ Iir_Kind_Low_Array_Attribute => 1562,
+ Iir_Kind_Length_Array_Attribute => 1569,
+ Iir_Kind_Ascending_Array_Attribute => 1576,
+ Iir_Kind_Range_Array_Attribute => 1583,
+ Iir_Kind_Reverse_Range_Array_Attribute => 1590,
+ Iir_Kind_Attribute_Name => 1598
);
function Get_Fields (K : Iir_Kind) return Fields_Array
@@ -4346,10 +4324,6 @@ package body Nodes_Meta is
return Get_Physical_Literal (N);
when Field_Physical_Unit_Value =>
return Get_Physical_Unit_Value (N);
- when Field_Bit_String_0 =>
- return Get_Bit_String_0 (N);
- when Field_Bit_String_1 =>
- return Get_Bit_String_1 (N);
when Field_Literal_Origin =>
return Get_Literal_Origin (N);
when Field_Range_Origin =>
@@ -4706,10 +4680,6 @@ package body Nodes_Meta is
Set_Physical_Literal (N, V);
when Field_Physical_Unit_Value =>
Set_Physical_Unit_Value (N, V);
- when Field_Bit_String_0 =>
- Set_Bit_String_0 (N, V);
- when Field_Bit_String_1 =>
- Set_Bit_String_1 (N, V);
when Field_Literal_Origin =>
Set_Literal_Origin (N, V);
when Field_Range_Origin =>
@@ -5675,29 +5645,29 @@ package body Nodes_Meta is
end case;
end Set_Source_Ptr;
- function Get_String_Id
- (N : Iir; F : Fields_Enum) return String_Id is
+ function Get_String8_Id
+ (N : Iir; F : Fields_Enum) return String8_Id is
begin
- pragma Assert (Fields_Type (F) = Type_String_Id);
+ pragma Assert (Fields_Type (F) = Type_String8_Id);
case F is
- when Field_String_Id =>
- return Get_String_Id (N);
+ when Field_String8_Id =>
+ return Get_String8_Id (N);
when others =>
raise Internal_Error;
end case;
- end Get_String_Id;
+ end Get_String8_Id;
- procedure Set_String_Id
- (N : Iir; F : Fields_Enum; V: String_Id) is
+ procedure Set_String8_Id
+ (N : Iir; F : Fields_Enum; V: String8_Id) is
begin
- pragma Assert (Fields_Type (F) = Type_String_Id);
+ pragma Assert (Fields_Type (F) = Type_String8_Id);
case F is
- when Field_String_Id =>
- Set_String_Id (N, V);
+ when Field_String8_Id =>
+ Set_String8_Id (N, V);
when others =>
raise Internal_Error;
end case;
- end Set_String_Id;
+ end Set_String8_Id;
function Get_Time_Stamp_Id
(N : Iir; F : Fields_Enum) return Time_Stamp_Id is
@@ -5951,28 +5921,17 @@ package body Nodes_Meta is
function Has_Bit_String_Base (K : Iir_Kind) return Boolean is
begin
- return K = Iir_Kind_Bit_String_Literal;
+ return K = Iir_Kind_String_Literal8;
end Has_Bit_String_Base;
- function Has_Bit_String_0 (K : Iir_Kind) return Boolean is
- begin
- return K = Iir_Kind_Bit_String_Literal;
- end Has_Bit_String_0;
-
- function Has_Bit_String_1 (K : Iir_Kind) return Boolean is
- begin
- return K = Iir_Kind_Bit_String_Literal;
- end Has_Bit_String_1;
-
function Has_Literal_Origin (K : Iir_Kind) return Boolean is
begin
case K is
when Iir_Kind_Integer_Literal
| Iir_Kind_Floating_Point_Literal
- | Iir_Kind_String_Literal
+ | Iir_Kind_String_Literal8
| Iir_Kind_Physical_Int_Literal
| Iir_Kind_Physical_Fp_Literal
- | Iir_Kind_Bit_String_Literal
| Iir_Kind_Simple_Aggregate
| Iir_Kind_Overflow_Literal
| Iir_Kind_Enumeration_Literal =>
@@ -5990,8 +5949,7 @@ package body Nodes_Meta is
function Has_Literal_Subtype (K : Iir_Kind) return Boolean is
begin
case K is
- when Iir_Kind_String_Literal
- | Iir_Kind_Bit_String_Literal
+ when Iir_Kind_String_Literal8
| Iir_Kind_Simple_Aggregate
| Iir_Kind_Aggregate =>
return True;
@@ -6435,10 +6393,9 @@ package body Nodes_Meta is
| Iir_Kind_Integer_Literal
| Iir_Kind_Floating_Point_Literal
| Iir_Kind_Null_Literal
- | Iir_Kind_String_Literal
+ | Iir_Kind_String_Literal8
| Iir_Kind_Physical_Int_Literal
| Iir_Kind_Physical_Fp_Literal
- | Iir_Kind_Bit_String_Literal
| Iir_Kind_Simple_Aggregate
| Iir_Kind_Overflow_Literal
| Iir_Kind_Attribute_Value
@@ -8204,10 +8161,9 @@ package body Nodes_Meta is
| Iir_Kind_Integer_Literal
| Iir_Kind_Floating_Point_Literal
| Iir_Kind_Null_Literal
- | Iir_Kind_String_Literal
+ | Iir_Kind_String_Literal8
| Iir_Kind_Physical_Int_Literal
| Iir_Kind_Physical_Fp_Literal
- | Iir_Kind_Bit_String_Literal
| Iir_Kind_Simple_Aggregate
| Iir_Kind_Overflow_Literal
| Iir_Kind_Attribute_Value
@@ -8977,26 +8933,14 @@ package body Nodes_Meta is
return K = Iir_Kind_Design_Unit;
end Has_End_Location;
- function Has_String_Id (K : Iir_Kind) return Boolean is
+ function Has_String8_Id (K : Iir_Kind) return Boolean is
begin
- case K is
- when Iir_Kind_String_Literal
- | Iir_Kind_Bit_String_Literal =>
- return True;
- when others =>
- return False;
- end case;
- end Has_String_Id;
+ return K = Iir_Kind_String_Literal8;
+ end Has_String8_Id;
function Has_String_Length (K : Iir_Kind) return Boolean is
begin
- case K is
- when Iir_Kind_String_Literal
- | Iir_Kind_Bit_String_Literal =>
- return True;
- when others =>
- return False;
- end case;
+ return K = Iir_Kind_String_Literal8;
end Has_String_Length;
function Has_Use_Flag (K : Iir_Kind) return Boolean is