aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/libghdl/vhdl/nodes.py
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2021-08-06 06:58:39 +0200
committerTristan Gingold <tgingold@free.fr>2021-08-06 09:16:19 +0200
commit3b80a2e5a9545422e9808f6f3b3f9c4a2421433b (patch)
tree22ea684d58cd77e94b780e8e5c9499c3c67fbac1 /pyGHDL/libghdl/vhdl/nodes.py
parentece6e78f537b4f16b020d2eb258038d00a794559 (diff)
downloadghdl-3b80a2e5a9545422e9808f6f3b3f9c4a2421433b.tar.gz
ghdl-3b80a2e5a9545422e9808f6f3b3f9c4a2421433b.tar.bz2
ghdl-3b80a2e5a9545422e9808f6f3b3f9c4a2421433b.zip
vhdl: introduce iir_kind_association_element_by_name
Diffstat (limited to 'pyGHDL/libghdl/vhdl/nodes.py')
-rw-r--r--pyGHDL/libghdl/vhdl/nodes.py602
1 files changed, 305 insertions, 297 deletions
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,