From 7d034fc52f6b15e743ca91e7b1a4314bf31623b9 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Fri, 16 Aug 2019 22:31:06 +0200 Subject: vhdl: parse verification unit (WIP). --- python/libghdl/thin/vhdl/nodes.py | 485 +++++++++++++++++++------------------- 1 file changed, 243 insertions(+), 242 deletions(-) (limited to 'python') diff --git a/python/libghdl/thin/vhdl/nodes.py b/python/libghdl/thin/vhdl/nodes.py index cd8e269c9..6c38ba503 100644 --- a/python/libghdl/thin/vhdl/nodes.py +++ b/python/libghdl/thin/vhdl/nodes.py @@ -45,248 +45,249 @@ class Iir_Kind: Entity_Aspect_Entity = 30 Entity_Aspect_Configuration = 31 Entity_Aspect_Open = 32 - Block_Configuration = 33 - Block_Header = 34 - Component_Configuration = 35 - Binding_Indication = 36 - Entity_Class = 37 - Attribute_Value = 38 - Signature = 39 - Aggregate_Info = 40 - Procedure_Call = 41 - Record_Element_Constraint = 42 - Array_Element_Resolution = 43 - Record_Resolution = 44 - Record_Element_Resolution = 45 - Attribute_Specification = 46 - Disconnection_Specification = 47 - Configuration_Specification = 48 - Access_Type_Definition = 49 - Incomplete_Type_Definition = 50 - Interface_Type_Definition = 51 - File_Type_Definition = 52 - Protected_Type_Declaration = 53 - Record_Type_Definition = 54 - Array_Type_Definition = 55 - Array_Subtype_Definition = 56 - Record_Subtype_Definition = 57 - Access_Subtype_Definition = 58 - Physical_Subtype_Definition = 59 - Floating_Subtype_Definition = 60 - Integer_Subtype_Definition = 61 - Enumeration_Subtype_Definition = 62 - Enumeration_Type_Definition = 63 - Integer_Type_Definition = 64 - Floating_Type_Definition = 65 - Physical_Type_Definition = 66 - Range_Expression = 67 - Protected_Type_Body = 68 - Wildcard_Type_Definition = 69 - Subtype_Definition = 70 - Scalar_Nature_Definition = 71 - Overload_List = 72 - Entity_Declaration = 73 - Configuration_Declaration = 74 - Context_Declaration = 75 - Package_Declaration = 76 - Package_Instantiation_Declaration = 77 - Vmode_Declaration = 78 - Vprop_Declaration = 79 - Vunit_Declaration = 80 - Package_Body = 81 - Architecture_Body = 82 - Type_Declaration = 83 - Anonymous_Type_Declaration = 84 - Subtype_Declaration = 85 - Nature_Declaration = 86 - Subnature_Declaration = 87 - Package_Header = 88 - Unit_Declaration = 89 - Library_Declaration = 90 - Component_Declaration = 91 - Attribute_Declaration = 92 - Group_Template_Declaration = 93 - Group_Declaration = 94 - Element_Declaration = 95 - Non_Object_Alias_Declaration = 96 - Psl_Declaration = 97 - Psl_Endpoint_Declaration = 98 - Terminal_Declaration = 99 - Free_Quantity_Declaration = 100 - Across_Quantity_Declaration = 101 - Through_Quantity_Declaration = 102 - Enumeration_Literal = 103 - Function_Declaration = 104 - Procedure_Declaration = 105 - Function_Body = 106 - Procedure_Body = 107 - Object_Alias_Declaration = 108 - File_Declaration = 109 - Guard_Signal_Declaration = 110 - Signal_Declaration = 111 - Variable_Declaration = 112 - Constant_Declaration = 113 - Iterator_Declaration = 114 - Interface_Constant_Declaration = 115 - Interface_Variable_Declaration = 116 - Interface_Signal_Declaration = 117 - Interface_File_Declaration = 118 - Interface_Type_Declaration = 119 - Interface_Package_Declaration = 120 - Interface_Function_Declaration = 121 - Interface_Procedure_Declaration = 122 - Anonymous_Signal_Declaration = 123 - Signal_Attribute_Declaration = 124 - Identity_Operator = 125 - Negation_Operator = 126 - Absolute_Operator = 127 - Not_Operator = 128 - Implicit_Condition_Operator = 129 - Condition_Operator = 130 - Reduction_And_Operator = 131 - Reduction_Or_Operator = 132 - Reduction_Nand_Operator = 133 - Reduction_Nor_Operator = 134 - Reduction_Xor_Operator = 135 - Reduction_Xnor_Operator = 136 - And_Operator = 137 - Or_Operator = 138 - Nand_Operator = 139 - Nor_Operator = 140 - Xor_Operator = 141 - Xnor_Operator = 142 - Equality_Operator = 143 - Inequality_Operator = 144 - Less_Than_Operator = 145 - Less_Than_Or_Equal_Operator = 146 - Greater_Than_Operator = 147 - Greater_Than_Or_Equal_Operator = 148 - Match_Equality_Operator = 149 - Match_Inequality_Operator = 150 - Match_Less_Than_Operator = 151 - Match_Less_Than_Or_Equal_Operator = 152 - Match_Greater_Than_Operator = 153 - Match_Greater_Than_Or_Equal_Operator = 154 - Sll_Operator = 155 - Sla_Operator = 156 - Srl_Operator = 157 - Sra_Operator = 158 - Rol_Operator = 159 - Ror_Operator = 160 - Addition_Operator = 161 - Substraction_Operator = 162 - Concatenation_Operator = 163 - Multiplication_Operator = 164 - Division_Operator = 165 - Modulus_Operator = 166 - Remainder_Operator = 167 - Exponentiation_Operator = 168 - Function_Call = 169 - Aggregate = 170 - Parenthesis_Expression = 171 - Qualified_Expression = 172 - Type_Conversion = 173 - Allocator_By_Expression = 174 - Allocator_By_Subtype = 175 - Selected_Element = 176 - Dereference = 177 - Implicit_Dereference = 178 - Slice_Name = 179 - Indexed_Name = 180 - Psl_Expression = 181 - Sensitized_Process_Statement = 182 - Process_Statement = 183 - Concurrent_Simple_Signal_Assignment = 184 - Concurrent_Conditional_Signal_Assignment = 185 - Concurrent_Selected_Signal_Assignment = 186 - Concurrent_Assertion_Statement = 187 - Concurrent_Procedure_Call_Statement = 188 - Psl_Assert_Directive = 189 - Psl_Assume_Directive = 190 - Psl_Cover_Directive = 191 - Psl_Restrict_Directive = 192 - Block_Statement = 193 - If_Generate_Statement = 194 - Case_Generate_Statement = 195 - For_Generate_Statement = 196 - Component_Instantiation_Statement = 197 - Psl_Default_Clock = 198 - Simple_Simultaneous_Statement = 199 - Generate_Statement_Body = 200 - If_Generate_Else_Clause = 201 - Simple_Signal_Assignment_Statement = 202 - Conditional_Signal_Assignment_Statement = 203 - Selected_Waveform_Assignment_Statement = 204 - Null_Statement = 205 - Assertion_Statement = 206 - Report_Statement = 207 - Wait_Statement = 208 - Variable_Assignment_Statement = 209 - Conditional_Variable_Assignment_Statement = 210 - Return_Statement = 211 - For_Loop_Statement = 212 - While_Loop_Statement = 213 - Next_Statement = 214 - Exit_Statement = 215 - Case_Statement = 216 - Procedure_Call_Statement = 217 - If_Statement = 218 - Elsif = 219 - Character_Literal = 220 - Simple_Name = 221 - Selected_Name = 222 - Operator_Symbol = 223 - Reference_Name = 224 - External_Constant_Name = 225 - External_Signal_Name = 226 - External_Variable_Name = 227 - Selected_By_All_Name = 228 - Parenthesis_Name = 229 - Package_Pathname = 230 - Absolute_Pathname = 231 - Relative_Pathname = 232 - Pathname_Element = 233 - Base_Attribute = 234 - Subtype_Attribute = 235 - Element_Attribute = 236 - Left_Type_Attribute = 237 - Right_Type_Attribute = 238 - High_Type_Attribute = 239 - Low_Type_Attribute = 240 - Ascending_Type_Attribute = 241 - Image_Attribute = 242 - Value_Attribute = 243 - Pos_Attribute = 244 - Val_Attribute = 245 - Succ_Attribute = 246 - Pred_Attribute = 247 - Leftof_Attribute = 248 - Rightof_Attribute = 249 - Delayed_Attribute = 250 - Stable_Attribute = 251 - Quiet_Attribute = 252 - Transaction_Attribute = 253 - Event_Attribute = 254 - Active_Attribute = 255 - Last_Event_Attribute = 256 - Last_Active_Attribute = 257 - Last_Value_Attribute = 258 - Driving_Attribute = 259 - Driving_Value_Attribute = 260 - Behavior_Attribute = 261 - Structure_Attribute = 262 - Simple_Name_Attribute = 263 - Instance_Name_Attribute = 264 - Path_Name_Attribute = 265 - Left_Array_Attribute = 266 - Right_Array_Attribute = 267 - High_Array_Attribute = 268 - Low_Array_Attribute = 269 - Length_Array_Attribute = 270 - Ascending_Array_Attribute = 271 - Range_Array_Attribute = 272 - Reverse_Range_Array_Attribute = 273 - Attribute_Name = 274 + Psl_Hierarchical_Name = 33 + Block_Configuration = 34 + Block_Header = 35 + Component_Configuration = 36 + Binding_Indication = 37 + Entity_Class = 38 + Attribute_Value = 39 + Signature = 40 + Aggregate_Info = 41 + Procedure_Call = 42 + Record_Element_Constraint = 43 + Array_Element_Resolution = 44 + Record_Resolution = 45 + Record_Element_Resolution = 46 + Attribute_Specification = 47 + Disconnection_Specification = 48 + Configuration_Specification = 49 + Access_Type_Definition = 50 + Incomplete_Type_Definition = 51 + Interface_Type_Definition = 52 + File_Type_Definition = 53 + Protected_Type_Declaration = 54 + Record_Type_Definition = 55 + Array_Type_Definition = 56 + Array_Subtype_Definition = 57 + Record_Subtype_Definition = 58 + Access_Subtype_Definition = 59 + Physical_Subtype_Definition = 60 + Floating_Subtype_Definition = 61 + Integer_Subtype_Definition = 62 + Enumeration_Subtype_Definition = 63 + Enumeration_Type_Definition = 64 + Integer_Type_Definition = 65 + Floating_Type_Definition = 66 + Physical_Type_Definition = 67 + Range_Expression = 68 + Protected_Type_Body = 69 + Wildcard_Type_Definition = 70 + Subtype_Definition = 71 + Scalar_Nature_Definition = 72 + Overload_List = 73 + Entity_Declaration = 74 + Configuration_Declaration = 75 + Context_Declaration = 76 + Package_Declaration = 77 + Package_Instantiation_Declaration = 78 + Vmode_Declaration = 79 + Vprop_Declaration = 80 + Vunit_Declaration = 81 + Package_Body = 82 + Architecture_Body = 83 + Type_Declaration = 84 + Anonymous_Type_Declaration = 85 + Subtype_Declaration = 86 + Nature_Declaration = 87 + Subnature_Declaration = 88 + Package_Header = 89 + Unit_Declaration = 90 + Library_Declaration = 91 + Component_Declaration = 92 + Attribute_Declaration = 93 + Group_Template_Declaration = 94 + Group_Declaration = 95 + Element_Declaration = 96 + Non_Object_Alias_Declaration = 97 + Psl_Declaration = 98 + Psl_Endpoint_Declaration = 99 + Terminal_Declaration = 100 + Free_Quantity_Declaration = 101 + Across_Quantity_Declaration = 102 + Through_Quantity_Declaration = 103 + Enumeration_Literal = 104 + Function_Declaration = 105 + Procedure_Declaration = 106 + Function_Body = 107 + Procedure_Body = 108 + Object_Alias_Declaration = 109 + File_Declaration = 110 + Guard_Signal_Declaration = 111 + Signal_Declaration = 112 + Variable_Declaration = 113 + Constant_Declaration = 114 + Iterator_Declaration = 115 + Interface_Constant_Declaration = 116 + Interface_Variable_Declaration = 117 + Interface_Signal_Declaration = 118 + Interface_File_Declaration = 119 + Interface_Type_Declaration = 120 + Interface_Package_Declaration = 121 + Interface_Function_Declaration = 122 + Interface_Procedure_Declaration = 123 + Anonymous_Signal_Declaration = 124 + Signal_Attribute_Declaration = 125 + Identity_Operator = 126 + Negation_Operator = 127 + Absolute_Operator = 128 + Not_Operator = 129 + Implicit_Condition_Operator = 130 + Condition_Operator = 131 + Reduction_And_Operator = 132 + Reduction_Or_Operator = 133 + Reduction_Nand_Operator = 134 + Reduction_Nor_Operator = 135 + Reduction_Xor_Operator = 136 + Reduction_Xnor_Operator = 137 + And_Operator = 138 + Or_Operator = 139 + Nand_Operator = 140 + Nor_Operator = 141 + Xor_Operator = 142 + Xnor_Operator = 143 + Equality_Operator = 144 + Inequality_Operator = 145 + Less_Than_Operator = 146 + Less_Than_Or_Equal_Operator = 147 + Greater_Than_Operator = 148 + Greater_Than_Or_Equal_Operator = 149 + Match_Equality_Operator = 150 + Match_Inequality_Operator = 151 + Match_Less_Than_Operator = 152 + Match_Less_Than_Or_Equal_Operator = 153 + Match_Greater_Than_Operator = 154 + Match_Greater_Than_Or_Equal_Operator = 155 + Sll_Operator = 156 + Sla_Operator = 157 + Srl_Operator = 158 + Sra_Operator = 159 + Rol_Operator = 160 + Ror_Operator = 161 + Addition_Operator = 162 + Substraction_Operator = 163 + Concatenation_Operator = 164 + Multiplication_Operator = 165 + Division_Operator = 166 + Modulus_Operator = 167 + Remainder_Operator = 168 + Exponentiation_Operator = 169 + Function_Call = 170 + Aggregate = 171 + Parenthesis_Expression = 172 + Qualified_Expression = 173 + Type_Conversion = 174 + Allocator_By_Expression = 175 + Allocator_By_Subtype = 176 + Selected_Element = 177 + Dereference = 178 + Implicit_Dereference = 179 + Slice_Name = 180 + Indexed_Name = 181 + Psl_Expression = 182 + Sensitized_Process_Statement = 183 + Process_Statement = 184 + Concurrent_Simple_Signal_Assignment = 185 + Concurrent_Conditional_Signal_Assignment = 186 + Concurrent_Selected_Signal_Assignment = 187 + Concurrent_Assertion_Statement = 188 + Concurrent_Procedure_Call_Statement = 189 + Psl_Assert_Directive = 190 + Psl_Assume_Directive = 191 + Psl_Cover_Directive = 192 + Psl_Restrict_Directive = 193 + Block_Statement = 194 + If_Generate_Statement = 195 + Case_Generate_Statement = 196 + For_Generate_Statement = 197 + Component_Instantiation_Statement = 198 + Psl_Default_Clock = 199 + Simple_Simultaneous_Statement = 200 + Generate_Statement_Body = 201 + If_Generate_Else_Clause = 202 + Simple_Signal_Assignment_Statement = 203 + Conditional_Signal_Assignment_Statement = 204 + Selected_Waveform_Assignment_Statement = 205 + Null_Statement = 206 + Assertion_Statement = 207 + Report_Statement = 208 + Wait_Statement = 209 + Variable_Assignment_Statement = 210 + Conditional_Variable_Assignment_Statement = 211 + Return_Statement = 212 + For_Loop_Statement = 213 + While_Loop_Statement = 214 + Next_Statement = 215 + Exit_Statement = 216 + Case_Statement = 217 + Procedure_Call_Statement = 218 + If_Statement = 219 + Elsif = 220 + Character_Literal = 221 + Simple_Name = 222 + Selected_Name = 223 + Operator_Symbol = 224 + Reference_Name = 225 + External_Constant_Name = 226 + External_Signal_Name = 227 + External_Variable_Name = 228 + Selected_By_All_Name = 229 + Parenthesis_Name = 230 + Package_Pathname = 231 + Absolute_Pathname = 232 + Relative_Pathname = 233 + Pathname_Element = 234 + Base_Attribute = 235 + Subtype_Attribute = 236 + Element_Attribute = 237 + Left_Type_Attribute = 238 + Right_Type_Attribute = 239 + High_Type_Attribute = 240 + Low_Type_Attribute = 241 + Ascending_Type_Attribute = 242 + Image_Attribute = 243 + Value_Attribute = 244 + Pos_Attribute = 245 + Val_Attribute = 246 + Succ_Attribute = 247 + Pred_Attribute = 248 + Leftof_Attribute = 249 + Rightof_Attribute = 250 + Delayed_Attribute = 251 + Stable_Attribute = 252 + Quiet_Attribute = 253 + Transaction_Attribute = 254 + Event_Attribute = 255 + Active_Attribute = 256 + Last_Event_Attribute = 257 + Last_Active_Attribute = 258 + Last_Value_Attribute = 259 + Driving_Attribute = 260 + Driving_Value_Attribute = 261 + Behavior_Attribute = 262 + Structure_Attribute = 263 + Simple_Name_Attribute = 264 + Instance_Name_Attribute = 265 + Path_Name_Attribute = 266 + Left_Array_Attribute = 267 + Right_Array_Attribute = 268 + High_Array_Attribute = 269 + Low_Array_Attribute = 270 + Length_Array_Attribute = 271 + Ascending_Array_Attribute = 272 + Range_Array_Attribute = 273 + Reverse_Range_Array_Attribute = 274 + Attribute_Name = 275 class Iir_Kinds: -- cgit v1.2.3