From 3b80a2e5a9545422e9808f6f3b3f9c4a2421433b Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Fri, 6 Aug 2021 06:58:39 +0200 Subject: vhdl: introduce iir_kind_association_element_by_name --- pyGHDL/libghdl/vhdl/nodes.py | 602 ++++++++++++++++++++++--------------------- 1 file changed, 305 insertions(+), 297 deletions(-) (limited to 'pyGHDL/libghdl/vhdl/nodes.py') diff --git a/pyGHDL/libghdl/vhdl/nodes.py b/pyGHDL/libghdl/vhdl/nodes.py index 9bffe757c..173cbf3d9 100644 --- a/pyGHDL/libghdl/vhdl/nodes.py +++ b/pyGHDL/libghdl/vhdl/nodes.py @@ -65,303 +65,304 @@ class Iir_Kind(IntEnum): Conditional_Waveform = 18 Conditional_Expression = 19 Association_Element_By_Expression = 20 - Association_Element_By_Individual = 21 - Association_Element_Open = 22 - Association_Element_Package = 23 - Association_Element_Type = 24 - Association_Element_Subprogram = 25 - Association_Element_Terminal = 26 - Choice_By_Range = 27 - Choice_By_Expression = 28 - Choice_By_Others = 29 - Choice_By_None = 30 - Choice_By_Name = 31 - Entity_Aspect_Entity = 32 - Entity_Aspect_Configuration = 33 - Entity_Aspect_Open = 34 - Psl_Hierarchical_Name = 35 - Block_Configuration = 36 - Block_Header = 37 - Component_Configuration = 38 - Binding_Indication = 39 - Entity_Class = 40 - Attribute_Value = 41 - Signature = 42 - Aggregate_Info = 43 - Procedure_Call = 44 - Record_Element_Constraint = 45 - Array_Element_Resolution = 46 - Record_Resolution = 47 - Record_Element_Resolution = 48 - Break_Element = 49 - Attribute_Specification = 50 - Disconnection_Specification = 51 - Step_Limit_Specification = 52 - Configuration_Specification = 53 - Access_Type_Definition = 54 - Incomplete_Type_Definition = 55 - Interface_Type_Definition = 56 - File_Type_Definition = 57 - Protected_Type_Declaration = 58 - Record_Type_Definition = 59 - Array_Type_Definition = 60 - Array_Subtype_Definition = 61 - Record_Subtype_Definition = 62 - Access_Subtype_Definition = 63 - Physical_Subtype_Definition = 64 - Floating_Subtype_Definition = 65 - Integer_Subtype_Definition = 66 - Enumeration_Subtype_Definition = 67 - Enumeration_Type_Definition = 68 - Integer_Type_Definition = 69 - Floating_Type_Definition = 70 - Physical_Type_Definition = 71 - Range_Expression = 72 - Protected_Type_Body = 73 - Wildcard_Type_Definition = 74 - Subtype_Definition = 75 - Scalar_Nature_Definition = 76 - Record_Nature_Definition = 77 - Array_Nature_Definition = 78 - Array_Subnature_Definition = 79 - Overload_List = 80 - Entity_Declaration = 81 - Configuration_Declaration = 82 - Context_Declaration = 83 - Package_Declaration = 84 - Package_Instantiation_Declaration = 85 - Vmode_Declaration = 86 - Vprop_Declaration = 87 - Vunit_Declaration = 88 - Package_Body = 89 - Architecture_Body = 90 - Type_Declaration = 91 - Anonymous_Type_Declaration = 92 - Subtype_Declaration = 93 - Nature_Declaration = 94 - Subnature_Declaration = 95 - Package_Header = 96 - Unit_Declaration = 97 - Library_Declaration = 98 - Component_Declaration = 99 - Attribute_Declaration = 100 - Group_Template_Declaration = 101 - Group_Declaration = 102 - Element_Declaration = 103 - Nature_Element_Declaration = 104 - Non_Object_Alias_Declaration = 105 - Psl_Declaration = 106 - Psl_Endpoint_Declaration = 107 - Enumeration_Literal = 108 - Function_Declaration = 109 - Procedure_Declaration = 110 - Function_Body = 111 - Procedure_Body = 112 - Function_Instantiation_Declaration = 113 - Procedure_Instantiation_Declaration = 114 - Terminal_Declaration = 115 - Object_Alias_Declaration = 116 - Free_Quantity_Declaration = 117 - Spectrum_Quantity_Declaration = 118 - Noise_Quantity_Declaration = 119 - Across_Quantity_Declaration = 120 - Through_Quantity_Declaration = 121 - File_Declaration = 122 - Guard_Signal_Declaration = 123 - Signal_Declaration = 124 - Variable_Declaration = 125 - Constant_Declaration = 126 - Iterator_Declaration = 127 - Interface_Constant_Declaration = 128 - Interface_Variable_Declaration = 129 - Interface_Signal_Declaration = 130 - Interface_File_Declaration = 131 - Interface_Quantity_Declaration = 132 - Interface_Terminal_Declaration = 133 - Interface_Type_Declaration = 134 - Interface_Package_Declaration = 135 - Interface_Function_Declaration = 136 - Interface_Procedure_Declaration = 137 - Anonymous_Signal_Declaration = 138 - Signal_Attribute_Declaration = 139 - Identity_Operator = 140 - Negation_Operator = 141 - Absolute_Operator = 142 - Not_Operator = 143 - Implicit_Condition_Operator = 144 - Condition_Operator = 145 - Reduction_And_Operator = 146 - Reduction_Or_Operator = 147 - Reduction_Nand_Operator = 148 - Reduction_Nor_Operator = 149 - Reduction_Xor_Operator = 150 - Reduction_Xnor_Operator = 151 - And_Operator = 152 - Or_Operator = 153 - Nand_Operator = 154 - Nor_Operator = 155 - Xor_Operator = 156 - Xnor_Operator = 157 - Equality_Operator = 158 - Inequality_Operator = 159 - Less_Than_Operator = 160 - Less_Than_Or_Equal_Operator = 161 - Greater_Than_Operator = 162 - Greater_Than_Or_Equal_Operator = 163 - Match_Equality_Operator = 164 - Match_Inequality_Operator = 165 - Match_Less_Than_Operator = 166 - Match_Less_Than_Or_Equal_Operator = 167 - Match_Greater_Than_Operator = 168 - Match_Greater_Than_Or_Equal_Operator = 169 - Sll_Operator = 170 - Sla_Operator = 171 - Srl_Operator = 172 - Sra_Operator = 173 - Rol_Operator = 174 - Ror_Operator = 175 - Addition_Operator = 176 - Substraction_Operator = 177 - Concatenation_Operator = 178 - Multiplication_Operator = 179 - Division_Operator = 180 - Modulus_Operator = 181 - Remainder_Operator = 182 - Exponentiation_Operator = 183 - Function_Call = 184 - Aggregate = 185 - Parenthesis_Expression = 186 - Qualified_Expression = 187 - Type_Conversion = 188 - Allocator_By_Expression = 189 - Allocator_By_Subtype = 190 - Selected_Element = 191 - Dereference = 192 - Implicit_Dereference = 193 - Slice_Name = 194 - Indexed_Name = 195 - Psl_Prev = 196 - Psl_Stable = 197 - Psl_Rose = 198 - Psl_Fell = 199 - Psl_Onehot = 200 - Psl_Onehot0 = 201 - Psl_Expression = 202 - Sensitized_Process_Statement = 203 - Process_Statement = 204 - Concurrent_Simple_Signal_Assignment = 205 - Concurrent_Conditional_Signal_Assignment = 206 - Concurrent_Selected_Signal_Assignment = 207 - Concurrent_Assertion_Statement = 208 - Concurrent_Procedure_Call_Statement = 209 - Concurrent_Break_Statement = 210 - Psl_Assert_Directive = 211 - Psl_Assume_Directive = 212 - Psl_Cover_Directive = 213 - Psl_Restrict_Directive = 214 - Block_Statement = 215 - If_Generate_Statement = 216 - Case_Generate_Statement = 217 - For_Generate_Statement = 218 - Component_Instantiation_Statement = 219 - Psl_Default_Clock = 220 - Generate_Statement_Body = 221 - If_Generate_Else_Clause = 222 - Simple_Simultaneous_Statement = 223 - Simultaneous_Null_Statement = 224 - Simultaneous_Procedural_Statement = 225 - Simultaneous_Case_Statement = 226 - Simultaneous_If_Statement = 227 - Simultaneous_Elsif = 228 - Simple_Signal_Assignment_Statement = 229 - Conditional_Signal_Assignment_Statement = 230 - Selected_Waveform_Assignment_Statement = 231 - Signal_Force_Assignment_Statement = 232 - Signal_Release_Assignment_Statement = 233 - Null_Statement = 234 - Assertion_Statement = 235 - Report_Statement = 236 - Wait_Statement = 237 - Variable_Assignment_Statement = 238 - Conditional_Variable_Assignment_Statement = 239 - Return_Statement = 240 - For_Loop_Statement = 241 - While_Loop_Statement = 242 - Next_Statement = 243 - Exit_Statement = 244 - Case_Statement = 245 - Procedure_Call_Statement = 246 - Break_Statement = 247 - If_Statement = 248 - Elsif = 249 - Character_Literal = 250 - Simple_Name = 251 - Selected_Name = 252 - Operator_Symbol = 253 - Reference_Name = 254 - External_Constant_Name = 255 - External_Signal_Name = 256 - External_Variable_Name = 257 - Selected_By_All_Name = 258 - Parenthesis_Name = 259 - Package_Pathname = 260 - Absolute_Pathname = 261 - Relative_Pathname = 262 - Pathname_Element = 263 - Base_Attribute = 264 - Subtype_Attribute = 265 - Element_Attribute = 266 - Across_Attribute = 267 - Through_Attribute = 268 - Nature_Reference_Attribute = 269 - Left_Type_Attribute = 270 - Right_Type_Attribute = 271 - High_Type_Attribute = 272 - Low_Type_Attribute = 273 - Ascending_Type_Attribute = 274 - Image_Attribute = 275 - Value_Attribute = 276 - Pos_Attribute = 277 - Val_Attribute = 278 - Succ_Attribute = 279 - Pred_Attribute = 280 - Leftof_Attribute = 281 - Rightof_Attribute = 282 - Signal_Slew_Attribute = 283 - Quantity_Slew_Attribute = 284 - Ramp_Attribute = 285 - Zoh_Attribute = 286 - Ltf_Attribute = 287 - Ztf_Attribute = 288 - Dot_Attribute = 289 - Integ_Attribute = 290 - Above_Attribute = 291 - Quantity_Delayed_Attribute = 292 - Delayed_Attribute = 293 - Stable_Attribute = 294 - Quiet_Attribute = 295 - Transaction_Attribute = 296 - Event_Attribute = 297 - Active_Attribute = 298 - Last_Event_Attribute = 299 - Last_Active_Attribute = 300 - Last_Value_Attribute = 301 - Driving_Attribute = 302 - Driving_Value_Attribute = 303 - Behavior_Attribute = 304 - Structure_Attribute = 305 - Simple_Name_Attribute = 306 - Instance_Name_Attribute = 307 - Path_Name_Attribute = 308 - Left_Array_Attribute = 309 - Right_Array_Attribute = 310 - High_Array_Attribute = 311 - Low_Array_Attribute = 312 - Length_Array_Attribute = 313 - Ascending_Array_Attribute = 314 - Range_Array_Attribute = 315 - Reverse_Range_Array_Attribute = 316 - Attribute_Name = 317 + Association_Element_By_Name = 21 + Association_Element_By_Individual = 22 + Association_Element_Open = 23 + Association_Element_Package = 24 + Association_Element_Type = 25 + Association_Element_Subprogram = 26 + Association_Element_Terminal = 27 + Choice_By_Range = 28 + Choice_By_Expression = 29 + Choice_By_Others = 30 + Choice_By_None = 31 + Choice_By_Name = 32 + Entity_Aspect_Entity = 33 + Entity_Aspect_Configuration = 34 + Entity_Aspect_Open = 35 + Psl_Hierarchical_Name = 36 + Block_Configuration = 37 + Block_Header = 38 + Component_Configuration = 39 + Binding_Indication = 40 + Entity_Class = 41 + Attribute_Value = 42 + Signature = 43 + Aggregate_Info = 44 + Procedure_Call = 45 + Record_Element_Constraint = 46 + Array_Element_Resolution = 47 + Record_Resolution = 48 + Record_Element_Resolution = 49 + Break_Element = 50 + Attribute_Specification = 51 + Disconnection_Specification = 52 + Step_Limit_Specification = 53 + Configuration_Specification = 54 + Access_Type_Definition = 55 + Incomplete_Type_Definition = 56 + Interface_Type_Definition = 57 + File_Type_Definition = 58 + Protected_Type_Declaration = 59 + Record_Type_Definition = 60 + Array_Type_Definition = 61 + Array_Subtype_Definition = 62 + Record_Subtype_Definition = 63 + Access_Subtype_Definition = 64 + Physical_Subtype_Definition = 65 + Floating_Subtype_Definition = 66 + Integer_Subtype_Definition = 67 + Enumeration_Subtype_Definition = 68 + Enumeration_Type_Definition = 69 + Integer_Type_Definition = 70 + Floating_Type_Definition = 71 + Physical_Type_Definition = 72 + Range_Expression = 73 + Protected_Type_Body = 74 + Wildcard_Type_Definition = 75 + Subtype_Definition = 76 + Scalar_Nature_Definition = 77 + Record_Nature_Definition = 78 + Array_Nature_Definition = 79 + Array_Subnature_Definition = 80 + Overload_List = 81 + Entity_Declaration = 82 + Configuration_Declaration = 83 + Context_Declaration = 84 + Package_Declaration = 85 + Package_Instantiation_Declaration = 86 + Vmode_Declaration = 87 + Vprop_Declaration = 88 + Vunit_Declaration = 89 + Package_Body = 90 + Architecture_Body = 91 + Type_Declaration = 92 + Anonymous_Type_Declaration = 93 + Subtype_Declaration = 94 + Nature_Declaration = 95 + Subnature_Declaration = 96 + Package_Header = 97 + Unit_Declaration = 98 + Library_Declaration = 99 + Component_Declaration = 100 + Attribute_Declaration = 101 + Group_Template_Declaration = 102 + Group_Declaration = 103 + Element_Declaration = 104 + Nature_Element_Declaration = 105 + Non_Object_Alias_Declaration = 106 + Psl_Declaration = 107 + Psl_Endpoint_Declaration = 108 + Enumeration_Literal = 109 + Function_Declaration = 110 + Procedure_Declaration = 111 + Function_Body = 112 + Procedure_Body = 113 + Function_Instantiation_Declaration = 114 + Procedure_Instantiation_Declaration = 115 + Terminal_Declaration = 116 + Object_Alias_Declaration = 117 + Free_Quantity_Declaration = 118 + Spectrum_Quantity_Declaration = 119 + Noise_Quantity_Declaration = 120 + Across_Quantity_Declaration = 121 + Through_Quantity_Declaration = 122 + File_Declaration = 123 + Guard_Signal_Declaration = 124 + Signal_Declaration = 125 + Variable_Declaration = 126 + Constant_Declaration = 127 + Iterator_Declaration = 128 + Interface_Constant_Declaration = 129 + Interface_Variable_Declaration = 130 + Interface_Signal_Declaration = 131 + Interface_File_Declaration = 132 + Interface_Quantity_Declaration = 133 + Interface_Terminal_Declaration = 134 + Interface_Type_Declaration = 135 + Interface_Package_Declaration = 136 + Interface_Function_Declaration = 137 + Interface_Procedure_Declaration = 138 + Anonymous_Signal_Declaration = 139 + Signal_Attribute_Declaration = 140 + Identity_Operator = 141 + Negation_Operator = 142 + Absolute_Operator = 143 + Not_Operator = 144 + Implicit_Condition_Operator = 145 + Condition_Operator = 146 + Reduction_And_Operator = 147 + Reduction_Or_Operator = 148 + Reduction_Nand_Operator = 149 + Reduction_Nor_Operator = 150 + Reduction_Xor_Operator = 151 + Reduction_Xnor_Operator = 152 + And_Operator = 153 + Or_Operator = 154 + Nand_Operator = 155 + Nor_Operator = 156 + Xor_Operator = 157 + Xnor_Operator = 158 + Equality_Operator = 159 + Inequality_Operator = 160 + Less_Than_Operator = 161 + Less_Than_Or_Equal_Operator = 162 + Greater_Than_Operator = 163 + Greater_Than_Or_Equal_Operator = 164 + Match_Equality_Operator = 165 + Match_Inequality_Operator = 166 + Match_Less_Than_Operator = 167 + Match_Less_Than_Or_Equal_Operator = 168 + Match_Greater_Than_Operator = 169 + Match_Greater_Than_Or_Equal_Operator = 170 + Sll_Operator = 171 + Sla_Operator = 172 + Srl_Operator = 173 + Sra_Operator = 174 + Rol_Operator = 175 + Ror_Operator = 176 + Addition_Operator = 177 + Substraction_Operator = 178 + Concatenation_Operator = 179 + Multiplication_Operator = 180 + Division_Operator = 181 + Modulus_Operator = 182 + Remainder_Operator = 183 + Exponentiation_Operator = 184 + Function_Call = 185 + Aggregate = 186 + Parenthesis_Expression = 187 + Qualified_Expression = 188 + Type_Conversion = 189 + Allocator_By_Expression = 190 + Allocator_By_Subtype = 191 + Selected_Element = 192 + Dereference = 193 + Implicit_Dereference = 194 + Slice_Name = 195 + Indexed_Name = 196 + Psl_Prev = 197 + Psl_Stable = 198 + Psl_Rose = 199 + Psl_Fell = 200 + Psl_Onehot = 201 + Psl_Onehot0 = 202 + Psl_Expression = 203 + Sensitized_Process_Statement = 204 + Process_Statement = 205 + Concurrent_Simple_Signal_Assignment = 206 + Concurrent_Conditional_Signal_Assignment = 207 + Concurrent_Selected_Signal_Assignment = 208 + Concurrent_Assertion_Statement = 209 + Concurrent_Procedure_Call_Statement = 210 + Concurrent_Break_Statement = 211 + Psl_Assert_Directive = 212 + Psl_Assume_Directive = 213 + Psl_Cover_Directive = 214 + Psl_Restrict_Directive = 215 + Block_Statement = 216 + If_Generate_Statement = 217 + Case_Generate_Statement = 218 + For_Generate_Statement = 219 + Component_Instantiation_Statement = 220 + Psl_Default_Clock = 221 + Generate_Statement_Body = 222 + If_Generate_Else_Clause = 223 + Simple_Simultaneous_Statement = 224 + Simultaneous_Null_Statement = 225 + Simultaneous_Procedural_Statement = 226 + Simultaneous_Case_Statement = 227 + Simultaneous_If_Statement = 228 + Simultaneous_Elsif = 229 + Simple_Signal_Assignment_Statement = 230 + Conditional_Signal_Assignment_Statement = 231 + Selected_Waveform_Assignment_Statement = 232 + Signal_Force_Assignment_Statement = 233 + Signal_Release_Assignment_Statement = 234 + Null_Statement = 235 + Assertion_Statement = 236 + Report_Statement = 237 + Wait_Statement = 238 + Variable_Assignment_Statement = 239 + Conditional_Variable_Assignment_Statement = 240 + Return_Statement = 241 + For_Loop_Statement = 242 + While_Loop_Statement = 243 + Next_Statement = 244 + Exit_Statement = 245 + Case_Statement = 246 + Procedure_Call_Statement = 247 + Break_Statement = 248 + If_Statement = 249 + Elsif = 250 + Character_Literal = 251 + Simple_Name = 252 + Selected_Name = 253 + Operator_Symbol = 254 + Reference_Name = 255 + External_Constant_Name = 256 + External_Signal_Name = 257 + External_Variable_Name = 258 + Selected_By_All_Name = 259 + Parenthesis_Name = 260 + Package_Pathname = 261 + Absolute_Pathname = 262 + Relative_Pathname = 263 + Pathname_Element = 264 + Base_Attribute = 265 + Subtype_Attribute = 266 + Element_Attribute = 267 + Across_Attribute = 268 + Through_Attribute = 269 + Nature_Reference_Attribute = 270 + Left_Type_Attribute = 271 + Right_Type_Attribute = 272 + High_Type_Attribute = 273 + Low_Type_Attribute = 274 + Ascending_Type_Attribute = 275 + Image_Attribute = 276 + Value_Attribute = 277 + Pos_Attribute = 278 + Val_Attribute = 279 + Succ_Attribute = 280 + Pred_Attribute = 281 + Leftof_Attribute = 282 + Rightof_Attribute = 283 + Signal_Slew_Attribute = 284 + Quantity_Slew_Attribute = 285 + Ramp_Attribute = 286 + Zoh_Attribute = 287 + Ltf_Attribute = 288 + Ztf_Attribute = 289 + Dot_Attribute = 290 + Integ_Attribute = 291 + Above_Attribute = 292 + Quantity_Delayed_Attribute = 293 + Delayed_Attribute = 294 + Stable_Attribute = 295 + Quiet_Attribute = 296 + Transaction_Attribute = 297 + Event_Attribute = 298 + Active_Attribute = 299 + Last_Event_Attribute = 300 + Last_Active_Attribute = 301 + Last_Value_Attribute = 302 + Driving_Attribute = 303 + Driving_Value_Attribute = 304 + Behavior_Attribute = 305 + Structure_Attribute = 306 + Simple_Name_Attribute = 307 + Instance_Name_Attribute = 308 + Path_Name_Attribute = 309 + Left_Array_Attribute = 310 + Right_Array_Attribute = 311 + High_Array_Attribute = 312 + Low_Array_Attribute = 313 + Length_Array_Attribute = 314 + Ascending_Array_Attribute = 315 + Range_Array_Attribute = 316 + Reverse_Range_Array_Attribute = 317 + Attribute_Name = 318 @export @@ -704,12 +705,19 @@ class Iir_Kinds: Association_Element_Parameters = [ Iir_Kind.Association_Element_By_Expression, + Iir_Kind.Association_Element_By_Name, Iir_Kind.Association_Element_By_Individual, Iir_Kind.Association_Element_Open, ] + Association_Element_By_Actual = [ + Iir_Kind.Association_Element_By_Expression, + Iir_Kind.Association_Element_By_Name, + ] + Association_Element = [ Iir_Kind.Association_Element_By_Expression, + Iir_Kind.Association_Element_By_Name, Iir_Kind.Association_Element_By_Individual, Iir_Kind.Association_Element_Open, Iir_Kind.Association_Element_Package, -- cgit v1.2.3