aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/libghdl/vhdl
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-03-04 07:58:28 +0100
committerTristan Gingold <tgingold@free.fr>2022-03-04 07:58:28 +0100
commit7356d30f26ec213b8e342e2b17a67443b0452801 (patch)
tree2c37e80dfa48bc224b9ce486dc98f958b464301e /pyGHDL/libghdl/vhdl
parentcaad9e78229b7c3cffb0e4f401a2a20179783b91 (diff)
downloadghdl-7356d30f26ec213b8e342e2b17a67443b0452801.tar.gz
ghdl-7356d30f26ec213b8e342e2b17a67443b0452801.tar.bz2
ghdl-7356d30f26ec213b8e342e2b17a67443b0452801.zip
vhdl: parse return identifier (v19)
Diffstat (limited to 'pyGHDL/libghdl/vhdl')
-rw-r--r--pyGHDL/libghdl/vhdl/nodes.py13
-rw-r--r--pyGHDL/libghdl/vhdl/nodes_meta.py463
2 files changed, 248 insertions, 228 deletions
diff --git a/pyGHDL/libghdl/vhdl/nodes.py b/pyGHDL/libghdl/vhdl/nodes.py
index 45b6d1ee6..eba36f86c 100644
--- a/pyGHDL/libghdl/vhdl/nodes.py
+++ b/pyGHDL/libghdl/vhdl/nodes.py
@@ -3712,6 +3712,19 @@ def Set_Label(obj: Iir, value: NameId) -> None:
@export
+@BindToLibGHDL("vhdl__nodes__get_return_identifier")
+def Get_Return_Identifier(obj: Iir) -> Iir:
+ """"""
+ return 0
+
+
+@export
+@BindToLibGHDL("vhdl__nodes__set_return_identifier")
+def Set_Return_Identifier(obj: Iir, value: Iir) -> None:
+ """"""
+
+
+@export
@BindToLibGHDL("vhdl__nodes__get_visible_flag")
def Get_Visible_Flag(obj: Iir) -> Boolean:
""""""
diff --git a/pyGHDL/libghdl/vhdl/nodes_meta.py b/pyGHDL/libghdl/vhdl/nodes_meta.py
index 4602d0ac2..3a5f7e2b8 100644
--- a/pyGHDL/libghdl/vhdl/nodes_meta.py
+++ b/pyGHDL/libghdl/vhdl/nodes_meta.py
@@ -261,234 +261,235 @@ class fields(IntEnum):
Primary_Unit = 141
Identifier = 142
Label = 143
- Visible_Flag = 144
- Range_Constraint = 145
- Direction = 146
- Left_Limit = 147
- Right_Limit = 148
- Left_Limit_Expr = 149
- Right_Limit_Expr = 150
- Parent_Type = 151
- Simple_Nature = 152
- Base_Nature = 153
- Resolution_Indication = 154
- Record_Element_Resolution_Chain = 155
- Tolerance = 156
- Plus_Terminal_Name = 157
- Minus_Terminal_Name = 158
- Plus_Terminal = 159
- Minus_Terminal = 160
- Magnitude_Expression = 161
- Phase_Expression = 162
- Power_Expression = 163
- Simultaneous_Left = 164
- Simultaneous_Right = 165
- Text_File_Flag = 166
- Only_Characters_Flag = 167
- Is_Character_Type = 168
- Nature_Staticness = 169
- Type_Staticness = 170
- Constraint_State = 171
- Index_Subtype_List = 172
- Index_Subtype_Definition_List = 173
- Element_Subtype_Indication = 174
- Element_Subtype = 175
- Element_Subnature_Indication = 176
- Element_Subnature = 177
- Index_Constraint_List = 178
- Array_Element_Constraint = 179
- Has_Array_Constraint_Flag = 180
- Has_Element_Constraint_Flag = 181
- Elements_Declaration_List = 182
- Owned_Elements_Chain = 183
- Designated_Type = 184
- Designated_Subtype_Indication = 185
- Index_List = 186
- Reference = 187
- Nature_Declarator = 188
- Across_Type_Mark = 189
- Through_Type_Mark = 190
- Across_Type_Definition = 191
- Through_Type_Definition = 192
- Across_Type = 193
- Through_Type = 194
- Target = 195
- Waveform_Chain = 196
- Guard = 197
- Delay_Mechanism = 198
- Reject_Time_Expression = 199
- Force_Mode = 200
- Has_Force_Mode = 201
- Sensitivity_List = 202
- Process_Origin = 203
- Package_Origin = 204
- Condition_Clause = 205
- Break_Element = 206
- Selector_Quantity = 207
- Break_Quantity = 208
- Timeout_Clause = 209
- Postponed_Flag = 210
- Callees_List = 211
- Passive_Flag = 212
- Resolution_Function_Flag = 213
- Wait_State = 214
- All_Sensitized_State = 215
- Seen_Flag = 216
- Pure_Flag = 217
- Foreign_Flag = 218
- Resolved_Flag = 219
- Signal_Type_Flag = 220
- Has_Signal_Flag = 221
- Purity_State = 222
- Elab_Flag = 223
- Vendor_Library_Flag = 224
- Configuration_Mark_Flag = 225
- Configuration_Done_Flag = 226
- Index_Constraint_Flag = 227
- Hide_Implicit_Flag = 228
- Assertion_Condition = 229
- Report_Expression = 230
- Severity_Expression = 231
- Instantiated_Unit = 232
- Generic_Map_Aspect_Chain = 233
- Port_Map_Aspect_Chain = 234
- Configuration_Name = 235
- Component_Configuration = 236
- Configuration_Specification = 237
- Default_Binding_Indication = 238
- Default_Configuration_Declaration = 239
- Expression = 240
- Conditional_Expression_Chain = 241
- Allocator_Designated_Type = 242
- Selected_Waveform_Chain = 243
- Conditional_Waveform_Chain = 244
- Guard_Expression = 245
- Guard_Decl = 246
- Guard_Sensitivity_List = 247
- Signal_Attribute_Chain = 248
- Block_Block_Configuration = 249
- Package_Header = 250
- Block_Header = 251
- Uninstantiated_Package_Name = 252
- Uninstantiated_Package_Decl = 253
- Instance_Source_File = 254
- Generate_Block_Configuration = 255
- Generate_Statement_Body = 256
- Alternative_Label = 257
- Generate_Else_Clause = 258
- Condition = 259
- Else_Clause = 260
- Parameter_Specification = 261
- Parent = 262
- Loop_Label = 263
- Exit_Flag = 264
- Next_Flag = 265
- Component_Name = 266
- Instantiation_List = 267
- Entity_Aspect = 268
- Default_Entity_Aspect = 269
- Binding_Indication = 270
- Named_Entity = 271
- Referenced_Name = 272
- Expr_Staticness = 273
- Scalar_Size = 274
- Error_Origin = 275
- Operand = 276
- Left = 277
- Right = 278
- Unit_Name = 279
- Name = 280
- Group_Template_Name = 281
- Name_Staticness = 282
- Prefix = 283
- Signature_Prefix = 284
- External_Pathname = 285
- Pathname_Suffix = 286
- Pathname_Expression = 287
- In_Formal_Flag = 288
- Slice_Subtype = 289
- Suffix = 290
- Index_Subtype = 291
- Parameter = 292
- Parameter_2 = 293
- Parameter_3 = 294
- Parameter_4 = 295
- Attr_Chain = 296
- Signal_Attribute_Declaration = 297
- Actual_Type = 298
- Actual_Type_Definition = 299
- Association_Chain = 300
- Individual_Association_Chain = 301
- Subprogram_Association_Chain = 302
- Aggregate_Info = 303
- Sub_Aggregate_Info = 304
- Aggr_Dynamic_Flag = 305
- Aggr_Min_Length = 306
- Aggr_Low_Limit = 307
- Aggr_High_Limit = 308
- Aggr_Others_Flag = 309
- Aggr_Named_Flag = 310
- Aggregate_Expand_Flag = 311
- Association_Choices_Chain = 312
- Case_Statement_Alternative_Chain = 313
- Matching_Flag = 314
- Choice_Staticness = 315
- Procedure_Call = 316
- Implementation = 317
- Parameter_Association_Chain = 318
- Method_Object = 319
- Subtype_Type_Mark = 320
- Subnature_Nature_Mark = 321
- Type_Conversion_Subtype = 322
- Type_Mark = 323
- File_Type_Mark = 324
- Return_Type_Mark = 325
- Has_Disconnect_Flag = 326
- Has_Active_Flag = 327
- Is_Within_Flag = 328
- Type_Marks_List = 329
- Implicit_Alias_Flag = 330
- Alias_Signature = 331
- Attribute_Signature = 332
- Overload_List = 333
- Simple_Name_Identifier = 334
- Simple_Name_Subtype = 335
- Protected_Type_Body = 336
- Protected_Type_Declaration = 337
- Use_Flag = 338
- End_Has_Reserved_Id = 339
- End_Has_Identifier = 340
- End_Has_Postponed = 341
- Has_Label = 342
- Has_Begin = 343
- Has_End = 344
- Has_Is = 345
- Has_Pure = 346
- Has_Body = 347
- Has_Parameter = 348
- Has_Component = 349
- Has_Identifier_List = 350
- Has_Mode = 351
- Has_Class = 352
- Has_Delay_Mechanism = 353
- Suspend_Flag = 354
- Is_Ref = 355
- Is_Forward_Ref = 356
- Psl_Property = 357
- Psl_Sequence = 358
- Psl_Declaration = 359
- Psl_Expression = 360
- Psl_Boolean = 361
- PSL_Clock = 362
- PSL_NFA = 363
- PSL_Nbr_States = 364
- PSL_Clock_Sensitivity = 365
- PSL_EOS_Flag = 366
- PSL_Abort_Flag = 367
- Count_Expression = 368
- Clock_Expression = 369
- Default_Clock = 370
- Foreign_Node = 371
+ Return_Identifier = 144
+ Visible_Flag = 145
+ Range_Constraint = 146
+ Direction = 147
+ Left_Limit = 148
+ Right_Limit = 149
+ Left_Limit_Expr = 150
+ Right_Limit_Expr = 151
+ Parent_Type = 152
+ Simple_Nature = 153
+ Base_Nature = 154
+ Resolution_Indication = 155
+ Record_Element_Resolution_Chain = 156
+ Tolerance = 157
+ Plus_Terminal_Name = 158
+ Minus_Terminal_Name = 159
+ Plus_Terminal = 160
+ Minus_Terminal = 161
+ Magnitude_Expression = 162
+ Phase_Expression = 163
+ Power_Expression = 164
+ Simultaneous_Left = 165
+ Simultaneous_Right = 166
+ Text_File_Flag = 167
+ Only_Characters_Flag = 168
+ Is_Character_Type = 169
+ Nature_Staticness = 170
+ Type_Staticness = 171
+ Constraint_State = 172
+ Index_Subtype_List = 173
+ Index_Subtype_Definition_List = 174
+ Element_Subtype_Indication = 175
+ Element_Subtype = 176
+ Element_Subnature_Indication = 177
+ Element_Subnature = 178
+ Index_Constraint_List = 179
+ Array_Element_Constraint = 180
+ Has_Array_Constraint_Flag = 181
+ Has_Element_Constraint_Flag = 182
+ Elements_Declaration_List = 183
+ Owned_Elements_Chain = 184
+ Designated_Type = 185
+ Designated_Subtype_Indication = 186
+ Index_List = 187
+ Reference = 188
+ Nature_Declarator = 189
+ Across_Type_Mark = 190
+ Through_Type_Mark = 191
+ Across_Type_Definition = 192
+ Through_Type_Definition = 193
+ Across_Type = 194
+ Through_Type = 195
+ Target = 196
+ Waveform_Chain = 197
+ Guard = 198
+ Delay_Mechanism = 199
+ Reject_Time_Expression = 200
+ Force_Mode = 201
+ Has_Force_Mode = 202
+ Sensitivity_List = 203
+ Process_Origin = 204
+ Package_Origin = 205
+ Condition_Clause = 206
+ Break_Element = 207
+ Selector_Quantity = 208
+ Break_Quantity = 209
+ Timeout_Clause = 210
+ Postponed_Flag = 211
+ Callees_List = 212
+ Passive_Flag = 213
+ Resolution_Function_Flag = 214
+ Wait_State = 215
+ All_Sensitized_State = 216
+ Seen_Flag = 217
+ Pure_Flag = 218
+ Foreign_Flag = 219
+ Resolved_Flag = 220
+ Signal_Type_Flag = 221
+ Has_Signal_Flag = 222
+ Purity_State = 223
+ Elab_Flag = 224
+ Vendor_Library_Flag = 225
+ Configuration_Mark_Flag = 226
+ Configuration_Done_Flag = 227
+ Index_Constraint_Flag = 228
+ Hide_Implicit_Flag = 229
+ Assertion_Condition = 230
+ Report_Expression = 231
+ Severity_Expression = 232
+ Instantiated_Unit = 233
+ Generic_Map_Aspect_Chain = 234
+ Port_Map_Aspect_Chain = 235
+ Configuration_Name = 236
+ Component_Configuration = 237
+ Configuration_Specification = 238
+ Default_Binding_Indication = 239
+ Default_Configuration_Declaration = 240
+ Expression = 241
+ Conditional_Expression_Chain = 242
+ Allocator_Designated_Type = 243
+ Selected_Waveform_Chain = 244
+ Conditional_Waveform_Chain = 245
+ Guard_Expression = 246
+ Guard_Decl = 247
+ Guard_Sensitivity_List = 248
+ Signal_Attribute_Chain = 249
+ Block_Block_Configuration = 250
+ Package_Header = 251
+ Block_Header = 252
+ Uninstantiated_Package_Name = 253
+ Uninstantiated_Package_Decl = 254
+ Instance_Source_File = 255
+ Generate_Block_Configuration = 256
+ Generate_Statement_Body = 257
+ Alternative_Label = 258
+ Generate_Else_Clause = 259
+ Condition = 260
+ Else_Clause = 261
+ Parameter_Specification = 262
+ Parent = 263
+ Loop_Label = 264
+ Exit_Flag = 265
+ Next_Flag = 266
+ Component_Name = 267
+ Instantiation_List = 268
+ Entity_Aspect = 269
+ Default_Entity_Aspect = 270
+ Binding_Indication = 271
+ Named_Entity = 272
+ Referenced_Name = 273
+ Expr_Staticness = 274
+ Scalar_Size = 275
+ Error_Origin = 276
+ Operand = 277
+ Left = 278
+ Right = 279
+ Unit_Name = 280
+ Name = 281
+ Group_Template_Name = 282
+ Name_Staticness = 283
+ Prefix = 284
+ Signature_Prefix = 285
+ External_Pathname = 286
+ Pathname_Suffix = 287
+ Pathname_Expression = 288
+ In_Formal_Flag = 289
+ Slice_Subtype = 290
+ Suffix = 291
+ Index_Subtype = 292
+ Parameter = 293
+ Parameter_2 = 294
+ Parameter_3 = 295
+ Parameter_4 = 296
+ Attr_Chain = 297
+ Signal_Attribute_Declaration = 298
+ Actual_Type = 299
+ Actual_Type_Definition = 300
+ Association_Chain = 301
+ Individual_Association_Chain = 302
+ Subprogram_Association_Chain = 303
+ Aggregate_Info = 304
+ Sub_Aggregate_Info = 305
+ Aggr_Dynamic_Flag = 306
+ Aggr_Min_Length = 307
+ Aggr_Low_Limit = 308
+ Aggr_High_Limit = 309
+ Aggr_Others_Flag = 310
+ Aggr_Named_Flag = 311
+ Aggregate_Expand_Flag = 312
+ Association_Choices_Chain = 313
+ Case_Statement_Alternative_Chain = 314
+ Matching_Flag = 315
+ Choice_Staticness = 316
+ Procedure_Call = 317
+ Implementation = 318
+ Parameter_Association_Chain = 319
+ Method_Object = 320
+ Subtype_Type_Mark = 321
+ Subnature_Nature_Mark = 322
+ Type_Conversion_Subtype = 323
+ Type_Mark = 324
+ File_Type_Mark = 325
+ Return_Type_Mark = 326
+ Has_Disconnect_Flag = 327
+ Has_Active_Flag = 328
+ Is_Within_Flag = 329
+ Type_Marks_List = 330
+ Implicit_Alias_Flag = 331
+ Alias_Signature = 332
+ Attribute_Signature = 333
+ Overload_List = 334
+ Simple_Name_Identifier = 335
+ Simple_Name_Subtype = 336
+ Protected_Type_Body = 337
+ Protected_Type_Declaration = 338
+ Use_Flag = 339
+ End_Has_Reserved_Id = 340
+ End_Has_Identifier = 341
+ End_Has_Postponed = 342
+ Has_Label = 343
+ Has_Begin = 344
+ Has_End = 345
+ Has_Is = 346
+ Has_Pure = 347
+ Has_Body = 348
+ Has_Parameter = 349
+ Has_Component = 350
+ Has_Identifier_List = 351
+ Has_Mode = 352
+ Has_Class = 353
+ Has_Delay_Mechanism = 354
+ Suspend_Flag = 355
+ Is_Ref = 356
+ Is_Forward_Ref = 357
+ Psl_Property = 358
+ Psl_Sequence = 359
+ Psl_Declaration = 360
+ Psl_Expression = 361
+ Psl_Boolean = 362
+ PSL_Clock = 363
+ PSL_NFA = 364
+ PSL_Nbr_States = 365
+ PSL_Clock_Sensitivity = 366
+ PSL_EOS_Flag = 367
+ PSL_Abort_Flag = 368
+ Count_Expression = 369
+ Clock_Expression = 370
+ Default_Clock = 371
+ Foreign_Node = 372
def Get_Boolean(node, field):
@@ -1488,6 +1489,12 @@ def Has_Label(kind: IirKind) -> bool:
@export
+@BindToLibGHDL("vhdl__nodes_meta__has_return_identifier")
+def Has_Return_Identifier(kind: IirKind) -> bool:
+ """"""
+
+
+@export
@BindToLibGHDL("vhdl__nodes_meta__has_visible_flag")
def Has_Visible_Flag(kind: IirKind) -> bool:
""""""