diff options
author | Tristan Gingold <tgingold@free.fr> | 2022-03-04 07:58:28 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2022-03-04 07:58:28 +0100 |
commit | 7356d30f26ec213b8e342e2b17a67443b0452801 (patch) | |
tree | 2c37e80dfa48bc224b9ce486dc98f958b464301e /pyGHDL/libghdl/vhdl | |
parent | caad9e78229b7c3cffb0e4f401a2a20179783b91 (diff) | |
download | ghdl-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.py | 13 | ||||
-rw-r--r-- | pyGHDL/libghdl/vhdl/nodes_meta.py | 463 |
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: """""" |