diff options
author | Tristan Gingold <tgingold@free.fr> | 2014-12-14 20:25:24 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2014-12-14 20:25:24 +0100 |
commit | 8792b3d6370cc8b1a97c978d372b3ae0f02cfd0b (patch) | |
tree | e5d2e5310ac59f36df52b969f286b3770d660f7d /src/vhdl/nodes_meta.adb | |
parent | 7e756359d5dc492633c0a6a3cf78b10bdb884a53 (diff) | |
download | ghdl-8792b3d6370cc8b1a97c978d372b3ae0f02cfd0b.tar.gz ghdl-8792b3d6370cc8b1a97c978d372b3ae0f02cfd0b.tar.bz2 ghdl-8792b3d6370cc8b1a97c978d372b3ae0f02cfd0b.zip |
reduce size of enumeration_literal.
Diffstat (limited to 'src/vhdl/nodes_meta.adb')
-rw-r--r-- | src/vhdl/nodes_meta.adb | 323 |
1 files changed, 154 insertions, 169 deletions
diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb index 3d5fbef30..f31a5a3b4 100644 --- a/src/vhdl/nodes_meta.adb +++ b/src/vhdl/nodes_meta.adb @@ -47,7 +47,6 @@ package body Nodes_Meta is Field_Physical_Literal => Type_Iir, Field_Physical_Unit_Value => Type_Iir, Field_Fp_Value => Type_Iir_Fp64, - Field_Enumeration_Decl => Type_Iir, Field_Simple_Aggregate_List => Type_Iir_List, Field_Bit_String_Base => Type_Base_Type, Field_Bit_String_0 => Type_Iir, @@ -372,8 +371,6 @@ package body Nodes_Meta is return "physical_unit_value"; when Field_Fp_Value => return "fp_value"; - when Field_Enumeration_Decl => - return "enumeration_decl"; when Field_Simple_Aggregate_List => return "simple_aggregate_list"; when Field_Bit_String_Base => @@ -1438,8 +1435,6 @@ package body Nodes_Meta is return Attr_None; when Field_Fp_Value => return Attr_None; - when Field_Enumeration_Decl => - return Attr_Ref; when Field_Simple_Aggregate_List => return Attr_None; when Field_Bit_String_Base => @@ -2653,9 +2648,9 @@ package body Nodes_Meta is Field_Parent, Field_Type, -- Iir_Kind_Enumeration_Literal - Field_Enum_Pos, - Field_Subprogram_Hash, Field_Identifier, + Field_Subprogram_Hash, + Field_Enum_Pos, Field_Seen_Flag, Field_Visible_Flag, Field_Is_Within_Flag, @@ -2664,12 +2659,11 @@ package body Nodes_Meta is Field_Literal_Origin, Field_Parent, Field_Type, - Field_Enumeration_Decl, -- Iir_Kind_Function_Declaration Field_Subprogram_Depth, - Field_Subprogram_Hash, Field_Overload_Number, Field_Identifier, + Field_Subprogram_Hash, Field_Seen_Flag, Field_Pure_Flag, Field_Foreign_Flag, @@ -2689,9 +2683,9 @@ package body Nodes_Meta is Field_Return_Type, Field_Subprogram_Body, -- Iir_Kind_Implicit_Function_Declaration - Field_Subprogram_Hash, Field_Overload_Number, Field_Identifier, + Field_Subprogram_Hash, Field_Implicit_Definition, Field_Seen_Flag, Field_Pure_Flag, @@ -2707,9 +2701,9 @@ package body Nodes_Meta is Field_Return_Type, Field_Type_Reference, -- Iir_Kind_Implicit_Procedure_Declaration - Field_Subprogram_Hash, Field_Overload_Number, Field_Identifier, + Field_Subprogram_Hash, Field_Implicit_Definition, Field_Seen_Flag, Field_Visible_Flag, @@ -2724,9 +2718,9 @@ package body Nodes_Meta is Field_Type_Reference, -- Iir_Kind_Procedure_Declaration Field_Subprogram_Depth, - Field_Subprogram_Hash, Field_Overload_Number, Field_Identifier, + Field_Subprogram_Hash, Field_Seen_Flag, Field_Passive_Flag, Field_Foreign_Flag, @@ -3932,154 +3926,154 @@ package body Nodes_Meta is 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 => 744, - Iir_Kind_Signal_Declaration => 761, - Iir_Kind_Variable_Declaration => 774, - Iir_Kind_Constant_Declaration => 788, - Iir_Kind_Iterator_Declaration => 800, - Iir_Kind_Interface_Constant_Declaration => 816, - Iir_Kind_Interface_Variable_Declaration => 832, - Iir_Kind_Interface_Signal_Declaration => 853, - Iir_Kind_Interface_File_Declaration => 869, - Iir_Kind_Interface_Package_Declaration => 878, - Iir_Kind_Identity_Operator => 882, - Iir_Kind_Negation_Operator => 886, - Iir_Kind_Absolute_Operator => 890, - Iir_Kind_Not_Operator => 894, - Iir_Kind_Condition_Operator => 898, - Iir_Kind_Reduction_And_Operator => 902, - Iir_Kind_Reduction_Or_Operator => 906, - Iir_Kind_Reduction_Nand_Operator => 910, - Iir_Kind_Reduction_Nor_Operator => 914, - Iir_Kind_Reduction_Xor_Operator => 918, - Iir_Kind_Reduction_Xnor_Operator => 922, - Iir_Kind_And_Operator => 927, - Iir_Kind_Or_Operator => 932, - Iir_Kind_Nand_Operator => 937, - Iir_Kind_Nor_Operator => 942, - Iir_Kind_Xor_Operator => 947, - Iir_Kind_Xnor_Operator => 952, - Iir_Kind_Equality_Operator => 957, - Iir_Kind_Inequality_Operator => 962, - Iir_Kind_Less_Than_Operator => 967, - Iir_Kind_Less_Than_Or_Equal_Operator => 972, - Iir_Kind_Greater_Than_Operator => 977, - Iir_Kind_Greater_Than_Or_Equal_Operator => 982, - Iir_Kind_Match_Equality_Operator => 987, - Iir_Kind_Match_Inequality_Operator => 992, - Iir_Kind_Match_Less_Than_Operator => 997, - Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1002, - Iir_Kind_Match_Greater_Than_Operator => 1007, - Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1012, - Iir_Kind_Sll_Operator => 1017, - Iir_Kind_Sla_Operator => 1022, - Iir_Kind_Srl_Operator => 1027, - Iir_Kind_Sra_Operator => 1032, - Iir_Kind_Rol_Operator => 1037, - Iir_Kind_Ror_Operator => 1042, - Iir_Kind_Addition_Operator => 1047, - Iir_Kind_Substraction_Operator => 1052, - Iir_Kind_Concatenation_Operator => 1057, - Iir_Kind_Multiplication_Operator => 1062, - Iir_Kind_Division_Operator => 1067, - Iir_Kind_Modulus_Operator => 1072, - Iir_Kind_Remainder_Operator => 1077, - Iir_Kind_Exponentiation_Operator => 1082, - Iir_Kind_Function_Call => 1090, - Iir_Kind_Aggregate => 1096, - Iir_Kind_Parenthesis_Expression => 1099, - Iir_Kind_Qualified_Expression => 1103, - Iir_Kind_Type_Conversion => 1108, - Iir_Kind_Allocator_By_Expression => 1112, - Iir_Kind_Allocator_By_Subtype => 1116, - Iir_Kind_Selected_Element => 1122, - Iir_Kind_Dereference => 1127, - Iir_Kind_Implicit_Dereference => 1132, - Iir_Kind_Slice_Name => 1139, - Iir_Kind_Indexed_Name => 1145, - Iir_Kind_Psl_Expression => 1147, - Iir_Kind_Sensitized_Process_Statement => 1166, - Iir_Kind_Process_Statement => 1184, - Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1195, - Iir_Kind_Concurrent_Selected_Signal_Assignment => 1207, - Iir_Kind_Concurrent_Assertion_Statement => 1215, - Iir_Kind_Psl_Default_Clock => 1219, - Iir_Kind_Psl_Assert_Statement => 1228, - Iir_Kind_Psl_Cover_Statement => 1237, - Iir_Kind_Concurrent_Procedure_Call_Statement => 1243, - Iir_Kind_Block_Statement => 1256, - Iir_Kind_Generate_Statement => 1268, - Iir_Kind_Component_Instantiation_Statement => 1278, - Iir_Kind_Simple_Simultaneous_Statement => 1285, - Iir_Kind_Signal_Assignment_Statement => 1294, - Iir_Kind_Null_Statement => 1298, - Iir_Kind_Assertion_Statement => 1305, - Iir_Kind_Report_Statement => 1311, - Iir_Kind_Wait_Statement => 1318, - Iir_Kind_Variable_Assignment_Statement => 1324, - Iir_Kind_Return_Statement => 1330, - Iir_Kind_For_Loop_Statement => 1338, - Iir_Kind_While_Loop_Statement => 1345, - Iir_Kind_Next_Statement => 1351, - Iir_Kind_Exit_Statement => 1357, - Iir_Kind_Case_Statement => 1364, - Iir_Kind_Procedure_Call_Statement => 1369, - Iir_Kind_If_Statement => 1377, - Iir_Kind_Elsif => 1382, - Iir_Kind_Character_Literal => 1389, - Iir_Kind_Simple_Name => 1396, - Iir_Kind_Selected_Name => 1404, - Iir_Kind_Operator_Symbol => 1409, - Iir_Kind_Selected_By_All_Name => 1414, - Iir_Kind_Parenthesis_Name => 1418, - Iir_Kind_Base_Attribute => 1420, - Iir_Kind_Left_Type_Attribute => 1425, - Iir_Kind_Right_Type_Attribute => 1430, - Iir_Kind_High_Type_Attribute => 1435, - Iir_Kind_Low_Type_Attribute => 1440, - Iir_Kind_Ascending_Type_Attribute => 1445, - Iir_Kind_Image_Attribute => 1451, - Iir_Kind_Value_Attribute => 1457, - Iir_Kind_Pos_Attribute => 1463, - Iir_Kind_Val_Attribute => 1469, - Iir_Kind_Succ_Attribute => 1475, - Iir_Kind_Pred_Attribute => 1481, - Iir_Kind_Leftof_Attribute => 1487, - Iir_Kind_Rightof_Attribute => 1493, - Iir_Kind_Delayed_Attribute => 1501, - Iir_Kind_Stable_Attribute => 1509, - Iir_Kind_Quiet_Attribute => 1517, - Iir_Kind_Transaction_Attribute => 1525, - Iir_Kind_Event_Attribute => 1529, - Iir_Kind_Active_Attribute => 1533, - Iir_Kind_Last_Event_Attribute => 1537, - Iir_Kind_Last_Active_Attribute => 1541, - Iir_Kind_Last_Value_Attribute => 1545, - Iir_Kind_Driving_Attribute => 1549, - Iir_Kind_Driving_Value_Attribute => 1553, - Iir_Kind_Behavior_Attribute => 1553, - Iir_Kind_Structure_Attribute => 1553, - Iir_Kind_Simple_Name_Attribute => 1560, - Iir_Kind_Instance_Name_Attribute => 1565, - Iir_Kind_Path_Name_Attribute => 1570, - Iir_Kind_Left_Array_Attribute => 1577, - Iir_Kind_Right_Array_Attribute => 1584, - Iir_Kind_High_Array_Attribute => 1591, - Iir_Kind_Low_Array_Attribute => 1598, - Iir_Kind_Length_Array_Attribute => 1605, - Iir_Kind_Ascending_Array_Attribute => 1612, - Iir_Kind_Range_Array_Attribute => 1619, - Iir_Kind_Reverse_Range_Array_Attribute => 1626, - Iir_Kind_Attribute_Name => 1634 + Iir_Kind_Enumeration_Literal => 609, + Iir_Kind_Function_Declaration => 631, + Iir_Kind_Implicit_Function_Declaration => 648, + Iir_Kind_Implicit_Procedure_Declaration => 663, + Iir_Kind_Procedure_Declaration => 683, + Iir_Kind_Function_Body => 693, + Iir_Kind_Procedure_Body => 703, + Iir_Kind_Object_Alias_Declaration => 715, + Iir_Kind_File_Declaration => 730, + 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 => 815, + Iir_Kind_Interface_Variable_Declaration => 831, + Iir_Kind_Interface_Signal_Declaration => 852, + Iir_Kind_Interface_File_Declaration => 868, + Iir_Kind_Interface_Package_Declaration => 877, + Iir_Kind_Identity_Operator => 881, + Iir_Kind_Negation_Operator => 885, + Iir_Kind_Absolute_Operator => 889, + Iir_Kind_Not_Operator => 893, + Iir_Kind_Condition_Operator => 897, + Iir_Kind_Reduction_And_Operator => 901, + Iir_Kind_Reduction_Or_Operator => 905, + Iir_Kind_Reduction_Nand_Operator => 909, + Iir_Kind_Reduction_Nor_Operator => 913, + Iir_Kind_Reduction_Xor_Operator => 917, + Iir_Kind_Reduction_Xnor_Operator => 921, + Iir_Kind_And_Operator => 926, + Iir_Kind_Or_Operator => 931, + Iir_Kind_Nand_Operator => 936, + Iir_Kind_Nor_Operator => 941, + Iir_Kind_Xor_Operator => 946, + Iir_Kind_Xnor_Operator => 951, + Iir_Kind_Equality_Operator => 956, + Iir_Kind_Inequality_Operator => 961, + Iir_Kind_Less_Than_Operator => 966, + Iir_Kind_Less_Than_Or_Equal_Operator => 971, + Iir_Kind_Greater_Than_Operator => 976, + Iir_Kind_Greater_Than_Or_Equal_Operator => 981, + Iir_Kind_Match_Equality_Operator => 986, + Iir_Kind_Match_Inequality_Operator => 991, + Iir_Kind_Match_Less_Than_Operator => 996, + Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1001, + Iir_Kind_Match_Greater_Than_Operator => 1006, + Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1011, + Iir_Kind_Sll_Operator => 1016, + Iir_Kind_Sla_Operator => 1021, + Iir_Kind_Srl_Operator => 1026, + Iir_Kind_Sra_Operator => 1031, + Iir_Kind_Rol_Operator => 1036, + Iir_Kind_Ror_Operator => 1041, + Iir_Kind_Addition_Operator => 1046, + Iir_Kind_Substraction_Operator => 1051, + Iir_Kind_Concatenation_Operator => 1056, + Iir_Kind_Multiplication_Operator => 1061, + Iir_Kind_Division_Operator => 1066, + Iir_Kind_Modulus_Operator => 1071, + Iir_Kind_Remainder_Operator => 1076, + Iir_Kind_Exponentiation_Operator => 1081, + Iir_Kind_Function_Call => 1089, + Iir_Kind_Aggregate => 1095, + Iir_Kind_Parenthesis_Expression => 1098, + Iir_Kind_Qualified_Expression => 1102, + Iir_Kind_Type_Conversion => 1107, + Iir_Kind_Allocator_By_Expression => 1111, + Iir_Kind_Allocator_By_Subtype => 1115, + Iir_Kind_Selected_Element => 1121, + Iir_Kind_Dereference => 1126, + Iir_Kind_Implicit_Dereference => 1131, + Iir_Kind_Slice_Name => 1138, + Iir_Kind_Indexed_Name => 1144, + Iir_Kind_Psl_Expression => 1146, + Iir_Kind_Sensitized_Process_Statement => 1165, + Iir_Kind_Process_Statement => 1183, + Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1194, + Iir_Kind_Concurrent_Selected_Signal_Assignment => 1206, + Iir_Kind_Concurrent_Assertion_Statement => 1214, + Iir_Kind_Psl_Default_Clock => 1218, + Iir_Kind_Psl_Assert_Statement => 1227, + Iir_Kind_Psl_Cover_Statement => 1236, + Iir_Kind_Concurrent_Procedure_Call_Statement => 1242, + Iir_Kind_Block_Statement => 1255, + Iir_Kind_Generate_Statement => 1267, + Iir_Kind_Component_Instantiation_Statement => 1277, + Iir_Kind_Simple_Simultaneous_Statement => 1284, + Iir_Kind_Signal_Assignment_Statement => 1293, + Iir_Kind_Null_Statement => 1297, + Iir_Kind_Assertion_Statement => 1304, + Iir_Kind_Report_Statement => 1310, + Iir_Kind_Wait_Statement => 1317, + Iir_Kind_Variable_Assignment_Statement => 1323, + Iir_Kind_Return_Statement => 1329, + Iir_Kind_For_Loop_Statement => 1337, + Iir_Kind_While_Loop_Statement => 1344, + Iir_Kind_Next_Statement => 1350, + Iir_Kind_Exit_Statement => 1356, + Iir_Kind_Case_Statement => 1363, + Iir_Kind_Procedure_Call_Statement => 1368, + Iir_Kind_If_Statement => 1376, + Iir_Kind_Elsif => 1381, + Iir_Kind_Character_Literal => 1388, + Iir_Kind_Simple_Name => 1395, + Iir_Kind_Selected_Name => 1403, + Iir_Kind_Operator_Symbol => 1408, + Iir_Kind_Selected_By_All_Name => 1413, + Iir_Kind_Parenthesis_Name => 1417, + Iir_Kind_Base_Attribute => 1419, + Iir_Kind_Left_Type_Attribute => 1424, + Iir_Kind_Right_Type_Attribute => 1429, + Iir_Kind_High_Type_Attribute => 1434, + Iir_Kind_Low_Type_Attribute => 1439, + Iir_Kind_Ascending_Type_Attribute => 1444, + Iir_Kind_Image_Attribute => 1450, + Iir_Kind_Value_Attribute => 1456, + Iir_Kind_Pos_Attribute => 1462, + Iir_Kind_Val_Attribute => 1468, + Iir_Kind_Succ_Attribute => 1474, + Iir_Kind_Pred_Attribute => 1480, + Iir_Kind_Leftof_Attribute => 1486, + Iir_Kind_Rightof_Attribute => 1492, + Iir_Kind_Delayed_Attribute => 1500, + Iir_Kind_Stable_Attribute => 1508, + Iir_Kind_Quiet_Attribute => 1516, + Iir_Kind_Transaction_Attribute => 1524, + Iir_Kind_Event_Attribute => 1528, + Iir_Kind_Active_Attribute => 1532, + Iir_Kind_Last_Event_Attribute => 1536, + Iir_Kind_Last_Active_Attribute => 1540, + Iir_Kind_Last_Value_Attribute => 1544, + Iir_Kind_Driving_Attribute => 1548, + Iir_Kind_Driving_Value_Attribute => 1552, + Iir_Kind_Behavior_Attribute => 1552, + Iir_Kind_Structure_Attribute => 1552, + Iir_Kind_Simple_Name_Attribute => 1559, + Iir_Kind_Instance_Name_Attribute => 1564, + Iir_Kind_Path_Name_Attribute => 1569, + Iir_Kind_Left_Array_Attribute => 1576, + Iir_Kind_Right_Array_Attribute => 1583, + Iir_Kind_High_Array_Attribute => 1590, + Iir_Kind_Low_Array_Attribute => 1597, + Iir_Kind_Length_Array_Attribute => 1604, + Iir_Kind_Ascending_Array_Attribute => 1611, + Iir_Kind_Range_Array_Attribute => 1618, + Iir_Kind_Reverse_Range_Array_Attribute => 1625, + Iir_Kind_Attribute_Name => 1633 ); function Get_Fields (K : Iir_Kind) return Fields_Array @@ -4387,8 +4381,6 @@ package body Nodes_Meta is return Get_Physical_Literal (N); when Field_Physical_Unit_Value => return Get_Physical_Unit_Value (N); - when Field_Enumeration_Decl => - return Get_Enumeration_Decl (N); when Field_Bit_String_0 => return Get_Bit_String_0 (N); when Field_Bit_String_1 => @@ -4749,8 +4741,6 @@ package body Nodes_Meta is Set_Physical_Literal (N, V); when Field_Physical_Unit_Value => Set_Physical_Unit_Value (N, V); - when Field_Enumeration_Decl => - Set_Enumeration_Decl (N, V); when Field_Bit_String_0 => Set_Bit_String_0 (N, V); when Field_Bit_String_1 => @@ -5989,11 +5979,6 @@ package body Nodes_Meta is end case; end Has_Fp_Value; - function Has_Enumeration_Decl (K : Iir_Kind) return Boolean is - begin - return K = Iir_Kind_Enumeration_Literal; - end Has_Enumeration_Decl; - function Has_Simple_Aggregate_List (K : Iir_Kind) return Boolean is begin return K = Iir_Kind_Simple_Aggregate; |