aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--setup.py.in2
-rw-r--r--src/vhdl/Makefile20
-rw-r--r--src/vhdl/python/libghdl/__init__.py17
-rw-r--r--src/vhdl/python/libghdl/thin.py303
-rw-r--r--src/vhdl/python/libghdl/thin/errorout.py39
-rw-r--r--src/vhdl/python/libghdl/thin/errorout_memory.py13
-rw-r--r--src/vhdl/python/libghdl/thin/files_map.py41
-rw-r--r--src/vhdl/python/libghdl/thin/files_map_editor.py6
-rw-r--r--src/vhdl/python/libghdl/thin/flags.py9
-rw-r--r--src/vhdl/python/libghdl/thin/libraries.py17
-rw-r--r--src/vhdl/python/libghdl/thin/name_table.py14
-rw-r--r--src/vhdl/python/libghdl/thin/std_names.py747
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/canon.py14
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/elocations.py62
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/flists.py11
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/ieee.py21
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/lists.py33
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/nodes.py2367
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/nodes_meta.py1435
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/nodes_utils.py14
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/parse.py7
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/pyutils.py (renamed from src/vhdl/python/libghdl/thinutils.py)0
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/scanner.py23
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/sem_lib.py5
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/std_package.py13
-rw-r--r--src/vhdl/python/libghdl/thin/vhdl/tokens.py196
-rwxr-xr-xsrc/vhdl/python/pnodespy.py23
27 files changed, 5136 insertions, 316 deletions
diff --git a/setup.py.in b/setup.py.in
index 9b01de4ea..36c37a656 100644
--- a/setup.py.in
+++ b/setup.py.in
@@ -44,6 +44,6 @@ setup (name='libghdl',
author_email = 'tgingold@free.fr',
url = 'github.com/ghdl/ghdl',
package_dir = {'libghdl' : 'src/vhdl/python/libghdl'},
- packages = ['libghdl'],
+ packages = ['libghdl', 'libghdl.thin', 'libghdl.thin.vhdl'],
cmdclass = {
'build': GHDLBuild})
diff --git a/src/vhdl/Makefile b/src/vhdl/Makefile
index 6eb52cfae..425563a18 100644
--- a/src/vhdl/Makefile
+++ b/src/vhdl/Makefile
@@ -27,9 +27,9 @@ DEPS=vhdl-nodes.ads vhdl-nodes.adb.in $(PNODES)
GEN_FILES=vhdl-nodes.adb vhdl-nodes_meta.ads vhdl-nodes_meta.adb \
vhdl-elocations.adb vhdl-elocations_meta.ads vhdl-elocations_meta.adb \
- python/libghdl/iirs.py python/libghdl/nodes_meta.py \
- python/libghdl/std_names.py python/libghdl/tokens.py \
- python/libghdl/elocations.py python/libghdl/errorout.py
+ python/libghdl/thin/vhdl/nodes.py python/libghdl/thin/vhdl/nodes_meta.py \
+ python/libghdl/thin/vhdl/tokens.py python/libghdl/thin/vhdl/elocations.py \
+ python/libghdl/thin/errorout.py python/libghdl/thin/std_names.py
NODES_FLAGS=--node-file=vhdl-nodes.ads --field-file=vhdl-nodes.adb.in \
--template-file=vhdl-nodes.adb.in --kind-file=vhdl-nodes.ads \
@@ -71,32 +71,32 @@ vhdl-elocations_meta.adb: vhdl-elocations_meta.adb.in vhdl-elocations.ads $(DEPS
$(PNODES) $(ELOCATIONS_FLAGS) meta_body > $@
chmod -w $@
-python/libghdl/iirs.py: $(DEPS) $(PNODESPY)
+python/libghdl/thin/vhdl/nodes.py: $(DEPS) $(PNODESPY)
$(RM) $@
- $(PNODESPY) $(NODES_FLAGS) libghdl-iirs > $@
+ $(PNODESPY) $(NODES_FLAGS) libghdl-nodes > $@
chmod -w $@
-python/libghdl/nodes_meta.py: $(DEPS) $(PNODESPY)
+python/libghdl/thin/vhdl/nodes_meta.py: $(DEPS) $(PNODESPY)
$(RM) $@
$(PNODESPY) $(NODES_FLAGS) libghdl-meta > $@
chmod -w $@
-python/libghdl/std_names.py: $(PNODESPY) ../std_names.ads
+python/libghdl/thin/std_names.py: $(PNODESPY) ../std_names.ads
$(RM) $@
$(PNODESPY) $(NODES_FLAGS) libghdl-names > $@
chmod -w $@
-python/libghdl/tokens.py: $(PNODESPY) vhdl-tokens.ads
+python/libghdl/thin/vhdl/tokens.py: $(PNODESPY) vhdl-tokens.ads
$(RM) $@
$(PNODESPY) $(NODES_FLAGS) libghdl-tokens > $@
chmod -w $@
-python/libghdl/elocations.py: $(PNODESPY) vhdl-elocations.ads
+python/libghdl/thin/vhdl/elocations.py: $(PNODESPY) vhdl-elocations.ads
$(RM) $@
$(PNODESPY) $(ELOCATIONS_FLAGS) libghdl-elocs > $@
chmod -w $@
-python/libghdl/errorout.py: $(PNODESPY) ../errorout.ads
+python/libghdl/thin/errorout.py: $(PNODESPY) ../errorout.ads
$(RM) $@
$(PNODESPY) $(ELOCATIONS_FLAGS) libghdl-errorout > $@
chmod -w $@
diff --git a/src/vhdl/python/libghdl/__init__.py b/src/vhdl/python/libghdl/__init__.py
index 8ca7a977b..6589aec3f 100644
--- a/src/vhdl/python/libghdl/__init__.py
+++ b/src/vhdl/python/libghdl/__init__.py
@@ -14,3 +14,20 @@ _prefix = os.path.join(_basedir, "ghdl")
_prefix_opt = ("--PREFIX=" + _prefix).encode('utf-8')
libghdl.libghdl__set_option(
ctypes.c_char_p(_prefix_opt), len(_prefix_opt))
+
+# libghdl
+
+_set_option = libghdl.libghdl__set_option
+_analyze_file = libghdl.libghdl__analyze_file
+
+
+def set_option(opt):
+ return _set_option(ctypes.c_char_p(opt), len(opt))
+
+
+def analyze_init():
+ return libghdl.libghdl__analyze_init()
+
+
+def analyze_file(filename):
+ return _analyze_file(ctypes.c_char_p(filename), len(filename))
diff --git a/src/vhdl/python/libghdl/thin.py b/src/vhdl/python/libghdl/thin.py
deleted file mode 100644
index 5ff197175..000000000
--- a/src/vhdl/python/libghdl/thin.py
+++ /dev/null
@@ -1,303 +0,0 @@
-from libghdl import libghdl
-from ctypes import (c_char_p, c_int32, c_int, c_int8, c_bool, sizeof, c_void_p,
- POINTER, Structure)
-import libghdl.iirs as iirs
-import libghdl.nodes_meta as nodes_meta
-from libghdl.nodes_meta import (Attr, types)
-# from libghdl_defs import (fields, Iir_Kind, types, Attr)
-
-assert sizeof(c_bool) == 1
-
-# libghdl
-
-_set_option = libghdl.libghdl__set_option
-_analyze_file = libghdl.libghdl__analyze_file
-
-
-def set_option(opt):
- return _set_option(c_char_p(opt), len(opt))
-
-
-def analyze_init():
- return libghdl.libghdl__analyze_init()
-
-
-def analyze_file(filename):
- return _analyze_file(c_char_p(filename), len(filename))
-
-EOT = b'\x04'
-
-No_Source_File_Entry = 0
-
-No_Location = 0
-
-Null_Iir = 0
-Null_Iir_List = 0
-Iir_List_All = 1
-
-Null_Iir_Flist = 0
-Iir_Flist_Others = 1
-Iir_Flist_All = 2
-
-# Lists
-
-class Lists:
- List_Type = c_int32
-
- class Iterator(Structure):
- _fields_ = [("chunk", c_int32),
- ("chunk_idx", c_int32),
- ("remain", c_int32)]
-
- Iterate = libghdl.vhdl__lists__iterate
- Iterate.argstype = [List_Type]
- Iterate.restype = Iterator
-
- Is_Valid = libghdl.vhdl__lists__is_valid
- Is_Valid.argstype = [POINTER(Iterator)]
- Is_Valid.restype = c_bool
-
- Next = libghdl.vhdl__lists__next
- Next.argstype = [POINTER(Iterator)]
- Next.restype = None
-
- Get_Element = libghdl.vhdl__lists__get_element
- Get_Element.argstype = [POINTER(Iterator)]
- Get_Element.restype = c_int32
-
- Get_Nbr_Elements = libghdl.vhdl__lists__get_nbr_elements
- Get_Nbr_Elements.argtype = [List_Type]
- Get_Nbr_Elements.restype = c_int32
-
- Create_Iir_List = libghdl.vhdl__lists__create_list
-
- Destroy_Iir_List = libghdl.vhdl__lists__destroy_list
-
-
-class Flists:
- Flist_Type = c_int32
-
- Ffirst = 0
- Flast = libghdl.vhdl__flists__flast
-
- Length = libghdl.vhdl__flists__length
-
- Get_Nth_Element = libghdl.vhdl__flists__get_nth_element
-
-
-# Files
-class Files_Map:
- Location_To_File = libghdl.files_map__location_to_file
-
- Location_File_To_Pos = libghdl.files_map__location_file_to_pos
-
- Location_File_To_Line = libghdl.files_map__location_file_to_line
-
- Location_File_Line_To_Offset = \
- libghdl.files_map__location_file_line_to_offset
-
- Location_File_Line_To_Col = libghdl.files_map__location_file_line_to_col
-
- File_To_Location = libghdl.files_map__file_to_location
-
- File_Pos_To_Location = libghdl.files_map__file_pos_to_location
-
- File_Line_To_Position = libghdl.files_map__file_line_to_position
-
- Get_File_Name = libghdl.files_map__get_file_name
-
- Get_Directory_Name = libghdl.files_map__get_directory_name
-
- Get_File_Buffer = libghdl.files_map__get_file_buffer
- Get_File_Buffer.restype = c_void_p
-
- Get_File_Length = libghdl.files_map__get_file_length
- Set_File_Length = libghdl.files_map__set_file_length
-
- Read_Source_File = libghdl.files_map__read_source_file
-
- Reserve_Source_File = libghdl.files_map__reserve_source_file
-
- Get_Last_Source_File_Entry = libghdl.files_map__get_last_source_file_entry
-
-
-class Files_Map_Editor:
- Set_Gap = libghdl.files_map__editor__set_gap
- Replace_Text = libghdl.files_map__editor__replace_text_ptr
-
- Check_Buffer_Content = libghdl.files_map__editor__check_buffer_content
-
-# Names
-
-Get_Name_Length = libghdl.name_table__get_name_length
-
-Get_Name_Ptr = libghdl.name_table__get_name_ptr
-Get_Name_Ptr.restype = c_char_p
-
-_Get_Identifier_With_Len = libghdl.name_table__get_identifier_with_len
-
-def Get_Identifier(s):
- return _Get_Identifier_With_Len(c_char_p(s), len(s))
-
-Null_Identifier = 0
-
-# Ieee
-
-class Ieee:
- Std_Logic_1164_Pkg = c_int.in_dll(
- libghdl, "vhdl__ieee__std_logic_1164__std_logic_1164_pkg")
-
- # Get value
- Std_Logic_Type = c_int.in_dll(
- libghdl, "vhdl__ieee__std_logic_1164__std_logic_type")
-
- # Get value
- Std_Logic_Vector_Type = c_int.in_dll(
- libghdl, "vhdl__ieee__std_logic_1164__std_logic_vector_type")
-
- # Get value
- Rising_Edge = c_int.in_dll(
- libghdl, "vhdl__ieee__std_logic_1164__rising_edge")
-
- # Get value
- Falling_Edge = c_int.in_dll(
- libghdl, "vhdl__ieee__std_logic_1164__falling_edge")
-
-
-# Flags
-class Flags:
- Flag_Elocations = c_bool.in_dll(libghdl, "flags__flag_elocations")
-
- Verbose = c_bool.in_dll(libghdl, "flags__verbose")
-
- Flag_Elaborate_With_Outdated = c_bool.in_dll(
- libghdl, "flags__flag_elaborate_with_outdated")
-
-
-# Scanner
-class Scanner:
- Set_File = libghdl.vhdl__scanner__set_file
-
- Close_File = libghdl.vhdl__scanner__close_file
-
- Scan = libghdl.vhdl__scanner__scan
-
- # This is a c_int, so you want to use its .value
- Current_Token = c_int.in_dll(libghdl, "vhdl__scanner__current_token")
-
- Flag_Comment = c_bool.in_dll(libghdl, "vhdl__scanner__flag_comment")
-
- Get_Current_Line = libghdl.vhdl__scanner__get_current_line
-
- Get_Token_Offset = libghdl.vhdl__scanner__get_token_offset
-
- Get_Token_Position = libghdl.vhdl__scanner__get_token_position
-
- Get_Position = libghdl.vhdl__scanner__get_position
-
- Current_Identifier = libghdl.vhdl__scanner__current_identifier
-
-
-class Parse:
- Parse_Design_File = libghdl.vhdl__parse__parse_design_file
-
- Flag_Parse_Parenthesis = c_bool.in_dll(
- libghdl, "vhdl__parse__flag_parse_parenthesis")
-
-
-class Canon:
- Flag_Concurrent_Stmts = c_bool.in_dll(
- libghdl, "vhdl__canon__canon_flag_concurrent_stmts")
-
- Flag_Configurations = c_bool.in_dll(
- libghdl, "vhdl__canon__canon_flag_configurations")
-
- Flag_Associations = c_bool.in_dll(
- libghdl, "vhdl__canon__canon_flag_associations")
-
- Extract_Sequential_Statement_Chain_Sensitivity = \
- libghdl.vhdl__canon__canon_extract_sequential_statement_chain_sensitivity
-
-
-class Sem_Lib:
- Load_File = libghdl.vhdl__sem_lib__load_file
-
- Finish_Compilation = libghdl.vhdl__sem_lib__finish_compilation
-
-
-class Std_Package:
- # Use .value
- Std_Location = c_int32.in_dll(libghdl, "vhdl__std_package__std_location")
-
- # Use .value
- Standard_Package = c_int32.in_dll(
- libghdl, "vhdl__std_package__standard_package")
-
- # Use .value
- Character_Type_Definition = c_int32.in_dll(
- libghdl, "vhdl__std_package__character_type_definition")
-
-class Libraries:
- Get_Libraries_Chain = libghdl.libraries__get_libraries_chain
-
- Add_Design_Unit_Into_Library = \
- libghdl.libraries__add_design_unit_into_library
-
- # Use .value
- Library_Location = c_int32.in_dll(libghdl, "libraries__library_location")
-
- # Use .value
- Work_Library = c_int32.in_dll(libghdl, "libraries__work_library")
-
- Purge_Design_File = libghdl.libraries__purge_design_file
-
- Find_Entity_For_Component = libghdl.libraries__find_entity_for_component
-
-
-# Disp_Tree
-
-Disp_Iir = libghdl.vhdl__disp_tree__disp_iir
-
-# Iirs_Utils
-
-class Iirs_Utils:
- Strip_Denoting_Name = libghdl.vhdl__utils__strip_denoting_name
-
- Get_Entity = libghdl.vhdl__utils__get_entity
-
- Is_Second_Subprogram_Specification = \
- libghdl.vhdl__utils__is_second_subprogram_specification
-
- Get_Entity_From_Entity_Aspect = \
- libghdl.vhdl__utils__get_entity_from_entity_aspect
-
- Get_Interface_Of_Formal = \
- libghdl.vhdl__utils__get_interface_of_formal
-
-# Errorout
-
-class Errorout:
- class Error_Record(Structure):
- _fields_ = [("origin", c_int8),
- ("id", c_int8),
- ("cont", c_int8),
- ("file", c_int32),
- ("line", c_int32),
- ("offset", c_int32),
- ("length", c_int32)]
-
-
-class Errorout_Memory:
- Install_Handler = libghdl.errorout__memory__install_handler
-
- Get_Nbr_Messages = libghdl.errorout__memory__get_nbr_messages
-
- Get_Error_Record = libghdl.errorout__memory__get_error_record
- Get_Error_Record.argstypes = [c_int32]
- Get_Error_Record.restype = Errorout.Error_Record
-
- Get_Error_Message = libghdl.errorout__memory__get_error_message_addr
- Get_Error_Message.argstype = [c_int32]
- Get_Error_Message.restype = c_char_p
-
- Clear_Errors = libghdl.errorout__memory__clear_errors
diff --git a/src/vhdl/python/libghdl/thin/errorout.py b/src/vhdl/python/libghdl/thin/errorout.py
new file mode 100644
index 000000000..0af8a0a1f
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/errorout.py
@@ -0,0 +1,39 @@
+from ctypes import c_int8, c_int32
+class Error_Record(Structure):
+ _fields_ = [("origin", c_int8),
+ ("id", c_int8),
+ ("file", c_int32),
+ ("line", c_int32),
+ ("offset", c_int32),
+ ("length", c_int32)]
+
+
+
+class Msgid:
+ Msgid_Note = 0
+ Warnid_Library = 1
+ Warnid_Missing_Xref = 2
+ Warnid_Default_Binding = 3
+ Warnid_Binding = 4
+ Warnid_Port = 5
+ Warnid_Reserved_Word = 6
+ Warnid_Nested_Comment = 7
+ Warnid_Directive = 8
+ Warnid_Parenthesis = 9
+ Warnid_Vital_Generic = 10
+ Warnid_Delayed_Checks = 11
+ Warnid_Body = 12
+ Warnid_Specs = 13
+ Warnid_Universal = 14
+ Warnid_Port_Bounds = 15
+ Warnid_Runtime_Error = 16
+ Warnid_Delta_Cycle = 17
+ Warnid_Shared = 18
+ Warnid_Hide = 19
+ Warnid_Unused = 20
+ Warnid_Others = 21
+ Warnid_Pure = 22
+ Warnid_Static = 23
+ Msgid_Warning = 24
+ Msgid_Error = 25
+ Msgid_Fatal = 26
diff --git a/src/vhdl/python/libghdl/thin/errorout_memory.py b/src/vhdl/python/libghdl/thin/errorout_memory.py
new file mode 100644
index 000000000..2967863f5
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/errorout_memory.py
@@ -0,0 +1,13 @@
+Install_Handler = libghdl.errorout__memory__install_handler
+
+Get_Nbr_Messages = libghdl.errorout__memory__get_nbr_messages
+
+Get_Error_Record = libghdl.errorout__memory__get_error_record
+Get_Error_Record.argstypes = [c_int32]
+Get_Error_Record.restype = Errorout.Error_Record
+
+Get_Error_Message = libghdl.errorout__memory__get_error_message_addr
+Get_Error_Message.argstype = [c_int32]
+Get_Error_Message.restype = c_char_p
+
+Clear_Errors = libghdl.errorout__memory__clear_errors
diff --git a/src/vhdl/python/libghdl/thin/files_map.py b/src/vhdl/python/libghdl/thin/files_map.py
new file mode 100644
index 000000000..b0029b0a4
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/files_map.py
@@ -0,0 +1,41 @@
+from libghdl import libghdl
+from ctypes import c_void_p
+
+EOT = b'\x04'
+
+No_Source_File_Entry = 0
+
+No_Location = 0
+
+Location_To_File = libghdl.files_map__location_to_file
+
+Location_File_To_Pos = libghdl.files_map__location_file_to_pos
+
+Location_File_To_Line = libghdl.files_map__location_file_to_line
+
+Location_File_Line_To_Offset = \
+ libghdl.files_map__location_file_line_to_offset
+
+Location_File_Line_To_Col = libghdl.files_map__location_file_line_to_col
+
+File_To_Location = libghdl.files_map__file_to_location
+
+File_Pos_To_Location = libghdl.files_map__file_pos_to_location
+
+File_Line_To_Position = libghdl.files_map__file_line_to_position
+
+Get_File_Name = libghdl.files_map__get_file_name
+
+Get_Directory_Name = libghdl.files_map__get_directory_name
+
+Get_File_Buffer = libghdl.files_map__get_file_buffer
+Get_File_Buffer.restype = c_void_p
+
+Get_File_Length = libghdl.files_map__get_file_length
+Set_File_Length = libghdl.files_map__set_file_length
+
+Read_Source_File = libghdl.files_map__read_source_file
+
+Reserve_Source_File = libghdl.files_map__reserve_source_file
+
+Get_Last_Source_File_Entry = libghdl.files_map__get_last_source_file_entry
diff --git a/src/vhdl/python/libghdl/thin/files_map_editor.py b/src/vhdl/python/libghdl/thin/files_map_editor.py
new file mode 100644
index 000000000..27ea6feda
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/files_map_editor.py
@@ -0,0 +1,6 @@
+from libghdl import libghdl
+
+Set_Gap = libghdl.files_map__editor__set_gap
+Replace_Text = libghdl.files_map__editor__replace_text_ptr
+
+Check_Buffer_Content = libghdl.files_map__editor__check_buffer_content
diff --git a/src/vhdl/python/libghdl/thin/flags.py b/src/vhdl/python/libghdl/thin/flags.py
new file mode 100644
index 000000000..b50480442
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/flags.py
@@ -0,0 +1,9 @@
+from libghdl import libghdl
+from ctypes import c_bool
+
+Flag_Elocations = c_bool.in_dll(libghdl, "flags__flag_elocations")
+
+Verbose = c_bool.in_dll(libghdl, "flags__verbose")
+
+Flag_Elaborate_With_Outdated = c_bool.in_dll(
+ libghdl, "flags__flag_elaborate_with_outdated")
diff --git a/src/vhdl/python/libghdl/thin/libraries.py b/src/vhdl/python/libghdl/thin/libraries.py
new file mode 100644
index 000000000..cb5f20ec2
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/libraries.py
@@ -0,0 +1,17 @@
+from libghdl import libghdl
+from ctypes import c_int32
+
+Get_Libraries_Chain = libghdl.libraries__get_libraries_chain
+
+Add_Design_Unit_Into_Library = \
+ libghdl.libraries__add_design_unit_into_library
+
+# Use .value
+Library_Location = c_int32.in_dll(libghdl, "libraries__library_location")
+
+# Use .value
+Work_Library = c_int32.in_dll(libghdl, "libraries__work_library")
+
+Purge_Design_File = libghdl.libraries__purge_design_file
+
+Find_Entity_For_Component = libghdl.libraries__find_entity_for_component
diff --git a/src/vhdl/python/libghdl/thin/name_table.py b/src/vhdl/python/libghdl/thin/name_table.py
new file mode 100644
index 000000000..cda0b3e1c
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/name_table.py
@@ -0,0 +1,14 @@
+from libghdl import libghdl
+from ctypes import c_char_p
+
+Get_Name_Length = libghdl.name_table__get_name_length
+
+Get_Name_Ptr = libghdl.name_table__get_name_ptr
+Get_Name_Ptr.restype = c_char_p
+
+_Get_Identifier_With_Len = libghdl.name_table__get_identifier_with_len
+
+def Get_Identifier(s):
+ return _Get_Identifier_With_Len(c_char_p(s), len(s))
+
+Null_Identifier = 0
diff --git a/src/vhdl/python/libghdl/thin/std_names.py b/src/vhdl/python/libghdl/thin/std_names.py
new file mode 100644
index 000000000..bef6eee48
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/std_names.py
@@ -0,0 +1,747 @@
+class Name:
+ First_Character = 1
+ Last_Character = 256
+ First_Keyword = 257
+ Mod = 257
+ Rem = 258
+ Abs = 259
+ Not = 260
+ Access = 261
+ After = 262
+ Alias = 263
+ All = 264
+ Architecture = 265
+ Array = 266
+ Assert = 267
+ Attribute = 268
+ Begin = 269
+ Block = 270
+ Body = 271
+ Buffer = 272
+ Bus = 273
+ Case = 274
+ Component = 275
+ Configuration = 276
+ Constant = 277
+ Disconnect = 278
+ Downto = 279
+ Else = 280
+ Elsif = 281
+ End = 282
+ Entity = 283
+ Exit = 284
+ File = 285
+ For = 286
+ Function = 287
+ Generate = 288
+ Generic = 289
+ Guarded = 290
+ If = 291
+ In = 292
+ Inout = 293
+ Is = 294
+ Label = 295
+ Library = 296
+ Linkage = 297
+ Loop = 298
+ Map = 299
+ New = 300
+ Next = 301
+ Null = 302
+ Of = 303
+ On = 304
+ Open = 305
+ Others = 306
+ Out = 307
+ Package = 308
+ Port = 309
+ Procedure = 310
+ Process = 311
+ Range = 312
+ Record = 313
+ Register = 314
+ Report = 315
+ Return = 316
+ Select = 317
+ Severity = 318
+ Signal = 319
+ Subtype = 320
+ Then = 321
+ To = 322
+ Transport = 323
+ Type = 324
+ Units = 325
+ Until = 326
+ Use = 327
+ Variable = 328
+ Wait = 329
+ When = 330
+ While = 331
+ With = 332
+ And = 333
+ Or = 334
+ Xor = 335
+ Nand = 336
+ Nor = 337
+ Last_Vhdl87 = 337
+ Xnor = 338
+ Group = 339
+ Impure = 340
+ Inertial = 341
+ Literal = 342
+ Postponed = 343
+ Pure = 344
+ Reject = 345
+ Shared = 346
+ Unaffected = 347
+ Sll = 348
+ Sla = 349
+ Sra = 350
+ Srl = 351
+ Rol = 352
+ Ror = 353
+ Last_Vhdl93 = 353
+ Protected = 354
+ Last_Vhdl00 = 354
+ Context = 355
+ Parameter = 356
+ Last_Vhdl08 = 356
+ First_Ams_Keyword = 357
+ Across = 357
+ Break = 358
+ Limit = 359
+ Nature = 360
+ Noise = 361
+ Procedural = 362
+ Quantity = 363
+ Reference = 364
+ Spectrum = 365
+ Subnature = 366
+ Terminal = 367
+ Through = 368
+ Tolerance = 369
+ Last_AMS_Vhdl = 369
+ Last_Keyword = 369
+ First_Verilog = 370
+ Always = 370
+ Assign = 371
+ Buf = 372
+ Bufif0 = 373
+ Bufif1 = 374
+ Casex = 375
+ Casez = 376
+ Cmos = 377
+ Deassign = 378
+ Default = 379
+ Defparam = 380
+ Disable = 381
+ Edge = 382
+ Endcase = 383
+ Endfunction = 384
+ Endmodule = 385
+ Endprimitive = 386
+ Endspecify = 387
+ Endtable = 388
+ Endtask = 389
+ Force = 390
+ Forever = 391
+ Fork = 392
+ Highz0 = 393
+ Highz1 = 394
+ Ifnone = 395
+ Initial = 396
+ Input = 397
+ Join = 398
+ Large = 399
+ Macromodule = 400
+ Medium = 401
+ Module = 402
+ Negedge = 403
+ Nmos = 404
+ Notif0 = 405
+ Notif1 = 406
+ Output = 407
+ Pmos = 408
+ Posedge = 409
+ Primitive = 410
+ Pull0 = 411
+ Pull1 = 412
+ Pulldown = 413
+ Pullup = 414
+ Realtime = 415
+ Release = 416
+ Reg = 417
+ Repeat = 418
+ Rcmos = 419
+ Rnmos = 420
+ Rpmos = 421
+ Rtran = 422
+ Rtranif0 = 423
+ Rtranif1 = 424
+ Scalared = 425
+ Small = 426
+ Specify = 427
+ Specparam = 428
+ Strong0 = 429
+ Strong1 = 430
+ Supply0 = 431
+ Supply1 = 432
+ Tablex = 433
+ Task = 434
+ Tran = 435
+ Tranif0 = 436
+ Tranif1 = 437
+ Tri = 438
+ Tri0 = 439
+ Tri1 = 440
+ Triand = 441
+ Trior = 442
+ Trireg = 443
+ Vectored = 444
+ Wand = 445
+ Weak0 = 446
+ Weak1 = 447
+ Wire = 448
+ Wor = 449
+ Last_Verilog = 449
+ First_V2001 = 450
+ Automatic = 450
+ Endgenerate = 451
+ Genvar = 452
+ Localparam = 453
+ Unsigned = 454
+ Signed = 455
+ Last_V2001 = 455
+ Uwire = 456
+ First_SV3_0 = 457
+ Always_Comb = 457
+ Always_Ff = 458
+ Always_Latch = 459
+ Bit = 460
+ Byte = 461
+ Changed = 462
+ Char = 463
+ Const = 464
+ Continue = 465
+ Do = 466
+ Endinterface = 467
+ Endtransition = 468
+ Enum = 469
+ Export = 470
+ Extern = 471
+ Forkjoin = 472
+ Iff = 473
+ Import = 474
+ Int = 475
+ Interface = 476
+ Logic = 477
+ Longint = 478
+ Longreal = 479
+ Modport = 480
+ Packed = 481
+ Priority = 482
+ Shortint = 483
+ Shortreal = 484
+ Static = 485
+ Struct = 486
+ Timeprecision = 487
+ Timeunit = 488
+ Transition = 489
+ Typedef = 490
+ Union = 491
+ Unique = 492
+ Unique0 = 493
+ Void = 494
+ Last_SV3_0 = 494
+ First_SV3_1 = 495
+ Chandle = 495
+ Class = 496
+ Clocking = 497
+ Constraint = 498
+ Cover = 499
+ Dist = 500
+ Endclass = 501
+ Endclocking = 502
+ Endprogram = 503
+ Endproperty = 504
+ Endsequence = 505
+ Extends = 506
+ Final = 507
+ First_Match = 508
+ Inside = 509
+ Intersect = 510
+ Join_Any = 511
+ Join_None = 512
+ Local = 513
+ Program = 514
+ Property = 515
+ Rand = 516
+ Randc = 517
+ Ref = 518
+ Sequence = 519
+ Solve = 520
+ String = 521
+ Super = 522
+ This = 523
+ Throughout = 524
+ Var = 525
+ Virtual = 526
+ Wait_Order = 527
+ Last_SV3_1 = 527
+ First_SV3_1a = 528
+ Assume = 528
+ Covergroup = 529
+ Coverpoint = 530
+ Endgroup = 531
+ Endpackage = 532
+ Expect = 533
+ Foreach = 534
+ Ignore_Bins = 535
+ Illegal_Bins = 536
+ Matches = 537
+ Randcase = 538
+ Randsequence = 539
+ Tagged = 540
+ Wildcard = 541
+ Last_SV3_1a = 541
+ First_SV2009 = 542
+ Implies = 542
+ S_Until = 543
+ S_Until_With = 544
+ Until_With = 545
+ Last_SV2009 = 545
+ First_Operator = 546
+ Op_Equality = 546
+ Op_Inequality = 547
+ Op_Less = 548
+ Op_Less_Equal = 549
+ Op_Greater = 550
+ Op_Greater_Equal = 551
+ Op_Plus = 552
+ Op_Minus = 553
+ Op_Mul = 554
+ Op_Div = 555
+ Op_Exp = 556
+ Op_Concatenation = 557
+ Op_Condition = 558
+ Op_Match_Equality = 559
+ Op_Match_Inequality = 560
+ Op_Match_Less = 561
+ Op_Match_Less_Equal = 562
+ Op_Match_Greater = 563
+ Op_Match_Greater_Equal = 564
+ Last_Operator = 564
+ First_Attribute = 565
+ Base = 565
+ Left = 566
+ Right = 567
+ High = 568
+ Low = 569
+ Pos = 570
+ Val = 571
+ Succ = 572
+ Pred = 573
+ Leftof = 574
+ Rightof = 575
+ Reverse_Range = 576
+ Length = 577
+ Delayed = 578
+ Stable = 579
+ Quiet = 580
+ Transaction = 581
+ Event = 582
+ Active = 583
+ Last_Event = 584
+ Last_Active = 585
+ Last_Value = 586
+ Last_Attribute = 586
+ First_Vhdl87_Attribute = 587
+ Behavior = 587
+ Structure = 588
+ Last_Vhdl87_Attribute = 588
+ First_Vhdl93_Attribute = 589
+ Ascending = 589
+ Image = 590
+ Value = 591
+ Driving = 592
+ Driving_Value = 593
+ Simple_Name = 594
+ Instance_Name = 595
+ Path_Name = 596
+ Last_Vhdl93_Attribute = 596
+ First_Vhdl08_Attribute = 597
+ Element = 597
+ Last_Vhdl08_Attribute = 597
+ First_AMS_Attribute = 598
+ Contribution = 598
+ Dot = 599
+ Integ = 600
+ Above = 601
+ ZOH = 602
+ LTF = 603
+ ZTF = 604
+ Ramp = 605
+ Slew = 606
+ Last_AMS_Attribute = 606
+ First_Standard = 607
+ Std = 607
+ Standard = 608
+ Boolean = 609
+ NFalse = 610
+ NTrue = 611
+ Character = 612
+ Severity_Level = 613
+ Note = 614
+ Warning = 615
+ Error = 616
+ Failure = 617
+ Universal_Integer = 618
+ Universal_Real = 619
+ Convertible_Integer = 620
+ Convertible_Real = 621
+ Integer = 622
+ Real = 623
+ Time = 624
+ Fs = 625
+ Ps = 626
+ Ns = 627
+ Us = 628
+ Ms = 629
+ Sec = 630
+ Min = 631
+ Hr = 632
+ Max = 633
+ Delay_Length = 634
+ Now = 635
+ Natural = 636
+ Positive = 637
+ Bit_Vector = 638
+ File_Open_Kind = 639
+ Read_Mode = 640
+ Write_Mode = 641
+ Append_Mode = 642
+ File_Open_Status = 643
+ Open_Ok = 644
+ Status_Error = 645
+ Name_Error = 646
+ Mode_Error = 647
+ Foreign = 648
+ Boolean_Vector = 649
+ To_Bstring = 650
+ To_Binary_String = 651
+ To_Ostring = 652
+ To_Octal_String = 653
+ To_Hstring = 654
+ To_Hex_String = 655
+ Integer_Vector = 656
+ Real_Vector = 657
+ Time_Vector = 658
+ Digits = 659
+ Format = 660
+ Unit = 661
+ Domain_Type = 662
+ Quiescent_Domain = 663
+ Time_Domain = 664
+ Frequency_Domain = 665
+ Domain = 666
+ Frequency = 667
+ Last_Standard = 667
+ First_Charname = 668
+ Nul = 668
+ Soh = 669
+ Stx = 670
+ Etx = 671
+ Eot = 672
+ Enq = 673
+ Ack = 674
+ Bel = 675
+ Bs = 676
+ Ht = 677
+ Lf = 678
+ Vt = 679
+ Ff = 680
+ Cr = 681
+ So = 682
+ Si = 683
+ Dle = 684
+ Dc1 = 685
+ Dc2 = 686
+ Dc3 = 687
+ Dc4 = 688
+ Nak = 689
+ Syn = 690
+ Etb = 691
+ Can = 692
+ Em = 693
+ Sub = 694
+ Esc = 695
+ Fsp = 696
+ Gsp = 697
+ Rsp = 698
+ Usp = 699
+ Del = 700
+ C128 = 701
+ C129 = 702
+ C130 = 703
+ C131 = 704
+ C132 = 705
+ C133 = 706
+ C134 = 707
+ C135 = 708
+ C136 = 709
+ C137 = 710
+ C138 = 711
+ C139 = 712
+ C140 = 713
+ C141 = 714
+ C142 = 715
+ C143 = 716
+ C144 = 717
+ C145 = 718
+ C146 = 719
+ C147 = 720
+ C148 = 721
+ C149 = 722
+ C150 = 723
+ C151 = 724
+ C152 = 725
+ C153 = 726
+ C154 = 727
+ C155 = 728
+ C156 = 729
+ C157 = 730
+ C158 = 731
+ C159 = 732
+ Last_Charname = 732
+ First_Misc = 733
+ Guard = 733
+ Deallocate = 734
+ File_Open = 735
+ File_Close = 736
+ Read = 737
+ Write = 738
+ Flush = 739
+ Endfile = 740
+ I = 741
+ J = 742
+ F = 743
+ L = 744
+ P = 745
+ R = 746
+ S = 747
+ V = 748
+ External_Name = 749
+ Open_Kind = 750
+ First = 751
+ Last = 752
+ Textio = 753
+ Work = 754
+ Text = 755
+ To_String = 756
+ Minimum = 757
+ Maximum = 758
+ Untruncated_Text_Read = 759
+ Textio_Read_Real = 760
+ Textio_Write_Real = 761
+ Get_Resolution_Limit = 762
+ Control_Simulation = 763
+ Step = 764
+ Index = 765
+ Item = 766
+ Uu_File_Uu = 767
+ Uu_Line_Uu = 768
+ NNone = 769
+ Last_Misc = 769
+ First_Ieee = 770
+ Ieee = 770
+ Std_Logic_1164 = 771
+ Std_Ulogic = 772
+ Std_Ulogic_Vector = 773
+ Std_Logic = 774
+ Std_Logic_Vector = 775
+ Rising_Edge = 776
+ Falling_Edge = 777
+ VITAL_Timing = 778
+ VITAL_Level0 = 779
+ VITAL_Level1 = 780
+ Numeric_Std = 781
+ Numeric_Bit = 782
+ Unresolved_Unsigned = 783
+ Unresolved_Signed = 784
+ Std_Logic_Arith = 785
+ Std_Logic_Signed = 786
+ Std_Logic_Textio = 787
+ Std_Logic_Unsigned = 788
+ Last_Ieee = 788
+ First_Directive = 789
+ Define = 789
+ Endif = 790
+ Ifdef = 791
+ Ifndef = 792
+ Include = 793
+ Timescale = 794
+ Undef = 795
+ Protect = 796
+ Begin_Protected = 797
+ End_Protected = 798
+ Key_Block = 799
+ Data_Block = 800
+ Line = 801
+ Celldefine = 802
+ Endcelldefine = 803
+ Default_Nettype = 804
+ Resetall = 805
+ Last_Directive = 805
+ First_Systask = 806
+ Bits = 806
+ D_Root = 807
+ D_Unit = 808
+ Last_Systask = 808
+ First_SV_Method = 809
+ Size = 809
+ Insert = 810
+ Delete = 811
+ Pop_Front = 812
+ Pop_Back = 813
+ Push_Front = 814
+ Push_Back = 815
+ Name = 816
+ Len = 817
+ Substr = 818
+ Exists = 819
+ Atoi = 820
+ Itoa = 821
+ Find = 822
+ Find_Index = 823
+ Find_First = 824
+ Find_First_Index = 825
+ Find_Last = 826
+ Find_Last_Index = 827
+ Num = 828
+ Randomize = 829
+ Pre_Randomize = 830
+ Post_Randomize = 831
+ Srandom = 832
+ Get_Randstate = 833
+ Set_Randstate = 834
+ Seed = 835
+ State = 836
+ Last_SV_Method = 836
+ First_BSV = 837
+ uAction = 837
+ uActionValue = 838
+ BVI = 839
+ uC = 840
+ uCF = 841
+ uE = 842
+ uSB = 843
+ uSBR = 844
+ Action = 845
+ Endaction = 846
+ Actionvalue = 847
+ Endactionvalue = 848
+ Ancestor = 849
+ Clocked_By = 850
+ Default_Clock = 851
+ Default_Reset = 852
+ Dependencies = 853
+ Deriving = 854
+ Determines = 855
+ Enable = 856
+ Ifc_Inout = 857
+ Input_Clock = 858
+ Input_Reset = 859
+ Instance = 860
+ Endinstance = 861
+ Let = 862
+ Match = 863
+ Method = 864
+ Endmethod = 865
+ Numeric = 866
+ Output_Clock = 867
+ Output_Reset = 868
+ Par = 869
+ Endpar = 870
+ Path = 871
+ Provisos = 872
+ Ready = 873
+ Reset_By = 874
+ Rule = 875
+ Endrule = 876
+ Rules = 877
+ Endrules = 878
+ Same_Family = 879
+ Schedule = 880
+ Seq = 881
+ Endseq = 882
+ Typeclass = 883
+ Endtypeclass = 884
+ Valueof = 885
+ uValueof = 886
+ Last_BSV = 886
+ First_Comment = 887
+ Psl = 887
+ Pragma = 888
+ Last_Comment = 888
+ First_PSL = 889
+ A = 889
+ Af = 890
+ Ag = 891
+ Ax = 892
+ Abort = 893
+ Assume_Guarantee = 894
+ Before = 895
+ Clock = 896
+ E = 897
+ Ef = 898
+ Eg = 899
+ Ex = 900
+ Endpoint = 901
+ Eventually = 902
+ Fairness = 903
+ Fell = 904
+ Forall = 905
+ G = 906
+ Inf = 907
+ Inherit = 908
+ Never = 909
+ Next_A = 910
+ Next_E = 911
+ Next_Event = 912
+ Next_Event_A = 913
+ Next_Event_E = 914
+ Prev = 915
+ Restrict = 916
+ Restrict_Guarantee = 917
+ Rose = 918
+ Strong = 919
+ Vmode = 920
+ Vprop = 921
+ Vunit = 922
+ W = 923
+ Whilenot = 924
+ Within = 925
+ X = 926
+ Last_PSL = 926
+ First_Edif = 927
+ Celltype = 937
+ View = 938
+ Viewtype = 939
+ Direction = 940
+ Contents = 941
+ Net = 942
+ Viewref = 943
+ Cellref = 944
+ Libraryref = 945
+ Portinstance = 946
+ Joined = 947
+ Portref = 948
+ Instanceref = 949
+ Design = 950
+ Designator = 951
+ Owner = 952
+ Member = 953
+ Number = 954
+ Rename = 955
+ Userdata = 956
+ Last_Edif = 956
diff --git a/src/vhdl/python/libghdl/thin/vhdl/canon.py b/src/vhdl/python/libghdl/thin/vhdl/canon.py
new file mode 100644
index 000000000..48f421618
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/canon.py
@@ -0,0 +1,14 @@
+from libghdl import libghdl
+from ctypes import c_bool
+
+Flag_Concurrent_Stmts = c_bool.in_dll(
+ libghdl, "vhdl__canon__canon_flag_concurrent_stmts")
+
+Flag_Configurations = c_bool.in_dll(
+ libghdl, "vhdl__canon__canon_flag_configurations")
+
+Flag_Associations = c_bool.in_dll(
+ libghdl, "vhdl__canon__canon_flag_associations")
+
+Extract_Sequential_Statement_Chain_Sensitivity = \
+ libghdl.vhdl__canon__canon_extract_sequential_statement_chain_sensitivity
diff --git a/src/vhdl/python/libghdl/thin/vhdl/elocations.py b/src/vhdl/python/libghdl/thin/vhdl/elocations.py
new file mode 100644
index 000000000..8b627e33b
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/elocations.py
@@ -0,0 +1,62 @@
+from libghdl import libghdl
+
+
+Get_Start_Location = libghdl.elocations__get_start_location
+
+Set_Start_Location = libghdl.elocations__set_start_location
+
+Get_Right_Paren_Location = libghdl.elocations__get_right_paren_location
+
+Set_Right_Paren_Location = libghdl.elocations__set_right_paren_location
+
+Get_End_Location = libghdl.elocations__get_end_location
+
+Set_End_Location = libghdl.elocations__set_end_location
+
+Get_Is_Location = libghdl.elocations__get_is_location
+
+Set_Is_Location = libghdl.elocations__set_is_location
+
+Get_Begin_Location = libghdl.elocations__get_begin_location
+
+Set_Begin_Location = libghdl.elocations__set_begin_location
+
+Get_Then_Location = libghdl.elocations__get_then_location
+
+Set_Then_Location = libghdl.elocations__set_then_location
+
+Get_Loop_Location = libghdl.elocations__get_loop_location
+
+Set_Loop_Location = libghdl.elocations__set_loop_location
+
+Get_Generate_Location = libghdl.elocations__get_generate_location
+
+Set_Generate_Location = libghdl.elocations__set_generate_location
+
+Get_Generic_Location = libghdl.elocations__get_generic_location
+
+Set_Generic_Location = libghdl.elocations__set_generic_location
+
+Get_Port_Location = libghdl.elocations__get_port_location
+
+Set_Port_Location = libghdl.elocations__set_port_location
+
+Get_Generic_Map_Location = libghdl.elocations__get_generic_map_location
+
+Set_Generic_Map_Location = libghdl.elocations__set_generic_map_location
+
+Get_Port_Map_Location = libghdl.elocations__get_port_map_location
+
+Set_Port_Map_Location = libghdl.elocations__set_port_map_location
+
+Get_Arrow_Location = libghdl.elocations__get_arrow_location
+
+Set_Arrow_Location = libghdl.elocations__set_arrow_location
+
+Get_Colon_Location = libghdl.elocations__get_colon_location
+
+Set_Colon_Location = libghdl.elocations__set_colon_location
+
+Get_Assign_Location = libghdl.elocations__get_assign_location
+
+Set_Assign_Location = libghdl.elocations__set_assign_location
diff --git a/src/vhdl/python/libghdl/thin/vhdl/flists.py b/src/vhdl/python/libghdl/thin/vhdl/flists.py
new file mode 100644
index 000000000..6cdd39ff3
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/flists.py
@@ -0,0 +1,11 @@
+from libghdl import libghdl
+from ctypes import c_int32
+
+Flist_Type = c_int32
+
+Ffirst = 0
+Flast = libghdl.vhdl__flists__flast
+
+Length = libghdl.vhdl__flists__length
+
+Get_Nth_Element = libghdl.vhdl__flists__get_nth_element
diff --git a/src/vhdl/python/libghdl/thin/vhdl/ieee.py b/src/vhdl/python/libghdl/thin/vhdl/ieee.py
new file mode 100644
index 000000000..d1192537d
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/ieee.py
@@ -0,0 +1,21 @@
+from libghdl import libghdl
+from ctypes import c_int
+
+Std_Logic_1164_Pkg = c_int.in_dll(
+ libghdl, "vhdl__ieee__std_logic_1164__std_logic_1164_pkg")
+
+# Get value
+Std_Logic_Type = c_int.in_dll(
+ libghdl, "vhdl__ieee__std_logic_1164__std_logic_type")
+
+# Get value
+Std_Logic_Vector_Type = c_int.in_dll(
+ libghdl, "vhdl__ieee__std_logic_1164__std_logic_vector_type")
+
+# Get value
+Rising_Edge = c_int.in_dll(
+ libghdl, "vhdl__ieee__std_logic_1164__rising_edge")
+
+# Get value
+Falling_Edge = c_int.in_dll(
+ libghdl, "vhdl__ieee__std_logic_1164__falling_edge")
diff --git a/src/vhdl/python/libghdl/thin/vhdl/lists.py b/src/vhdl/python/libghdl/thin/vhdl/lists.py
new file mode 100644
index 000000000..c1c40e6e7
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/lists.py
@@ -0,0 +1,33 @@
+from libghdl import libghdl
+from ctypes import c_int32, POINTER
+
+List_Type = c_int32
+
+class Iterator(Structure):
+ _fields_ = [("chunk", c_int32),
+ ("chunk_idx", c_int32),
+ ("remain", c_int32)]
+
+Iterate = libghdl.vhdl__lists__iterate
+Iterate.argstype = [List_Type]
+Iterate.restype = Iterator
+
+Is_Valid = libghdl.vhdl__lists__is_valid
+Is_Valid.argstype = [POINTER(Iterator)]
+Is_Valid.restype = c_bool
+
+Next = libghdl.vhdl__lists__next
+Next.argstype = [POINTER(Iterator)]
+Next.restype = None
+
+Get_Element = libghdl.vhdl__lists__get_element
+Get_Element.argstype = [POINTER(Iterator)]
+Get_Element.restype = c_int32
+
+Get_Nbr_Elements = libghdl.vhdl__lists__get_nbr_elements
+Get_Nbr_Elements.argtype = [List_Type]
+Get_Nbr_Elements.restype = c_int32
+
+Create_Iir_List = libghdl.vhdl__lists__create_list
+
+Destroy_Iir_List = libghdl.vhdl__lists__destroy_list
diff --git a/src/vhdl/python/libghdl/thin/vhdl/nodes.py b/src/vhdl/python/libghdl/thin/vhdl/nodes.py
new file mode 100644
index 000000000..9e687eebd
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/nodes.py
@@ -0,0 +1,2367 @@
+from libghdl import libghdl
+
+Null_Iir = 0
+Null_Iir_List = 0
+Iir_List_All = 1
+
+Null_Iir_Flist = 0
+Iir_Flist_Others = 1
+Iir_Flist_All = 2
+
+
+
+class Iir_Kind:
+ Unused = 0
+ Error = 1
+ Design_File = 2
+ Design_Unit = 3
+ Library_Clause = 4
+ Use_Clause = 5
+ Context_Reference = 6
+ Integer_Literal = 7
+ Floating_Point_Literal = 8
+ Null_Literal = 9
+ String_Literal8 = 10
+ Physical_Int_Literal = 11
+ Physical_Fp_Literal = 12
+ Simple_Aggregate = 13
+ Overflow_Literal = 14
+ Unaffected_Waveform = 15
+ Waveform_Element = 16
+ Conditional_Waveform = 17
+ Conditional_Expression = 18
+ Association_Element_By_Expression = 19
+ Association_Element_By_Individual = 20
+ Association_Element_Open = 21
+ Association_Element_Package = 22
+ Association_Element_Type = 23
+ Association_Element_Subprogram = 24
+ Choice_By_Range = 25
+ Choice_By_Expression = 26
+ Choice_By_Others = 27
+ Choice_By_None = 28
+ Choice_By_Name = 29
+ 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
+ Type_Declaration = 73
+ Anonymous_Type_Declaration = 74
+ Subtype_Declaration = 75
+ Nature_Declaration = 76
+ Subnature_Declaration = 77
+ Entity_Declaration = 78
+ Configuration_Declaration = 79
+ Context_Declaration = 80
+ Package_Declaration = 81
+ Package_Instantiation_Declaration = 82
+ Package_Body = 83
+ Architecture_Body = 84
+ Package_Header = 85
+ Unit_Declaration = 86
+ Library_Declaration = 87
+ Component_Declaration = 88
+ Attribute_Declaration = 89
+ Group_Template_Declaration = 90
+ Group_Declaration = 91
+ Element_Declaration = 92
+ Non_Object_Alias_Declaration = 93
+ Psl_Declaration = 94
+ Psl_Endpoint_Declaration = 95
+ Terminal_Declaration = 96
+ Free_Quantity_Declaration = 97
+ Across_Quantity_Declaration = 98
+ Through_Quantity_Declaration = 99
+ Enumeration_Literal = 100
+ Function_Declaration = 101
+ Procedure_Declaration = 102
+ Function_Body = 103
+ Procedure_Body = 104
+ Object_Alias_Declaration = 105
+ File_Declaration = 106
+ Guard_Signal_Declaration = 107
+ Signal_Declaration = 108
+ Variable_Declaration = 109
+ Constant_Declaration = 110
+ Iterator_Declaration = 111
+ Interface_Constant_Declaration = 112
+ Interface_Variable_Declaration = 113
+ Interface_Signal_Declaration = 114
+ Interface_File_Declaration = 115
+ Interface_Type_Declaration = 116
+ Interface_Package_Declaration = 117
+ Interface_Function_Declaration = 118
+ Interface_Procedure_Declaration = 119
+ Signal_Attribute_Declaration = 120
+ Identity_Operator = 121
+ Negation_Operator = 122
+ Absolute_Operator = 123
+ Not_Operator = 124
+ Implicit_Condition_Operator = 125
+ Condition_Operator = 126
+ Reduction_And_Operator = 127
+ Reduction_Or_Operator = 128
+ Reduction_Nand_Operator = 129
+ Reduction_Nor_Operator = 130
+ Reduction_Xor_Operator = 131
+ Reduction_Xnor_Operator = 132
+ And_Operator = 133
+ Or_Operator = 134
+ Nand_Operator = 135
+ Nor_Operator = 136
+ Xor_Operator = 137
+ Xnor_Operator = 138
+ Equality_Operator = 139
+ Inequality_Operator = 140
+ Less_Than_Operator = 141
+ Less_Than_Or_Equal_Operator = 142
+ Greater_Than_Operator = 143
+ Greater_Than_Or_Equal_Operator = 144
+ Match_Equality_Operator = 145
+ Match_Inequality_Operator = 146
+ Match_Less_Than_Operator = 147
+ Match_Less_Than_Or_Equal_Operator = 148
+ Match_Greater_Than_Operator = 149
+ Match_Greater_Than_Or_Equal_Operator = 150
+ Sll_Operator = 151
+ Sla_Operator = 152
+ Srl_Operator = 153
+ Sra_Operator = 154
+ Rol_Operator = 155
+ Ror_Operator = 156
+ Addition_Operator = 157
+ Substraction_Operator = 158
+ Concatenation_Operator = 159
+ Multiplication_Operator = 160
+ Division_Operator = 161
+ Modulus_Operator = 162
+ Remainder_Operator = 163
+ Exponentiation_Operator = 164
+ Function_Call = 165
+ Aggregate = 166
+ Parenthesis_Expression = 167
+ Qualified_Expression = 168
+ Type_Conversion = 169
+ Allocator_By_Expression = 170
+ Allocator_By_Subtype = 171
+ Selected_Element = 172
+ Dereference = 173
+ Implicit_Dereference = 174
+ Slice_Name = 175
+ Indexed_Name = 176
+ Psl_Expression = 177
+ Sensitized_Process_Statement = 178
+ Process_Statement = 179
+ Concurrent_Simple_Signal_Assignment = 180
+ Concurrent_Conditional_Signal_Assignment = 181
+ Concurrent_Selected_Signal_Assignment = 182
+ Concurrent_Assertion_Statement = 183
+ Concurrent_Procedure_Call_Statement = 184
+ Psl_Assert_Statement = 185
+ Psl_Cover_Statement = 186
+ Block_Statement = 187
+ If_Generate_Statement = 188
+ Case_Generate_Statement = 189
+ For_Generate_Statement = 190
+ Component_Instantiation_Statement = 191
+ Psl_Default_Clock = 192
+ Simple_Simultaneous_Statement = 193
+ Generate_Statement_Body = 194
+ If_Generate_Else_Clause = 195
+ Simple_Signal_Assignment_Statement = 196
+ Conditional_Signal_Assignment_Statement = 197
+ Selected_Waveform_Assignment_Statement = 198
+ Null_Statement = 199
+ Assertion_Statement = 200
+ Report_Statement = 201
+ Wait_Statement = 202
+ Variable_Assignment_Statement = 203
+ Conditional_Variable_Assignment_Statement = 204
+ Return_Statement = 205
+ For_Loop_Statement = 206
+ While_Loop_Statement = 207
+ Next_Statement = 208
+ Exit_Statement = 209
+ Case_Statement = 210
+ Procedure_Call_Statement = 211
+ If_Statement = 212
+ Elsif = 213
+ Character_Literal = 214
+ Simple_Name = 215
+ Selected_Name = 216
+ Operator_Symbol = 217
+ Reference_Name = 218
+ External_Constant_Name = 219
+ External_Signal_Name = 220
+ External_Variable_Name = 221
+ Selected_By_All_Name = 222
+ Parenthesis_Name = 223
+ Package_Pathname = 224
+ Absolute_Pathname = 225
+ Relative_Pathname = 226
+ Pathname_Element = 227
+ Base_Attribute = 228
+ Subtype_Attribute = 229
+ Element_Attribute = 230
+ Left_Type_Attribute = 231
+ Right_Type_Attribute = 232
+ High_Type_Attribute = 233
+ Low_Type_Attribute = 234
+ Ascending_Type_Attribute = 235
+ Image_Attribute = 236
+ Value_Attribute = 237
+ Pos_Attribute = 238
+ Val_Attribute = 239
+ Succ_Attribute = 240
+ Pred_Attribute = 241
+ Leftof_Attribute = 242
+ Rightof_Attribute = 243
+ Delayed_Attribute = 244
+ Stable_Attribute = 245
+ Quiet_Attribute = 246
+ Transaction_Attribute = 247
+ Event_Attribute = 248
+ Active_Attribute = 249
+ Last_Event_Attribute = 250
+ Last_Active_Attribute = 251
+ Last_Value_Attribute = 252
+ Driving_Attribute = 253
+ Driving_Value_Attribute = 254
+ Behavior_Attribute = 255
+ Structure_Attribute = 256
+ Simple_Name_Attribute = 257
+ Instance_Name_Attribute = 258
+ Path_Name_Attribute = 259
+ Left_Array_Attribute = 260
+ Right_Array_Attribute = 261
+ High_Array_Attribute = 262
+ Low_Array_Attribute = 263
+ Length_Array_Attribute = 264
+ Ascending_Array_Attribute = 265
+ Range_Array_Attribute = 266
+ Reverse_Range_Array_Attribute = 267
+ Attribute_Name = 268
+
+
+class Iir_Kinds:
+ Variable_Assignment_Statement = [
+ Iir_Kind.Variable_Assignment_Statement,
+ Iir_Kind.Conditional_Variable_Assignment_Statement]
+
+ Case_Choice = [
+ Iir_Kind.Choice_By_Range,
+ Iir_Kind.Choice_By_Expression,
+ Iir_Kind.Choice_By_Others]
+
+ Array_Type_Definition = [
+ Iir_Kind.Array_Type_Definition,
+ Iir_Kind.Array_Subtype_Definition]
+
+ Library_Unit = [
+ Iir_Kind.Entity_Declaration,
+ Iir_Kind.Configuration_Declaration,
+ Iir_Kind.Context_Declaration,
+ Iir_Kind.Package_Declaration,
+ Iir_Kind.Package_Instantiation_Declaration,
+ Iir_Kind.Package_Body,
+ Iir_Kind.Architecture_Body]
+
+ Array_Choice = [
+ Iir_Kind.Choice_By_Range,
+ Iir_Kind.Choice_By_Expression,
+ Iir_Kind.Choice_By_Others,
+ Iir_Kind.Choice_By_None]
+
+ Subprogram_Declaration = [
+ Iir_Kind.Function_Declaration,
+ Iir_Kind.Procedure_Declaration]
+
+ Subtype_Attribute = [
+ Iir_Kind.Base_Attribute,
+ Iir_Kind.Subtype_Attribute,
+ Iir_Kind.Element_Attribute]
+
+ Scalar_Subtype_Definition = [
+ Iir_Kind.Physical_Subtype_Definition,
+ Iir_Kind.Floating_Subtype_Definition,
+ Iir_Kind.Integer_Subtype_Definition,
+ Iir_Kind.Enumeration_Subtype_Definition]
+
+ Nonoverloadable_Declaration = [
+ Iir_Kind.Type_Declaration,
+ Iir_Kind.Anonymous_Type_Declaration,
+ Iir_Kind.Subtype_Declaration,
+ Iir_Kind.Nature_Declaration,
+ Iir_Kind.Subnature_Declaration,
+ Iir_Kind.Entity_Declaration,
+ Iir_Kind.Configuration_Declaration,
+ Iir_Kind.Context_Declaration,
+ Iir_Kind.Package_Declaration,
+ Iir_Kind.Package_Instantiation_Declaration,
+ Iir_Kind.Package_Body,
+ Iir_Kind.Architecture_Body,
+ Iir_Kind.Package_Header,
+ Iir_Kind.Unit_Declaration,
+ Iir_Kind.Library_Declaration,
+ Iir_Kind.Component_Declaration,
+ Iir_Kind.Attribute_Declaration,
+ Iir_Kind.Group_Template_Declaration,
+ Iir_Kind.Group_Declaration,
+ Iir_Kind.Element_Declaration]
+
+ Literal = [
+ Iir_Kind.Integer_Literal,
+ Iir_Kind.Floating_Point_Literal,
+ Iir_Kind.Null_Literal,
+ Iir_Kind.String_Literal8,
+ Iir_Kind.Physical_Int_Literal,
+ Iir_Kind.Physical_Fp_Literal]
+
+ Process_Statement = [
+ Iir_Kind.Sensitized_Process_Statement,
+ Iir_Kind.Process_Statement]
+
+ Object_Declaration = [
+ Iir_Kind.Object_Alias_Declaration,
+ Iir_Kind.File_Declaration,
+ Iir_Kind.Guard_Signal_Declaration,
+ Iir_Kind.Signal_Declaration,
+ Iir_Kind.Variable_Declaration,
+ Iir_Kind.Constant_Declaration,
+ Iir_Kind.Iterator_Declaration,
+ Iir_Kind.Interface_Constant_Declaration,
+ Iir_Kind.Interface_Variable_Declaration,
+ Iir_Kind.Interface_Signal_Declaration,
+ Iir_Kind.Interface_File_Declaration]
+
+ Clause = [
+ Iir_Kind.Library_Clause,
+ Iir_Kind.Use_Clause,
+ Iir_Kind.Context_Reference]
+
+ Type_And_Subtype_Definition = [
+ Iir_Kind.Access_Type_Definition,
+ Iir_Kind.Incomplete_Type_Definition,
+ Iir_Kind.Interface_Type_Definition,
+ Iir_Kind.File_Type_Definition,
+ Iir_Kind.Protected_Type_Declaration,
+ Iir_Kind.Record_Type_Definition,
+ Iir_Kind.Array_Type_Definition,
+ Iir_Kind.Array_Subtype_Definition,
+ Iir_Kind.Record_Subtype_Definition,
+ Iir_Kind.Access_Subtype_Definition,
+ Iir_Kind.Physical_Subtype_Definition,
+ Iir_Kind.Floating_Subtype_Definition,
+ Iir_Kind.Integer_Subtype_Definition,
+ Iir_Kind.Enumeration_Subtype_Definition,
+ Iir_Kind.Enumeration_Type_Definition,
+ Iir_Kind.Integer_Type_Definition,
+ Iir_Kind.Floating_Type_Definition,
+ Iir_Kind.Physical_Type_Definition]
+
+ External_Name = [
+ Iir_Kind.External_Constant_Name,
+ Iir_Kind.External_Signal_Name,
+ Iir_Kind.External_Variable_Name]
+
+ Primary_Unit = [
+ Iir_Kind.Entity_Declaration,
+ Iir_Kind.Configuration_Declaration,
+ Iir_Kind.Context_Declaration,
+ Iir_Kind.Package_Declaration,
+ Iir_Kind.Package_Instantiation_Declaration]
+
+ Record_Choice = [
+ Iir_Kind.Choice_By_Others,
+ Iir_Kind.Choice_By_None,
+ Iir_Kind.Choice_By_Name]
+
+ Functions_And_Literals = [
+ Iir_Kind.Enumeration_Literal,
+ Iir_Kind.Function_Declaration]
+
+ Secondary_Unit = [
+ Iir_Kind.Package_Body,
+ Iir_Kind.Architecture_Body]
+
+ Package_Declaration = [
+ Iir_Kind.Package_Declaration,
+ Iir_Kind.Package_Instantiation_Declaration]
+
+ Dereference = [
+ Iir_Kind.Dereference,
+ Iir_Kind.Implicit_Dereference]
+
+ Composite_Subtype_Definition = [
+ Iir_Kind.Array_Subtype_Definition,
+ Iir_Kind.Record_Subtype_Definition]
+
+ Choice = [
+ Iir_Kind.Choice_By_Range,
+ Iir_Kind.Choice_By_Expression,
+ Iir_Kind.Choice_By_Others,
+ Iir_Kind.Choice_By_None,
+ Iir_Kind.Choice_By_Name]
+
+ If_Case_Generate_Statement = [
+ Iir_Kind.If_Generate_Statement,
+ Iir_Kind.Case_Generate_Statement]
+
+ Simple_Concurrent_Statement = [
+ Iir_Kind.Sensitized_Process_Statement,
+ Iir_Kind.Process_Statement,
+ Iir_Kind.Concurrent_Simple_Signal_Assignment,
+ Iir_Kind.Concurrent_Conditional_Signal_Assignment,
+ Iir_Kind.Concurrent_Selected_Signal_Assignment,
+ Iir_Kind.Concurrent_Assertion_Statement,
+ Iir_Kind.Concurrent_Procedure_Call_Statement,
+ Iir_Kind.Psl_Assert_Statement,
+ Iir_Kind.Psl_Cover_Statement]
+
+ Non_Alias_Object_Declaration = [
+ Iir_Kind.File_Declaration,
+ Iir_Kind.Guard_Signal_Declaration,
+ Iir_Kind.Signal_Declaration,
+ Iir_Kind.Variable_Declaration,
+ Iir_Kind.Constant_Declaration,
+ Iir_Kind.Iterator_Declaration,
+ Iir_Kind.Interface_Constant_Declaration,
+ Iir_Kind.Interface_Variable_Declaration,
+ Iir_Kind.Interface_Signal_Declaration,
+ Iir_Kind.Interface_File_Declaration]
+
+ Entity_Aspect = [
+ Iir_Kind.Entity_Aspect_Entity,
+ Iir_Kind.Entity_Aspect_Configuration,
+ Iir_Kind.Entity_Aspect_Open]
+
+ Subprogram_Body = [
+ Iir_Kind.Function_Body,
+ Iir_Kind.Procedure_Body]
+
+ Type_Attribute = [
+ Iir_Kind.Left_Type_Attribute,
+ Iir_Kind.Right_Type_Attribute,
+ Iir_Kind.High_Type_Attribute,
+ Iir_Kind.Low_Type_Attribute,
+ Iir_Kind.Ascending_Type_Attribute]
+
+ Specification = [
+ Iir_Kind.Attribute_Specification,
+ Iir_Kind.Disconnection_Specification,
+ Iir_Kind.Configuration_Specification]
+
+ Dyadic_Operator = [
+ Iir_Kind.And_Operator,
+ Iir_Kind.Or_Operator,
+ Iir_Kind.Nand_Operator,
+ Iir_Kind.Nor_Operator,
+ Iir_Kind.Xor_Operator,
+ Iir_Kind.Xnor_Operator,
+ Iir_Kind.Equality_Operator,
+ Iir_Kind.Inequality_Operator,
+ Iir_Kind.Less_Than_Operator,
+ Iir_Kind.Less_Than_Or_Equal_Operator,
+ Iir_Kind.Greater_Than_Operator,
+ Iir_Kind.Greater_Than_Or_Equal_Operator,
+ Iir_Kind.Match_Equality_Operator,
+ Iir_Kind.Match_Inequality_Operator,
+ Iir_Kind.Match_Less_Than_Operator,
+ Iir_Kind.Match_Less_Than_Or_Equal_Operator,
+ Iir_Kind.Match_Greater_Than_Operator,
+ Iir_Kind.Match_Greater_Than_Or_Equal_Operator,
+ Iir_Kind.Sll_Operator,
+ Iir_Kind.Sla_Operator,
+ Iir_Kind.Srl_Operator,
+ Iir_Kind.Sra_Operator,
+ Iir_Kind.Rol_Operator,
+ Iir_Kind.Ror_Operator,
+ Iir_Kind.Addition_Operator,
+ Iir_Kind.Substraction_Operator,
+ Iir_Kind.Concatenation_Operator,
+ Iir_Kind.Multiplication_Operator,
+ Iir_Kind.Division_Operator,
+ Iir_Kind.Modulus_Operator,
+ Iir_Kind.Remainder_Operator,
+ Iir_Kind.Exponentiation_Operator]
+
+ Expression_Attribute = [
+ Iir_Kind.Left_Type_Attribute,
+ Iir_Kind.Right_Type_Attribute,
+ Iir_Kind.High_Type_Attribute,
+ Iir_Kind.Low_Type_Attribute,
+ Iir_Kind.Ascending_Type_Attribute,
+ Iir_Kind.Image_Attribute,
+ Iir_Kind.Value_Attribute,
+ Iir_Kind.Pos_Attribute,
+ Iir_Kind.Val_Attribute,
+ Iir_Kind.Succ_Attribute,
+ Iir_Kind.Pred_Attribute,
+ Iir_Kind.Leftof_Attribute,
+ Iir_Kind.Rightof_Attribute,
+ Iir_Kind.Delayed_Attribute,
+ Iir_Kind.Stable_Attribute,
+ Iir_Kind.Quiet_Attribute,
+ Iir_Kind.Transaction_Attribute,
+ Iir_Kind.Event_Attribute,
+ Iir_Kind.Active_Attribute,
+ Iir_Kind.Last_Event_Attribute,
+ Iir_Kind.Last_Active_Attribute,
+ Iir_Kind.Last_Value_Attribute,
+ Iir_Kind.Driving_Attribute,
+ Iir_Kind.Driving_Value_Attribute,
+ Iir_Kind.Behavior_Attribute,
+ Iir_Kind.Structure_Attribute,
+ Iir_Kind.Simple_Name_Attribute,
+ Iir_Kind.Instance_Name_Attribute,
+ Iir_Kind.Path_Name_Attribute,
+ Iir_Kind.Left_Array_Attribute,
+ Iir_Kind.Right_Array_Attribute,
+ Iir_Kind.High_Array_Attribute,
+ Iir_Kind.Low_Array_Attribute,
+ Iir_Kind.Length_Array_Attribute,
+ Iir_Kind.Ascending_Array_Attribute]
+
+ Monadic_Operator = [
+ Iir_Kind.Identity_Operator,
+ Iir_Kind.Negation_Operator,
+ Iir_Kind.Absolute_Operator,
+ Iir_Kind.Not_Operator,
+ Iir_Kind.Implicit_Condition_Operator,
+ Iir_Kind.Condition_Operator,
+ Iir_Kind.Reduction_And_Operator,
+ Iir_Kind.Reduction_Or_Operator,
+ Iir_Kind.Reduction_Nand_Operator,
+ Iir_Kind.Reduction_Nor_Operator,
+ Iir_Kind.Reduction_Xor_Operator,
+ Iir_Kind.Reduction_Xnor_Operator]
+
+ Interface_Declaration = [
+ Iir_Kind.Interface_Constant_Declaration,
+ Iir_Kind.Interface_Variable_Declaration,
+ Iir_Kind.Interface_Signal_Declaration,
+ Iir_Kind.Interface_File_Declaration,
+ Iir_Kind.Interface_Type_Declaration,
+ Iir_Kind.Interface_Package_Declaration,
+ Iir_Kind.Interface_Function_Declaration,
+ Iir_Kind.Interface_Procedure_Declaration]
+
+ Array_Attribute = [
+ Iir_Kind.Left_Array_Attribute,
+ Iir_Kind.Right_Array_Attribute,
+ Iir_Kind.High_Array_Attribute,
+ Iir_Kind.Low_Array_Attribute,
+ Iir_Kind.Length_Array_Attribute,
+ Iir_Kind.Ascending_Array_Attribute,
+ Iir_Kind.Range_Array_Attribute,
+ Iir_Kind.Reverse_Range_Array_Attribute]
+
+ Sequential_Statement = [
+ Iir_Kind.Simple_Signal_Assignment_Statement,
+ Iir_Kind.Conditional_Signal_Assignment_Statement,
+ Iir_Kind.Selected_Waveform_Assignment_Statement,
+ Iir_Kind.Null_Statement,
+ Iir_Kind.Assertion_Statement,
+ Iir_Kind.Report_Statement,
+ Iir_Kind.Wait_Statement,
+ Iir_Kind.Variable_Assignment_Statement,
+ Iir_Kind.Conditional_Variable_Assignment_Statement,
+ Iir_Kind.Return_Statement,
+ Iir_Kind.For_Loop_Statement,
+ Iir_Kind.While_Loop_Statement,
+ Iir_Kind.Next_Statement,
+ Iir_Kind.Exit_Statement,
+ Iir_Kind.Case_Statement,
+ Iir_Kind.Procedure_Call_Statement,
+ Iir_Kind.If_Statement]
+
+ Denoting_And_External_Name = [
+ Iir_Kind.Character_Literal,
+ Iir_Kind.Simple_Name,
+ Iir_Kind.Selected_Name,
+ Iir_Kind.Operator_Symbol,
+ Iir_Kind.Reference_Name,
+ Iir_Kind.External_Constant_Name,
+ Iir_Kind.External_Signal_Name,
+ Iir_Kind.External_Variable_Name]
+
+ Range_Type_Definition = [
+ Iir_Kind.Physical_Subtype_Definition,
+ Iir_Kind.Floating_Subtype_Definition,
+ Iir_Kind.Integer_Subtype_Definition,
+ Iir_Kind.Enumeration_Subtype_Definition,
+ Iir_Kind.Enumeration_Type_Definition]
+
+ Discrete_Type_Definition = [
+ Iir_Kind.Integer_Subtype_Definition,
+ Iir_Kind.Enumeration_Subtype_Definition,
+ Iir_Kind.Enumeration_Type_Definition,
+ Iir_Kind.Integer_Type_Definition]
+
+ Concurrent_Statement = [
+ Iir_Kind.Sensitized_Process_Statement,
+ Iir_Kind.Process_Statement,
+ Iir_Kind.Concurrent_Simple_Signal_Assignment,
+ Iir_Kind.Concurrent_Conditional_Signal_Assignment,
+ Iir_Kind.Concurrent_Selected_Signal_Assignment,
+ Iir_Kind.Concurrent_Assertion_Statement,
+ Iir_Kind.Concurrent_Procedure_Call_Statement,
+ Iir_Kind.Psl_Assert_Statement,
+ Iir_Kind.Psl_Cover_Statement,
+ Iir_Kind.Block_Statement,
+ Iir_Kind.If_Generate_Statement,
+ Iir_Kind.Case_Generate_Statement,
+ Iir_Kind.For_Generate_Statement,
+ Iir_Kind.Component_Instantiation_Statement,
+ Iir_Kind.Psl_Default_Clock]
+
+ Signal_Attribute = [
+ Iir_Kind.Delayed_Attribute,
+ Iir_Kind.Stable_Attribute,
+ Iir_Kind.Quiet_Attribute,
+ Iir_Kind.Transaction_Attribute]
+
+ Type_Declaration = [
+ Iir_Kind.Type_Declaration,
+ Iir_Kind.Anonymous_Type_Declaration,
+ Iir_Kind.Subtype_Declaration]
+
+ Association_Element = [
+ Iir_Kind.Association_Element_By_Expression,
+ Iir_Kind.Association_Element_By_Individual,
+ Iir_Kind.Association_Element_Open]
+
+ Interface_Object_Declaration = [
+ Iir_Kind.Interface_Constant_Declaration,
+ Iir_Kind.Interface_Variable_Declaration,
+ Iir_Kind.Interface_Signal_Declaration,
+ Iir_Kind.Interface_File_Declaration]
+
+ Composite_Type_Definition = [
+ Iir_Kind.Record_Type_Definition,
+ Iir_Kind.Array_Type_Definition,
+ Iir_Kind.Array_Subtype_Definition,
+ Iir_Kind.Record_Subtype_Definition]
+
+ Interface_Subprogram_Declaration = [
+ Iir_Kind.Interface_Function_Declaration,
+ Iir_Kind.Interface_Procedure_Declaration]
+
+ Branch_Quantity_Declaration = [
+ Iir_Kind.Across_Quantity_Declaration,
+ Iir_Kind.Through_Quantity_Declaration]
+
+ Signal_Value_Attribute = [
+ Iir_Kind.Event_Attribute,
+ Iir_Kind.Active_Attribute,
+ Iir_Kind.Last_Event_Attribute,
+ Iir_Kind.Last_Active_Attribute,
+ Iir_Kind.Last_Value_Attribute,
+ Iir_Kind.Driving_Attribute,
+ Iir_Kind.Driving_Value_Attribute]
+
+ Quantity_Declaration = [
+ Iir_Kind.Free_Quantity_Declaration,
+ Iir_Kind.Across_Quantity_Declaration,
+ Iir_Kind.Through_Quantity_Declaration]
+
+ Physical_Literal = [
+ Iir_Kind.Physical_Int_Literal,
+ Iir_Kind.Physical_Fp_Literal]
+
+ Scalar_Type_And_Subtype_Definition = [
+ Iir_Kind.Physical_Subtype_Definition,
+ Iir_Kind.Floating_Subtype_Definition,
+ Iir_Kind.Integer_Subtype_Definition,
+ Iir_Kind.Enumeration_Subtype_Definition,
+ Iir_Kind.Enumeration_Type_Definition,
+ Iir_Kind.Integer_Type_Definition,
+ Iir_Kind.Floating_Type_Definition,
+ Iir_Kind.Physical_Type_Definition]
+
+ Attribute = [
+ Iir_Kind.Base_Attribute,
+ Iir_Kind.Subtype_Attribute,
+ Iir_Kind.Element_Attribute,
+ Iir_Kind.Left_Type_Attribute,
+ Iir_Kind.Right_Type_Attribute,
+ Iir_Kind.High_Type_Attribute,
+ Iir_Kind.Low_Type_Attribute,
+ Iir_Kind.Ascending_Type_Attribute,
+ Iir_Kind.Image_Attribute,
+ Iir_Kind.Value_Attribute,
+ Iir_Kind.Pos_Attribute,
+ Iir_Kind.Val_Attribute,
+ Iir_Kind.Succ_Attribute,
+ Iir_Kind.Pred_Attribute,
+ Iir_Kind.Leftof_Attribute,
+ Iir_Kind.Rightof_Attribute,
+ Iir_Kind.Delayed_Attribute,
+ Iir_Kind.Stable_Attribute,
+ Iir_Kind.Quiet_Attribute,
+ Iir_Kind.Transaction_Attribute,
+ Iir_Kind.Event_Attribute,
+ Iir_Kind.Active_Attribute,
+ Iir_Kind.Last_Event_Attribute,
+ Iir_Kind.Last_Active_Attribute,
+ Iir_Kind.Last_Value_Attribute,
+ Iir_Kind.Driving_Attribute,
+ Iir_Kind.Driving_Value_Attribute,
+ Iir_Kind.Behavior_Attribute,
+ Iir_Kind.Structure_Attribute,
+ Iir_Kind.Simple_Name_Attribute,
+ Iir_Kind.Instance_Name_Attribute,
+ Iir_Kind.Path_Name_Attribute,
+ Iir_Kind.Left_Array_Attribute,
+ Iir_Kind.Right_Array_Attribute,
+ Iir_Kind.High_Array_Attribute,
+ Iir_Kind.Low_Array_Attribute,
+ Iir_Kind.Length_Array_Attribute,
+ Iir_Kind.Ascending_Array_Attribute,
+ Iir_Kind.Range_Array_Attribute,
+ Iir_Kind.Reverse_Range_Array_Attribute]
+
+ Denoting_Name = [
+ Iir_Kind.Character_Literal,
+ Iir_Kind.Simple_Name,
+ Iir_Kind.Selected_Name,
+ Iir_Kind.Operator_Symbol,
+ Iir_Kind.Reference_Name]
+
+ Concurrent_Signal_Assignment = [
+ Iir_Kind.Concurrent_Simple_Signal_Assignment,
+ Iir_Kind.Concurrent_Conditional_Signal_Assignment,
+ Iir_Kind.Concurrent_Selected_Signal_Assignment]
+
+ Range_Attribute = [
+ Iir_Kind.Range_Array_Attribute,
+ Iir_Kind.Reverse_Range_Array_Attribute]
+
+ Name_Attribute = [
+ Iir_Kind.Simple_Name_Attribute,
+ Iir_Kind.Instance_Name_Attribute,
+ Iir_Kind.Path_Name_Attribute]
+
+ Scalar_Type_Attribute = [
+ Iir_Kind.Pos_Attribute,
+ Iir_Kind.Val_Attribute,
+ Iir_Kind.Succ_Attribute,
+ Iir_Kind.Pred_Attribute,
+ Iir_Kind.Leftof_Attribute,
+ Iir_Kind.Rightof_Attribute]
+
+ Name = [
+ Iir_Kind.Character_Literal,
+ Iir_Kind.Simple_Name,
+ Iir_Kind.Selected_Name,
+ Iir_Kind.Operator_Symbol,
+ Iir_Kind.Reference_Name,
+ Iir_Kind.External_Constant_Name,
+ Iir_Kind.External_Signal_Name,
+ Iir_Kind.External_Variable_Name,
+ Iir_Kind.Selected_By_All_Name,
+ Iir_Kind.Parenthesis_Name]
+
+ Subtype_Definition = [
+ Iir_Kind.Array_Subtype_Definition,
+ Iir_Kind.Record_Subtype_Definition,
+ Iir_Kind.Access_Subtype_Definition,
+ Iir_Kind.Physical_Subtype_Definition,
+ Iir_Kind.Floating_Subtype_Definition,
+ Iir_Kind.Integer_Subtype_Definition,
+ Iir_Kind.Enumeration_Subtype_Definition]
+
+ Allocator = [
+ Iir_Kind.Allocator_By_Expression,
+ Iir_Kind.Allocator_By_Subtype]
+
+
+
+class Iir_Mode:
+ Unknown_Mode = 0
+ Linkage_Mode = 1
+ Buffer_Mode = 2
+ Out_Mode = 3
+ Inout_Mode = 4
+ In_Mode = 5
+
+
+class Iir_Staticness:
+ Unknown = 0
+ PNone = 1
+ Globally = 2
+ Locally = 3
+
+
+class Iir_Constraint:
+ Unconstrained = 0
+ Partially_Constrained = 1
+ Fully_Constrained = 2
+
+
+class Iir_Direction:
+ To = 0
+ Downto = 1
+
+
+class Iir_Delay_Mechanism:
+ Inertial_Delay = 0
+ Transport_Delay = 1
+
+
+class Date_State:
+ Extern = 0
+ Disk = 1
+ Parse = 2
+ Analyze = 3
+
+
+class Iir_Predefined:
+ Error = 0
+ Boolean_And = 1
+ Boolean_Or = 2
+ Boolean_Nand = 3
+ Boolean_Nor = 4
+ Boolean_Xor = 5
+ Boolean_Xnor = 6
+ Boolean_Not = 7
+ Boolean_Rising_Edge = 8
+ Boolean_Falling_Edge = 9
+ Enum_Equality = 10
+ Enum_Inequality = 11
+ Enum_Less = 12
+ Enum_Less_Equal = 13
+ Enum_Greater = 14
+ Enum_Greater_Equal = 15
+ Enum_Minimum = 16
+ Enum_Maximum = 17
+ Enum_To_String = 18
+ Bit_And = 19
+ Bit_Or = 20
+ Bit_Nand = 21
+ Bit_Nor = 22
+ Bit_Xor = 23
+ Bit_Xnor = 24
+ Bit_Not = 25
+ Bit_Match_Equality = 26
+ Bit_Match_Inequality = 27
+ Bit_Match_Less = 28
+ Bit_Match_Less_Equal = 29
+ Bit_Match_Greater = 30
+ Bit_Match_Greater_Equal = 31
+ Bit_Condition = 32
+ Bit_Rising_Edge = 33
+ Bit_Falling_Edge = 34
+ Integer_Equality = 35
+ Integer_Inequality = 36
+ Integer_Less = 37
+ Integer_Less_Equal = 38
+ Integer_Greater = 39
+ Integer_Greater_Equal = 40
+ Integer_Identity = 41
+ Integer_Negation = 42
+ Integer_Absolute = 43
+ Integer_Plus = 44
+ Integer_Minus = 45
+ Integer_Mul = 46
+ Integer_Div = 47
+ Integer_Mod = 48
+ Integer_Rem = 49
+ Integer_Exp = 50
+ Integer_Minimum = 51
+ Integer_Maximum = 52
+ Integer_To_String = 53
+ Floating_Equality = 54
+ Floating_Inequality = 55
+ Floating_Less = 56
+ Floating_Less_Equal = 57
+ Floating_Greater = 58
+ Floating_Greater_Equal = 59
+ Floating_Identity = 60
+ Floating_Negation = 61
+ Floating_Absolute = 62
+ Floating_Plus = 63
+ Floating_Minus = 64
+ Floating_Mul = 65
+ Floating_Div = 66
+ Floating_Exp = 67
+ Floating_Minimum = 68
+ Floating_Maximum = 69
+ Floating_To_String = 70
+ Real_To_String_Digits = 71
+ Real_To_String_Format = 72
+ Universal_R_I_Mul = 73
+ Universal_I_R_Mul = 74
+ Universal_R_I_Div = 75
+ Physical_Equality = 76
+ Physical_Inequality = 77
+ Physical_Less = 78
+ Physical_Less_Equal = 79
+ Physical_Greater = 80
+ Physical_Greater_Equal = 81
+ Physical_Identity = 82
+ Physical_Negation = 83
+ Physical_Absolute = 84
+ Physical_Plus = 85
+ Physical_Minus = 86
+ Physical_Integer_Mul = 87
+ Physical_Real_Mul = 88
+ Integer_Physical_Mul = 89
+ Real_Physical_Mul = 90
+ Physical_Integer_Div = 91
+ Physical_Real_Div = 92
+ Physical_Physical_Div = 93
+ Physical_Minimum = 94
+ Physical_Maximum = 95
+ Physical_To_String = 96
+ Time_To_String_Unit = 97
+ Access_Equality = 98
+ Access_Inequality = 99
+ Record_Equality = 100
+ Record_Inequality = 101
+ Array_Equality = 102
+ Array_Inequality = 103
+ Array_Less = 104
+ Array_Less_Equal = 105
+ Array_Greater = 106
+ Array_Greater_Equal = 107
+ Array_Array_Concat = 108
+ Array_Element_Concat = 109
+ Element_Array_Concat = 110
+ Element_Element_Concat = 111
+ Array_Minimum = 112
+ Array_Maximum = 113
+ Vector_Minimum = 114
+ Vector_Maximum = 115
+ Array_Sll = 116
+ Array_Srl = 117
+ Array_Sla = 118
+ Array_Sra = 119
+ Array_Rol = 120
+ Array_Ror = 121
+ TF_Array_And = 122
+ TF_Array_Or = 123
+ TF_Array_Nand = 124
+ TF_Array_Nor = 125
+ TF_Array_Xor = 126
+ TF_Array_Xnor = 127
+ TF_Array_Not = 128
+ TF_Reduction_And = 129
+ TF_Reduction_Or = 130
+ TF_Reduction_Nand = 131
+ TF_Reduction_Nor = 132
+ TF_Reduction_Xor = 133
+ TF_Reduction_Xnor = 134
+ TF_Reduction_Not = 135
+ TF_Array_Element_And = 136
+ TF_Element_Array_And = 137
+ TF_Array_Element_Or = 138
+ TF_Element_Array_Or = 139
+ TF_Array_Element_Nand = 140
+ TF_Element_Array_Nand = 141
+ TF_Array_Element_Nor = 142
+ TF_Element_Array_Nor = 143
+ TF_Array_Element_Xor = 144
+ TF_Element_Array_Xor = 145
+ TF_Array_Element_Xnor = 146
+ TF_Element_Array_Xnor = 147
+ Bit_Array_Match_Equality = 148
+ Bit_Array_Match_Inequality = 149
+ Array_Char_To_String = 150
+ Bit_Vector_To_Ostring = 151
+ Bit_Vector_To_Hstring = 152
+ Std_Ulogic_Match_Equality = 153
+ Std_Ulogic_Match_Inequality = 154
+ Std_Ulogic_Match_Less = 155
+ Std_Ulogic_Match_Less_Equal = 156
+ Std_Ulogic_Match_Greater = 157
+ Std_Ulogic_Match_Greater_Equal = 158
+ Std_Ulogic_Array_Match_Equality = 159
+ Std_Ulogic_Array_Match_Inequality = 160
+ Deallocate = 161
+ File_Open = 162
+ File_Open_Status = 163
+ File_Close = 164
+ Read = 165
+ Read_Length = 166
+ Flush = 167
+ Write = 168
+ Endfile = 169
+ Now_Function = 170
+ PNone = 171
+ Ieee_1164_Scalar_And = 172
+ Ieee_1164_Scalar_Nand = 173
+ Ieee_1164_Scalar_Or = 174
+ Ieee_1164_Scalar_Nor = 175
+ Ieee_1164_Scalar_Xor = 176
+ Ieee_1164_Scalar_Xnor = 177
+ Ieee_1164_Scalar_Not = 178
+ Ieee_1164_Vector_And = 179
+ Ieee_1164_Vector_Nand = 180
+ Ieee_1164_Vector_Or = 181
+ Ieee_1164_Vector_Nor = 182
+ Ieee_1164_Vector_Xor = 183
+ Ieee_1164_Vector_Xnor = 184
+ Ieee_1164_Vector_Not = 185
+ Ieee_Numeric_Std_Add_Uns_Uns = 186
+ Ieee_Numeric_Std_Add_Uns_Nat = 187
+ Ieee_Numeric_Std_Add_Nat_Uns = 188
+ Ieee_Numeric_Std_Add_Sgn_Sgn = 189
+ Ieee_Numeric_Std_Add_Sgn_Int = 190
+ Ieee_Numeric_Std_Add_Int_Sgn = 191
+ Ieee_Numeric_Std_Eq_Uns_Uns = 192
+ Ieee_Numeric_Std_Eq_Uns_Nat = 193
+ Ieee_Numeric_Std_Eq_Nat_Uns = 194
+ Ieee_Numeric_Std_Eq_Sgn_Sgn = 195
+ Ieee_Numeric_Std_Eq_Sgn_Int = 196
+ Ieee_Numeric_Std_Eq_Int_Sgn = 197
+
+Get_Kind = libghdl.vhdl__nodes__get_kind
+Get_Location = libghdl.vhdl__nodes__get_location
+
+Get_First_Design_Unit = libghdl.vhdl__nodes__get_first_design_unit
+
+Set_First_Design_Unit = libghdl.vhdl__nodes__set_first_design_unit
+
+Get_Last_Design_Unit = libghdl.vhdl__nodes__get_last_design_unit
+
+Set_Last_Design_Unit = libghdl.vhdl__nodes__set_last_design_unit
+
+Get_Library_Declaration = libghdl.vhdl__nodes__get_library_declaration
+
+Set_Library_Declaration = libghdl.vhdl__nodes__set_library_declaration
+
+Get_File_Checksum = libghdl.vhdl__nodes__get_file_checksum
+
+Set_File_Checksum = libghdl.vhdl__nodes__set_file_checksum
+
+Get_Analysis_Time_Stamp = libghdl.vhdl__nodes__get_analysis_time_stamp
+
+Set_Analysis_Time_Stamp = libghdl.vhdl__nodes__set_analysis_time_stamp
+
+Get_Design_File_Source = libghdl.vhdl__nodes__get_design_file_source
+
+Set_Design_File_Source = libghdl.vhdl__nodes__set_design_file_source
+
+Get_Library = libghdl.vhdl__nodes__get_library
+
+Set_Library = libghdl.vhdl__nodes__set_library
+
+Get_File_Dependence_List = libghdl.vhdl__nodes__get_file_dependence_list
+
+Set_File_Dependence_List = libghdl.vhdl__nodes__set_file_dependence_list
+
+Get_Design_File_Filename = libghdl.vhdl__nodes__get_design_file_filename
+
+Set_Design_File_Filename = libghdl.vhdl__nodes__set_design_file_filename
+
+Get_Design_File_Directory = libghdl.vhdl__nodes__get_design_file_directory
+
+Set_Design_File_Directory = libghdl.vhdl__nodes__set_design_file_directory
+
+Get_Design_File = libghdl.vhdl__nodes__get_design_file
+
+Set_Design_File = libghdl.vhdl__nodes__set_design_file
+
+Get_Design_File_Chain = libghdl.vhdl__nodes__get_design_file_chain
+
+Set_Design_File_Chain = libghdl.vhdl__nodes__set_design_file_chain
+
+Get_Library_Directory = libghdl.vhdl__nodes__get_library_directory
+
+Set_Library_Directory = libghdl.vhdl__nodes__set_library_directory
+
+Get_Date = libghdl.vhdl__nodes__get_date
+
+Set_Date = libghdl.vhdl__nodes__set_date
+
+Get_Context_Items = libghdl.vhdl__nodes__get_context_items
+
+Set_Context_Items = libghdl.vhdl__nodes__set_context_items
+
+Get_Dependence_List = libghdl.vhdl__nodes__get_dependence_list
+
+Set_Dependence_List = libghdl.vhdl__nodes__set_dependence_list
+
+Get_Analysis_Checks_List = libghdl.vhdl__nodes__get_analysis_checks_list
+
+Set_Analysis_Checks_List = libghdl.vhdl__nodes__set_analysis_checks_list
+
+Get_Date_State = libghdl.vhdl__nodes__get_date_state
+
+Set_Date_State = libghdl.vhdl__nodes__set_date_state
+
+Get_Guarded_Target_State = libghdl.vhdl__nodes__get_guarded_target_state
+
+Set_Guarded_Target_State = libghdl.vhdl__nodes__set_guarded_target_state
+
+Get_Library_Unit = libghdl.vhdl__nodes__get_library_unit
+
+Set_Library_Unit = libghdl.vhdl__nodes__set_library_unit
+
+Get_Hash_Chain = libghdl.vhdl__nodes__get_hash_chain
+
+Set_Hash_Chain = libghdl.vhdl__nodes__set_hash_chain
+
+Get_Design_Unit_Source_Pos = libghdl.vhdl__nodes__get_design_unit_source_pos
+
+Set_Design_Unit_Source_Pos = libghdl.vhdl__nodes__set_design_unit_source_pos
+
+Get_Design_Unit_Source_Line = libghdl.vhdl__nodes__get_design_unit_source_line
+
+Set_Design_Unit_Source_Line = libghdl.vhdl__nodes__set_design_unit_source_line
+
+Get_Design_Unit_Source_Col = libghdl.vhdl__nodes__get_design_unit_source_col
+
+Set_Design_Unit_Source_Col = libghdl.vhdl__nodes__set_design_unit_source_col
+
+Get_Value = libghdl.vhdl__nodes__get_value
+
+Set_Value = libghdl.vhdl__nodes__set_value
+
+Get_Enum_Pos = libghdl.vhdl__nodes__get_enum_pos
+
+Set_Enum_Pos = libghdl.vhdl__nodes__set_enum_pos
+
+Get_Physical_Literal = libghdl.vhdl__nodes__get_physical_literal
+
+Set_Physical_Literal = libghdl.vhdl__nodes__set_physical_literal
+
+Get_Fp_Value = libghdl.vhdl__nodes__get_fp_value
+
+Set_Fp_Value = libghdl.vhdl__nodes__set_fp_value
+
+Get_Simple_Aggregate_List = libghdl.vhdl__nodes__get_simple_aggregate_list
+
+Set_Simple_Aggregate_List = libghdl.vhdl__nodes__set_simple_aggregate_list
+
+Get_String8_Id = libghdl.vhdl__nodes__get_string8_id
+
+Set_String8_Id = libghdl.vhdl__nodes__set_string8_id
+
+Get_String_Length = libghdl.vhdl__nodes__get_string_length
+
+Set_String_Length = libghdl.vhdl__nodes__set_string_length
+
+Get_Bit_String_Base = libghdl.vhdl__nodes__get_bit_string_base
+
+Set_Bit_String_Base = libghdl.vhdl__nodes__set_bit_string_base
+
+Get_Has_Signed = libghdl.vhdl__nodes__get_has_signed
+
+Set_Has_Signed = libghdl.vhdl__nodes__set_has_signed
+
+Get_Has_Sign = libghdl.vhdl__nodes__get_has_sign
+
+Set_Has_Sign = libghdl.vhdl__nodes__set_has_sign
+
+Get_Has_Length = libghdl.vhdl__nodes__get_has_length
+
+Set_Has_Length = libghdl.vhdl__nodes__set_has_length
+
+Get_Literal_Origin = libghdl.vhdl__nodes__get_literal_origin
+
+Set_Literal_Origin = libghdl.vhdl__nodes__set_literal_origin
+
+Get_Range_Origin = libghdl.vhdl__nodes__get_range_origin
+
+Set_Range_Origin = libghdl.vhdl__nodes__set_range_origin
+
+Get_Literal_Subtype = libghdl.vhdl__nodes__get_literal_subtype
+
+Set_Literal_Subtype = libghdl.vhdl__nodes__set_literal_subtype
+
+Get_Allocator_Subtype = libghdl.vhdl__nodes__get_allocator_subtype
+
+Set_Allocator_Subtype = libghdl.vhdl__nodes__set_allocator_subtype
+
+Get_Entity_Class = libghdl.vhdl__nodes__get_entity_class
+
+Set_Entity_Class = libghdl.vhdl__nodes__set_entity_class
+
+Get_Entity_Name_List = libghdl.vhdl__nodes__get_entity_name_list
+
+Set_Entity_Name_List = libghdl.vhdl__nodes__set_entity_name_list
+
+Get_Attribute_Designator = libghdl.vhdl__nodes__get_attribute_designator
+
+Set_Attribute_Designator = libghdl.vhdl__nodes__set_attribute_designator
+
+Get_Attribute_Specification_Chain = libghdl.vhdl__nodes__get_attribute_specification_chain
+
+Set_Attribute_Specification_Chain = libghdl.vhdl__nodes__set_attribute_specification_chain
+
+Get_Attribute_Specification = libghdl.vhdl__nodes__get_attribute_specification
+
+Set_Attribute_Specification = libghdl.vhdl__nodes__set_attribute_specification
+
+Get_Signal_List = libghdl.vhdl__nodes__get_signal_list
+
+Set_Signal_List = libghdl.vhdl__nodes__set_signal_list
+
+Get_Designated_Entity = libghdl.vhdl__nodes__get_designated_entity
+
+Set_Designated_Entity = libghdl.vhdl__nodes__set_designated_entity
+
+Get_Formal = libghdl.vhdl__nodes__get_formal
+
+Set_Formal = libghdl.vhdl__nodes__set_formal
+
+Get_Actual = libghdl.vhdl__nodes__get_actual
+
+Set_Actual = libghdl.vhdl__nodes__set_actual
+
+Get_Actual_Conversion = libghdl.vhdl__nodes__get_actual_conversion
+
+Set_Actual_Conversion = libghdl.vhdl__nodes__set_actual_conversion
+
+Get_Formal_Conversion = libghdl.vhdl__nodes__get_formal_conversion
+
+Set_Formal_Conversion = libghdl.vhdl__nodes__set_formal_conversion
+
+Get_Whole_Association_Flag = libghdl.vhdl__nodes__get_whole_association_flag
+
+Set_Whole_Association_Flag = libghdl.vhdl__nodes__set_whole_association_flag
+
+Get_Collapse_Signal_Flag = libghdl.vhdl__nodes__get_collapse_signal_flag
+
+Set_Collapse_Signal_Flag = libghdl.vhdl__nodes__set_collapse_signal_flag
+
+Get_Artificial_Flag = libghdl.vhdl__nodes__get_artificial_flag
+
+Set_Artificial_Flag = libghdl.vhdl__nodes__set_artificial_flag
+
+Get_Open_Flag = libghdl.vhdl__nodes__get_open_flag
+
+Set_Open_Flag = libghdl.vhdl__nodes__set_open_flag
+
+Get_After_Drivers_Flag = libghdl.vhdl__nodes__get_after_drivers_flag
+
+Set_After_Drivers_Flag = libghdl.vhdl__nodes__set_after_drivers_flag
+
+Get_We_Value = libghdl.vhdl__nodes__get_we_value
+
+Set_We_Value = libghdl.vhdl__nodes__set_we_value
+
+Get_Time = libghdl.vhdl__nodes__get_time
+
+Set_Time = libghdl.vhdl__nodes__set_time
+
+Get_Choice_Order = libghdl.vhdl__nodes__get_choice_order
+
+Set_Choice_Order = libghdl.vhdl__nodes__set_choice_order
+
+Get_Associated_Expr = libghdl.vhdl__nodes__get_associated_expr
+
+Set_Associated_Expr = libghdl.vhdl__nodes__set_associated_expr
+
+Get_Associated_Block = libghdl.vhdl__nodes__get_associated_block
+
+Set_Associated_Block = libghdl.vhdl__nodes__set_associated_block
+
+Get_Associated_Chain = libghdl.vhdl__nodes__get_associated_chain
+
+Set_Associated_Chain = libghdl.vhdl__nodes__set_associated_chain
+
+Get_Choice_Name = libghdl.vhdl__nodes__get_choice_name
+
+Set_Choice_Name = libghdl.vhdl__nodes__set_choice_name
+
+Get_Choice_Expression = libghdl.vhdl__nodes__get_choice_expression
+
+Set_Choice_Expression = libghdl.vhdl__nodes__set_choice_expression
+
+Get_Choice_Range = libghdl.vhdl__nodes__get_choice_range
+
+Set_Choice_Range = libghdl.vhdl__nodes__set_choice_range
+
+Get_Same_Alternative_Flag = libghdl.vhdl__nodes__get_same_alternative_flag
+
+Set_Same_Alternative_Flag = libghdl.vhdl__nodes__set_same_alternative_flag
+
+Get_Element_Type_Flag = libghdl.vhdl__nodes__get_element_type_flag
+
+Set_Element_Type_Flag = libghdl.vhdl__nodes__set_element_type_flag
+
+Get_Architecture = libghdl.vhdl__nodes__get_architecture
+
+Set_Architecture = libghdl.vhdl__nodes__set_architecture
+
+Get_Block_Specification = libghdl.vhdl__nodes__get_block_specification
+
+Set_Block_Specification = libghdl.vhdl__nodes__set_block_specification
+
+Get_Prev_Block_Configuration = libghdl.vhdl__nodes__get_prev_block_configuration
+
+Set_Prev_Block_Configuration = libghdl.vhdl__nodes__set_prev_block_configuration
+
+Get_Configuration_Item_Chain = libghdl.vhdl__nodes__get_configuration_item_chain
+
+Set_Configuration_Item_Chain = libghdl.vhdl__nodes__set_configuration_item_chain
+
+Get_Attribute_Value_Chain = libghdl.vhdl__nodes__get_attribute_value_chain
+
+Set_Attribute_Value_Chain = libghdl.vhdl__nodes__set_attribute_value_chain
+
+Get_Spec_Chain = libghdl.vhdl__nodes__get_spec_chain
+
+Set_Spec_Chain = libghdl.vhdl__nodes__set_spec_chain
+
+Get_Value_Chain = libghdl.vhdl__nodes__get_value_chain
+
+Set_Value_Chain = libghdl.vhdl__nodes__set_value_chain
+
+Get_Attribute_Value_Spec_Chain = libghdl.vhdl__nodes__get_attribute_value_spec_chain
+
+Set_Attribute_Value_Spec_Chain = libghdl.vhdl__nodes__set_attribute_value_spec_chain
+
+Get_Entity_Name = libghdl.vhdl__nodes__get_entity_name
+
+Set_Entity_Name = libghdl.vhdl__nodes__set_entity_name
+
+Get_Package = libghdl.vhdl__nodes__get_package
+
+Set_Package = libghdl.vhdl__nodes__set_package
+
+Get_Package_Body = libghdl.vhdl__nodes__get_package_body
+
+Set_Package_Body = libghdl.vhdl__nodes__set_package_body
+
+Get_Instance_Package_Body = libghdl.vhdl__nodes__get_instance_package_body
+
+Set_Instance_Package_Body = libghdl.vhdl__nodes__set_instance_package_body
+
+Get_Need_Body = libghdl.vhdl__nodes__get_need_body
+
+Set_Need_Body = libghdl.vhdl__nodes__set_need_body
+
+Get_Macro_Expanded_Flag = libghdl.vhdl__nodes__get_macro_expanded_flag
+
+Set_Macro_Expanded_Flag = libghdl.vhdl__nodes__set_macro_expanded_flag
+
+Get_Need_Instance_Bodies = libghdl.vhdl__nodes__get_need_instance_bodies
+
+Set_Need_Instance_Bodies = libghdl.vhdl__nodes__set_need_instance_bodies
+
+Get_Block_Configuration = libghdl.vhdl__nodes__get_block_configuration
+
+Set_Block_Configuration = libghdl.vhdl__nodes__set_block_configuration
+
+Get_Concurrent_Statement_Chain = libghdl.vhdl__nodes__get_concurrent_statement_chain
+
+Set_Concurrent_Statement_Chain = libghdl.vhdl__nodes__set_concurrent_statement_chain
+
+Get_Chain = libghdl.vhdl__nodes__get_chain
+
+Set_Chain = libghdl.vhdl__nodes__set_chain
+
+Get_Port_Chain = libghdl.vhdl__nodes__get_port_chain
+
+Set_Port_Chain = libghdl.vhdl__nodes__set_port_chain
+
+Get_Generic_Chain = libghdl.vhdl__nodes__get_generic_chain
+
+Set_Generic_Chain = libghdl.vhdl__nodes__set_generic_chain
+
+Get_Type = libghdl.vhdl__nodes__get_type
+
+Set_Type = libghdl.vhdl__nodes__set_type
+
+Get_Subtype_Indication = libghdl.vhdl__nodes__get_subtype_indication
+
+Set_Subtype_Indication = libghdl.vhdl__nodes__set_subtype_indication
+
+Get_Discrete_Range = libghdl.vhdl__nodes__get_discrete_range
+
+Set_Discrete_Range = libghdl.vhdl__nodes__set_discrete_range
+
+Get_Type_Definition = libghdl.vhdl__nodes__get_type_definition
+
+Set_Type_Definition = libghdl.vhdl__nodes__set_type_definition
+
+Get_Subtype_Definition = libghdl.vhdl__nodes__get_subtype_definition
+
+Set_Subtype_Definition = libghdl.vhdl__nodes__set_subtype_definition
+
+Get_Incomplete_Type_Declaration = libghdl.vhdl__nodes__get_incomplete_type_declaration
+
+Set_Incomplete_Type_Declaration = libghdl.vhdl__nodes__set_incomplete_type_declaration
+
+Get_Interface_Type_Subprograms = libghdl.vhdl__nodes__get_interface_type_subprograms
+
+Set_Interface_Type_Subprograms = libghdl.vhdl__nodes__set_interface_type_subprograms
+
+Get_Nature = libghdl.vhdl__nodes__get_nature
+
+Set_Nature = libghdl.vhdl__nodes__set_nature
+
+Get_Mode = libghdl.vhdl__nodes__get_mode
+
+Set_Mode = libghdl.vhdl__nodes__set_mode
+
+Get_Guarded_Signal_Flag = libghdl.vhdl__nodes__get_guarded_signal_flag
+
+Set_Guarded_Signal_Flag = libghdl.vhdl__nodes__set_guarded_signal_flag
+
+Get_Signal_Kind = libghdl.vhdl__nodes__get_signal_kind
+
+Set_Signal_Kind = libghdl.vhdl__nodes__set_signal_kind
+
+Get_Base_Name = libghdl.vhdl__nodes__get_base_name
+
+Set_Base_Name = libghdl.vhdl__nodes__set_base_name
+
+Get_Interface_Declaration_Chain = libghdl.vhdl__nodes__get_interface_declaration_chain
+
+Set_Interface_Declaration_Chain = libghdl.vhdl__nodes__set_interface_declaration_chain
+
+Get_Subprogram_Specification = libghdl.vhdl__nodes__get_subprogram_specification
+
+Set_Subprogram_Specification = libghdl.vhdl__nodes__set_subprogram_specification
+
+Get_Sequential_Statement_Chain = libghdl.vhdl__nodes__get_sequential_statement_chain
+
+Set_Sequential_Statement_Chain = libghdl.vhdl__nodes__set_sequential_statement_chain
+
+Get_Subprogram_Body = libghdl.vhdl__nodes__get_subprogram_body
+
+Set_Subprogram_Body = libghdl.vhdl__nodes__set_subprogram_body
+
+Get_Overload_Number = libghdl.vhdl__nodes__get_overload_number
+
+Set_Overload_Number = libghdl.vhdl__nodes__set_overload_number
+
+Get_Subprogram_Depth = libghdl.vhdl__nodes__get_subprogram_depth
+
+Set_Subprogram_Depth = libghdl.vhdl__nodes__set_subprogram_depth
+
+Get_Subprogram_Hash = libghdl.vhdl__nodes__get_subprogram_hash
+
+Set_Subprogram_Hash = libghdl.vhdl__nodes__set_subprogram_hash
+
+Get_Impure_Depth = libghdl.vhdl__nodes__get_impure_depth
+
+Set_Impure_Depth = libghdl.vhdl__nodes__set_impure_depth
+
+Get_Return_Type = libghdl.vhdl__nodes__get_return_type
+
+Set_Return_Type = libghdl.vhdl__nodes__set_return_type
+
+Get_Implicit_Definition = libghdl.vhdl__nodes__get_implicit_definition
+
+Set_Implicit_Definition = libghdl.vhdl__nodes__set_implicit_definition
+
+Get_Default_Value = libghdl.vhdl__nodes__get_default_value
+
+Set_Default_Value = libghdl.vhdl__nodes__set_default_value
+
+Get_Deferred_Declaration = libghdl.vhdl__nodes__get_deferred_declaration
+
+Set_Deferred_Declaration = libghdl.vhdl__nodes__set_deferred_declaration
+
+Get_Deferred_Declaration_Flag = libghdl.vhdl__nodes__get_deferred_declaration_flag
+
+Set_Deferred_Declaration_Flag = libghdl.vhdl__nodes__set_deferred_declaration_flag
+
+Get_Shared_Flag = libghdl.vhdl__nodes__get_shared_flag
+
+Set_Shared_Flag = libghdl.vhdl__nodes__set_shared_flag
+
+Get_Design_Unit = libghdl.vhdl__nodes__get_design_unit
+
+Set_Design_Unit = libghdl.vhdl__nodes__set_design_unit
+
+Get_Block_Statement = libghdl.vhdl__nodes__get_block_statement
+
+Set_Block_Statement = libghdl.vhdl__nodes__set_block_statement
+
+Get_Signal_Driver = libghdl.vhdl__nodes__get_signal_driver
+
+Set_Signal_Driver = libghdl.vhdl__nodes__set_signal_driver
+
+Get_Declaration_Chain = libghdl.vhdl__nodes__get_declaration_chain
+
+Set_Declaration_Chain = libghdl.vhdl__nodes__set_declaration_chain
+
+Get_File_Logical_Name = libghdl.vhdl__nodes__get_file_logical_name
+
+Set_File_Logical_Name = libghdl.vhdl__nodes__set_file_logical_name
+
+Get_File_Open_Kind = libghdl.vhdl__nodes__get_file_open_kind
+
+Set_File_Open_Kind = libghdl.vhdl__nodes__set_file_open_kind
+
+Get_Element_Position = libghdl.vhdl__nodes__get_element_position
+
+Set_Element_Position = libghdl.vhdl__nodes__set_element_position
+
+Get_Use_Clause_Chain = libghdl.vhdl__nodes__get_use_clause_chain
+
+Set_Use_Clause_Chain = libghdl.vhdl__nodes__set_use_clause_chain
+
+Get_Context_Reference_Chain = libghdl.vhdl__nodes__get_context_reference_chain
+
+Set_Context_Reference_Chain = libghdl.vhdl__nodes__set_context_reference_chain
+
+Get_Selected_Name = libghdl.vhdl__nodes__get_selected_name
+
+Set_Selected_Name = libghdl.vhdl__nodes__set_selected_name
+
+Get_Type_Declarator = libghdl.vhdl__nodes__get_type_declarator
+
+Set_Type_Declarator = libghdl.vhdl__nodes__set_type_declarator
+
+Get_Complete_Type_Definition = libghdl.vhdl__nodes__get_complete_type_definition
+
+Set_Complete_Type_Definition = libghdl.vhdl__nodes__set_complete_type_definition
+
+Get_Incomplete_Type_Ref_Chain = libghdl.vhdl__nodes__get_incomplete_type_ref_chain
+
+Set_Incomplete_Type_Ref_Chain = libghdl.vhdl__nodes__set_incomplete_type_ref_chain
+
+Get_Associated_Type = libghdl.vhdl__nodes__get_associated_type
+
+Set_Associated_Type = libghdl.vhdl__nodes__set_associated_type
+
+Get_Enumeration_Literal_List = libghdl.vhdl__nodes__get_enumeration_literal_list
+
+Set_Enumeration_Literal_List = libghdl.vhdl__nodes__set_enumeration_literal_list
+
+Get_Entity_Class_Entry_Chain = libghdl.vhdl__nodes__get_entity_class_entry_chain
+
+Set_Entity_Class_Entry_Chain = libghdl.vhdl__nodes__set_entity_class_entry_chain
+
+Get_Group_Constituent_List = libghdl.vhdl__nodes__get_group_constituent_list
+
+Set_Group_Constituent_List = libghdl.vhdl__nodes__set_group_constituent_list
+
+Get_Unit_Chain = libghdl.vhdl__nodes__get_unit_chain
+
+Set_Unit_Chain = libghdl.vhdl__nodes__set_unit_chain
+
+Get_Primary_Unit = libghdl.vhdl__nodes__get_primary_unit
+
+Set_Primary_Unit = libghdl.vhdl__nodes__set_primary_unit
+
+Get_Identifier = libghdl.vhdl__nodes__get_identifier
+
+Set_Identifier = libghdl.vhdl__nodes__set_identifier
+
+Get_Label = libghdl.vhdl__nodes__get_label
+
+Set_Label = libghdl.vhdl__nodes__set_label
+
+Get_Visible_Flag = libghdl.vhdl__nodes__get_visible_flag
+
+Set_Visible_Flag = libghdl.vhdl__nodes__set_visible_flag
+
+Get_Range_Constraint = libghdl.vhdl__nodes__get_range_constraint
+
+Set_Range_Constraint = libghdl.vhdl__nodes__set_range_constraint
+
+Get_Direction = libghdl.vhdl__nodes__get_direction
+
+Set_Direction = libghdl.vhdl__nodes__set_direction
+
+Get_Left_Limit = libghdl.vhdl__nodes__get_left_limit
+
+Set_Left_Limit = libghdl.vhdl__nodes__set_left_limit
+
+Get_Right_Limit = libghdl.vhdl__nodes__get_right_limit
+
+Set_Right_Limit = libghdl.vhdl__nodes__set_right_limit
+
+Get_Left_Limit_Expr = libghdl.vhdl__nodes__get_left_limit_expr
+
+Set_Left_Limit_Expr = libghdl.vhdl__nodes__set_left_limit_expr
+
+Get_Right_Limit_Expr = libghdl.vhdl__nodes__get_right_limit_expr
+
+Set_Right_Limit_Expr = libghdl.vhdl__nodes__set_right_limit_expr
+
+Get_Base_Type = libghdl.vhdl__nodes__get_base_type
+
+Set_Base_Type = libghdl.vhdl__nodes__set_base_type
+
+Get_Resolution_Indication = libghdl.vhdl__nodes__get_resolution_indication
+
+Set_Resolution_Indication = libghdl.vhdl__nodes__set_resolution_indication
+
+Get_Record_Element_Resolution_Chain = libghdl.vhdl__nodes__get_record_element_resolution_chain
+
+Set_Record_Element_Resolution_Chain = libghdl.vhdl__nodes__set_record_element_resolution_chain
+
+Get_Tolerance = libghdl.vhdl__nodes__get_tolerance
+
+Set_Tolerance = libghdl.vhdl__nodes__set_tolerance
+
+Get_Plus_Terminal = libghdl.vhdl__nodes__get_plus_terminal
+
+Set_Plus_Terminal = libghdl.vhdl__nodes__set_plus_terminal
+
+Get_Minus_Terminal = libghdl.vhdl__nodes__get_minus_terminal
+
+Set_Minus_Terminal = libghdl.vhdl__nodes__set_minus_terminal
+
+Get_Simultaneous_Left = libghdl.vhdl__nodes__get_simultaneous_left
+
+Set_Simultaneous_Left = libghdl.vhdl__nodes__set_simultaneous_left
+
+Get_Simultaneous_Right = libghdl.vhdl__nodes__get_simultaneous_right
+
+Set_Simultaneous_Right = libghdl.vhdl__nodes__set_simultaneous_right
+
+Get_Text_File_Flag = libghdl.vhdl__nodes__get_text_file_flag
+
+Set_Text_File_Flag = libghdl.vhdl__nodes__set_text_file_flag
+
+Get_Only_Characters_Flag = libghdl.vhdl__nodes__get_only_characters_flag
+
+Set_Only_Characters_Flag = libghdl.vhdl__nodes__set_only_characters_flag
+
+Get_Is_Character_Type = libghdl.vhdl__nodes__get_is_character_type
+
+Set_Is_Character_Type = libghdl.vhdl__nodes__set_is_character_type
+
+Get_Type_Staticness = libghdl.vhdl__nodes__get_type_staticness
+
+Set_Type_Staticness = libghdl.vhdl__nodes__set_type_staticness
+
+Get_Constraint_State = libghdl.vhdl__nodes__get_constraint_state
+
+Set_Constraint_State = libghdl.vhdl__nodes__set_constraint_state
+
+Get_Index_Subtype_List = libghdl.vhdl__nodes__get_index_subtype_list
+
+Set_Index_Subtype_List = libghdl.vhdl__nodes__set_index_subtype_list
+
+Get_Index_Subtype_Definition_List = libghdl.vhdl__nodes__get_index_subtype_definition_list
+
+Set_Index_Subtype_Definition_List = libghdl.vhdl__nodes__set_index_subtype_definition_list
+
+Get_Element_Subtype_Indication = libghdl.vhdl__nodes__get_element_subtype_indication
+
+Set_Element_Subtype_Indication = libghdl.vhdl__nodes__set_element_subtype_indication
+
+Get_Element_Subtype = libghdl.vhdl__nodes__get_element_subtype
+
+Set_Element_Subtype = libghdl.vhdl__nodes__set_element_subtype
+
+Get_Index_Constraint_List = libghdl.vhdl__nodes__get_index_constraint_list
+
+Set_Index_Constraint_List = libghdl.vhdl__nodes__set_index_constraint_list
+
+Get_Array_Element_Constraint = libghdl.vhdl__nodes__get_array_element_constraint
+
+Set_Array_Element_Constraint = libghdl.vhdl__nodes__set_array_element_constraint
+
+Get_Elements_Declaration_List = libghdl.vhdl__nodes__get_elements_declaration_list
+
+Set_Elements_Declaration_List = libghdl.vhdl__nodes__set_elements_declaration_list
+
+Get_Owned_Elements_Chain = libghdl.vhdl__nodes__get_owned_elements_chain
+
+Set_Owned_Elements_Chain = libghdl.vhdl__nodes__set_owned_elements_chain
+
+Get_Designated_Type = libghdl.vhdl__nodes__get_designated_type
+
+Set_Designated_Type = libghdl.vhdl__nodes__set_designated_type
+
+Get_Designated_Subtype_Indication = libghdl.vhdl__nodes__get_designated_subtype_indication
+
+Set_Designated_Subtype_Indication = libghdl.vhdl__nodes__set_designated_subtype_indication
+
+Get_Index_List = libghdl.vhdl__nodes__get_index_list
+
+Set_Index_List = libghdl.vhdl__nodes__set_index_list
+
+Get_Reference = libghdl.vhdl__nodes__get_reference
+
+Set_Reference = libghdl.vhdl__nodes__set_reference
+
+Get_Nature_Declarator = libghdl.vhdl__nodes__get_nature_declarator
+
+Set_Nature_Declarator = libghdl.vhdl__nodes__set_nature_declarator
+
+Get_Across_Type = libghdl.vhdl__nodes__get_across_type
+
+Set_Across_Type = libghdl.vhdl__nodes__set_across_type
+
+Get_Through_Type = libghdl.vhdl__nodes__get_through_type
+
+Set_Through_Type = libghdl.vhdl__nodes__set_through_type
+
+Get_Target = libghdl.vhdl__nodes__get_target
+
+Set_Target = libghdl.vhdl__nodes__set_target
+
+Get_Waveform_Chain = libghdl.vhdl__nodes__get_waveform_chain
+
+Set_Waveform_Chain = libghdl.vhdl__nodes__set_waveform_chain
+
+Get_Guard = libghdl.vhdl__nodes__get_guard
+
+Set_Guard = libghdl.vhdl__nodes__set_guard
+
+Get_Delay_Mechanism = libghdl.vhdl__nodes__get_delay_mechanism
+
+Set_Delay_Mechanism = libghdl.vhdl__nodes__set_delay_mechanism
+
+Get_Reject_Time_Expression = libghdl.vhdl__nodes__get_reject_time_expression
+
+Set_Reject_Time_Expression = libghdl.vhdl__nodes__set_reject_time_expression
+
+Get_Sensitivity_List = libghdl.vhdl__nodes__get_sensitivity_list
+
+Set_Sensitivity_List = libghdl.vhdl__nodes__set_sensitivity_list
+
+Get_Process_Origin = libghdl.vhdl__nodes__get_process_origin
+
+Set_Process_Origin = libghdl.vhdl__nodes__set_process_origin
+
+Get_Package_Origin = libghdl.vhdl__nodes__get_package_origin
+
+Set_Package_Origin = libghdl.vhdl__nodes__set_package_origin
+
+Get_Condition_Clause = libghdl.vhdl__nodes__get_condition_clause
+
+Set_Condition_Clause = libghdl.vhdl__nodes__set_condition_clause
+
+Get_Timeout_Clause = libghdl.vhdl__nodes__get_timeout_clause
+
+Set_Timeout_Clause = libghdl.vhdl__nodes__set_timeout_clause
+
+Get_Postponed_Flag = libghdl.vhdl__nodes__get_postponed_flag
+
+Set_Postponed_Flag = libghdl.vhdl__nodes__set_postponed_flag
+
+Get_Callees_List = libghdl.vhdl__nodes__get_callees_list
+
+Set_Callees_List = libghdl.vhdl__nodes__set_callees_list
+
+Get_Passive_Flag = libghdl.vhdl__nodes__get_passive_flag
+
+Set_Passive_Flag = libghdl.vhdl__nodes__set_passive_flag
+
+Get_Resolution_Function_Flag = libghdl.vhdl__nodes__get_resolution_function_flag
+
+Set_Resolution_Function_Flag = libghdl.vhdl__nodes__set_resolution_function_flag
+
+Get_Wait_State = libghdl.vhdl__nodes__get_wait_state
+
+Set_Wait_State = libghdl.vhdl__nodes__set_wait_state
+
+Get_All_Sensitized_State = libghdl.vhdl__nodes__get_all_sensitized_state
+
+Set_All_Sensitized_State = libghdl.vhdl__nodes__set_all_sensitized_state
+
+Get_Seen_Flag = libghdl.vhdl__nodes__get_seen_flag
+
+Set_Seen_Flag = libghdl.vhdl__nodes__set_seen_flag
+
+Get_Pure_Flag = libghdl.vhdl__nodes__get_pure_flag
+
+Set_Pure_Flag = libghdl.vhdl__nodes__set_pure_flag
+
+Get_Foreign_Flag = libghdl.vhdl__nodes__get_foreign_flag
+
+Set_Foreign_Flag = libghdl.vhdl__nodes__set_foreign_flag
+
+Get_Resolved_Flag = libghdl.vhdl__nodes__get_resolved_flag
+
+Set_Resolved_Flag = libghdl.vhdl__nodes__set_resolved_flag
+
+Get_Signal_Type_Flag = libghdl.vhdl__nodes__get_signal_type_flag
+
+Set_Signal_Type_Flag = libghdl.vhdl__nodes__set_signal_type_flag
+
+Get_Has_Signal_Flag = libghdl.vhdl__nodes__get_has_signal_flag
+
+Set_Has_Signal_Flag = libghdl.vhdl__nodes__set_has_signal_flag
+
+Get_Purity_State = libghdl.vhdl__nodes__get_purity_state
+
+Set_Purity_State = libghdl.vhdl__nodes__set_purity_state
+
+Get_Elab_Flag = libghdl.vhdl__nodes__get_elab_flag
+
+Set_Elab_Flag = libghdl.vhdl__nodes__set_elab_flag
+
+Get_Configuration_Mark_Flag = libghdl.vhdl__nodes__get_configuration_mark_flag
+
+Set_Configuration_Mark_Flag = libghdl.vhdl__nodes__set_configuration_mark_flag
+
+Get_Configuration_Done_Flag = libghdl.vhdl__nodes__get_configuration_done_flag
+
+Set_Configuration_Done_Flag = libghdl.vhdl__nodes__set_configuration_done_flag
+
+Get_Index_Constraint_Flag = libghdl.vhdl__nodes__get_index_constraint_flag
+
+Set_Index_Constraint_Flag = libghdl.vhdl__nodes__set_index_constraint_flag
+
+Get_Hide_Implicit_Flag = libghdl.vhdl__nodes__get_hide_implicit_flag
+
+Set_Hide_Implicit_Flag = libghdl.vhdl__nodes__set_hide_implicit_flag
+
+Get_Assertion_Condition = libghdl.vhdl__nodes__get_assertion_condition
+
+Set_Assertion_Condition = libghdl.vhdl__nodes__set_assertion_condition
+
+Get_Report_Expression = libghdl.vhdl__nodes__get_report_expression
+
+Set_Report_Expression = libghdl.vhdl__nodes__set_report_expression
+
+Get_Severity_Expression = libghdl.vhdl__nodes__get_severity_expression
+
+Set_Severity_Expression = libghdl.vhdl__nodes__set_severity_expression
+
+Get_Instantiated_Unit = libghdl.vhdl__nodes__get_instantiated_unit
+
+Set_Instantiated_Unit = libghdl.vhdl__nodes__set_instantiated_unit
+
+Get_Generic_Map_Aspect_Chain = libghdl.vhdl__nodes__get_generic_map_aspect_chain
+
+Set_Generic_Map_Aspect_Chain = libghdl.vhdl__nodes__set_generic_map_aspect_chain
+
+Get_Port_Map_Aspect_Chain = libghdl.vhdl__nodes__get_port_map_aspect_chain
+
+Set_Port_Map_Aspect_Chain = libghdl.vhdl__nodes__set_port_map_aspect_chain
+
+Get_Configuration_Name = libghdl.vhdl__nodes__get_configuration_name
+
+Set_Configuration_Name = libghdl.vhdl__nodes__set_configuration_name
+
+Get_Component_Configuration = libghdl.vhdl__nodes__get_component_configuration
+
+Set_Component_Configuration = libghdl.vhdl__nodes__set_component_configuration
+
+Get_Configuration_Specification = libghdl.vhdl__nodes__get_configuration_specification
+
+Set_Configuration_Specification = libghdl.vhdl__nodes__set_configuration_specification
+
+Get_Default_Binding_Indication = libghdl.vhdl__nodes__get_default_binding_indication
+
+Set_Default_Binding_Indication = libghdl.vhdl__nodes__set_default_binding_indication
+
+Get_Default_Configuration_Declaration = libghdl.vhdl__nodes__get_default_configuration_declaration
+
+Set_Default_Configuration_Declaration = libghdl.vhdl__nodes__set_default_configuration_declaration
+
+Get_Expression = libghdl.vhdl__nodes__get_expression
+
+Set_Expression = libghdl.vhdl__nodes__set_expression
+
+Get_Conditional_Expression = libghdl.vhdl__nodes__get_conditional_expression
+
+Set_Conditional_Expression = libghdl.vhdl__nodes__set_conditional_expression
+
+Get_Allocator_Designated_Type = libghdl.vhdl__nodes__get_allocator_designated_type
+
+Set_Allocator_Designated_Type = libghdl.vhdl__nodes__set_allocator_designated_type
+
+Get_Selected_Waveform_Chain = libghdl.vhdl__nodes__get_selected_waveform_chain
+
+Set_Selected_Waveform_Chain = libghdl.vhdl__nodes__set_selected_waveform_chain
+
+Get_Conditional_Waveform_Chain = libghdl.vhdl__nodes__get_conditional_waveform_chain
+
+Set_Conditional_Waveform_Chain = libghdl.vhdl__nodes__set_conditional_waveform_chain
+
+Get_Guard_Expression = libghdl.vhdl__nodes__get_guard_expression
+
+Set_Guard_Expression = libghdl.vhdl__nodes__set_guard_expression
+
+Get_Guard_Decl = libghdl.vhdl__nodes__get_guard_decl
+
+Set_Guard_Decl = libghdl.vhdl__nodes__set_guard_decl
+
+Get_Guard_Sensitivity_List = libghdl.vhdl__nodes__get_guard_sensitivity_list
+
+Set_Guard_Sensitivity_List = libghdl.vhdl__nodes__set_guard_sensitivity_list
+
+Get_Signal_Attribute_Chain = libghdl.vhdl__nodes__get_signal_attribute_chain
+
+Set_Signal_Attribute_Chain = libghdl.vhdl__nodes__set_signal_attribute_chain
+
+Get_Block_Block_Configuration = libghdl.vhdl__nodes__get_block_block_configuration
+
+Set_Block_Block_Configuration = libghdl.vhdl__nodes__set_block_block_configuration
+
+Get_Package_Header = libghdl.vhdl__nodes__get_package_header
+
+Set_Package_Header = libghdl.vhdl__nodes__set_package_header
+
+Get_Block_Header = libghdl.vhdl__nodes__get_block_header
+
+Set_Block_Header = libghdl.vhdl__nodes__set_block_header
+
+Get_Uninstantiated_Package_Name = libghdl.vhdl__nodes__get_uninstantiated_package_name
+
+Set_Uninstantiated_Package_Name = libghdl.vhdl__nodes__set_uninstantiated_package_name
+
+Get_Uninstantiated_Package_Decl = libghdl.vhdl__nodes__get_uninstantiated_package_decl
+
+Set_Uninstantiated_Package_Decl = libghdl.vhdl__nodes__set_uninstantiated_package_decl
+
+Get_Instance_Source_File = libghdl.vhdl__nodes__get_instance_source_file
+
+Set_Instance_Source_File = libghdl.vhdl__nodes__set_instance_source_file
+
+Get_Generate_Block_Configuration = libghdl.vhdl__nodes__get_generate_block_configuration
+
+Set_Generate_Block_Configuration = libghdl.vhdl__nodes__set_generate_block_configuration
+
+Get_Generate_Statement_Body = libghdl.vhdl__nodes__get_generate_statement_body
+
+Set_Generate_Statement_Body = libghdl.vhdl__nodes__set_generate_statement_body
+
+Get_Alternative_Label = libghdl.vhdl__nodes__get_alternative_label
+
+Set_Alternative_Label = libghdl.vhdl__nodes__set_alternative_label
+
+Get_Generate_Else_Clause = libghdl.vhdl__nodes__get_generate_else_clause
+
+Set_Generate_Else_Clause = libghdl.vhdl__nodes__set_generate_else_clause
+
+Get_Condition = libghdl.vhdl__nodes__get_condition
+
+Set_Condition = libghdl.vhdl__nodes__set_condition
+
+Get_Else_Clause = libghdl.vhdl__nodes__get_else_clause
+
+Set_Else_Clause = libghdl.vhdl__nodes__set_else_clause
+
+Get_Parameter_Specification = libghdl.vhdl__nodes__get_parameter_specification
+
+Set_Parameter_Specification = libghdl.vhdl__nodes__set_parameter_specification
+
+Get_Parent = libghdl.vhdl__nodes__get_parent
+
+Set_Parent = libghdl.vhdl__nodes__set_parent
+
+Get_Loop_Label = libghdl.vhdl__nodes__get_loop_label
+
+Set_Loop_Label = libghdl.vhdl__nodes__set_loop_label
+
+Get_Component_Name = libghdl.vhdl__nodes__get_component_name
+
+Set_Component_Name = libghdl.vhdl__nodes__set_component_name
+
+Get_Instantiation_List = libghdl.vhdl__nodes__get_instantiation_list
+
+Set_Instantiation_List = libghdl.vhdl__nodes__set_instantiation_list
+
+Get_Entity_Aspect = libghdl.vhdl__nodes__get_entity_aspect
+
+Set_Entity_Aspect = libghdl.vhdl__nodes__set_entity_aspect
+
+Get_Default_Entity_Aspect = libghdl.vhdl__nodes__get_default_entity_aspect
+
+Set_Default_Entity_Aspect = libghdl.vhdl__nodes__set_default_entity_aspect
+
+Get_Binding_Indication = libghdl.vhdl__nodes__get_binding_indication
+
+Set_Binding_Indication = libghdl.vhdl__nodes__set_binding_indication
+
+Get_Named_Entity = libghdl.vhdl__nodes__get_named_entity
+
+Set_Named_Entity = libghdl.vhdl__nodes__set_named_entity
+
+Get_Alias_Declaration = libghdl.vhdl__nodes__get_alias_declaration
+
+Set_Alias_Declaration = libghdl.vhdl__nodes__set_alias_declaration
+
+Get_Referenced_Name = libghdl.vhdl__nodes__get_referenced_name
+
+Set_Referenced_Name = libghdl.vhdl__nodes__set_referenced_name
+
+Get_Expr_Staticness = libghdl.vhdl__nodes__get_expr_staticness
+
+Set_Expr_Staticness = libghdl.vhdl__nodes__set_expr_staticness
+
+Get_Error_Origin = libghdl.vhdl__nodes__get_error_origin
+
+Set_Error_Origin = libghdl.vhdl__nodes__set_error_origin
+
+Get_Operand = libghdl.vhdl__nodes__get_operand
+
+Set_Operand = libghdl.vhdl__nodes__set_operand
+
+Get_Left = libghdl.vhdl__nodes__get_left
+
+Set_Left = libghdl.vhdl__nodes__set_left
+
+Get_Right = libghdl.vhdl__nodes__get_right
+
+Set_Right = libghdl.vhdl__nodes__set_right
+
+Get_Physical_Unit = libghdl.vhdl__nodes__get_physical_unit
+
+Set_Physical_Unit = libghdl.vhdl__nodes__set_physical_unit
+
+Get_Unit_Name = libghdl.vhdl__nodes__get_unit_name
+
+Set_Unit_Name = libghdl.vhdl__nodes__set_unit_name
+
+Get_Name = libghdl.vhdl__nodes__get_name
+
+Set_Name = libghdl.vhdl__nodes__set_name
+
+Get_Group_Template_Name = libghdl.vhdl__nodes__get_group_template_name
+
+Set_Group_Template_Name = libghdl.vhdl__nodes__set_group_template_name
+
+Get_Name_Staticness = libghdl.vhdl__nodes__get_name_staticness
+
+Set_Name_Staticness = libghdl.vhdl__nodes__set_name_staticness
+
+Get_Prefix = libghdl.vhdl__nodes__get_prefix
+
+Set_Prefix = libghdl.vhdl__nodes__set_prefix
+
+Get_Signature_Prefix = libghdl.vhdl__nodes__get_signature_prefix
+
+Set_Signature_Prefix = libghdl.vhdl__nodes__set_signature_prefix
+
+Get_External_Pathname = libghdl.vhdl__nodes__get_external_pathname
+
+Set_External_Pathname = libghdl.vhdl__nodes__set_external_pathname
+
+Get_Pathname_Suffix = libghdl.vhdl__nodes__get_pathname_suffix
+
+Set_Pathname_Suffix = libghdl.vhdl__nodes__set_pathname_suffix
+
+Get_Pathname_Expression = libghdl.vhdl__nodes__get_pathname_expression
+
+Set_Pathname_Expression = libghdl.vhdl__nodes__set_pathname_expression
+
+Get_In_Formal_Flag = libghdl.vhdl__nodes__get_in_formal_flag
+
+Set_In_Formal_Flag = libghdl.vhdl__nodes__set_in_formal_flag
+
+Get_Slice_Subtype = libghdl.vhdl__nodes__get_slice_subtype
+
+Set_Slice_Subtype = libghdl.vhdl__nodes__set_slice_subtype
+
+Get_Suffix = libghdl.vhdl__nodes__get_suffix
+
+Set_Suffix = libghdl.vhdl__nodes__set_suffix
+
+Get_Index_Subtype = libghdl.vhdl__nodes__get_index_subtype
+
+Set_Index_Subtype = libghdl.vhdl__nodes__set_index_subtype
+
+Get_Parameter = libghdl.vhdl__nodes__get_parameter
+
+Set_Parameter = libghdl.vhdl__nodes__set_parameter
+
+Get_Attr_Chain = libghdl.vhdl__nodes__get_attr_chain
+
+Set_Attr_Chain = libghdl.vhdl__nodes__set_attr_chain
+
+Get_Signal_Attribute_Declaration = libghdl.vhdl__nodes__get_signal_attribute_declaration
+
+Set_Signal_Attribute_Declaration = libghdl.vhdl__nodes__set_signal_attribute_declaration
+
+Get_Actual_Type = libghdl.vhdl__nodes__get_actual_type
+
+Set_Actual_Type = libghdl.vhdl__nodes__set_actual_type
+
+Get_Actual_Type_Definition = libghdl.vhdl__nodes__get_actual_type_definition
+
+Set_Actual_Type_Definition = libghdl.vhdl__nodes__set_actual_type_definition
+
+Get_Association_Chain = libghdl.vhdl__nodes__get_association_chain
+
+Set_Association_Chain = libghdl.vhdl__nodes__set_association_chain
+
+Get_Individual_Association_Chain = libghdl.vhdl__nodes__get_individual_association_chain
+
+Set_Individual_Association_Chain = libghdl.vhdl__nodes__set_individual_association_chain
+
+Get_Subprogram_Association_Chain = libghdl.vhdl__nodes__get_subprogram_association_chain
+
+Set_Subprogram_Association_Chain = libghdl.vhdl__nodes__set_subprogram_association_chain
+
+Get_Aggregate_Info = libghdl.vhdl__nodes__get_aggregate_info
+
+Set_Aggregate_Info = libghdl.vhdl__nodes__set_aggregate_info
+
+Get_Sub_Aggregate_Info = libghdl.vhdl__nodes__get_sub_aggregate_info
+
+Set_Sub_Aggregate_Info = libghdl.vhdl__nodes__set_sub_aggregate_info
+
+Get_Aggr_Dynamic_Flag = libghdl.vhdl__nodes__get_aggr_dynamic_flag
+
+Set_Aggr_Dynamic_Flag = libghdl.vhdl__nodes__set_aggr_dynamic_flag
+
+Get_Aggr_Min_Length = libghdl.vhdl__nodes__get_aggr_min_length
+
+Set_Aggr_Min_Length = libghdl.vhdl__nodes__set_aggr_min_length
+
+Get_Aggr_Low_Limit = libghdl.vhdl__nodes__get_aggr_low_limit
+
+Set_Aggr_Low_Limit = libghdl.vhdl__nodes__set_aggr_low_limit
+
+Get_Aggr_High_Limit = libghdl.vhdl__nodes__get_aggr_high_limit
+
+Set_Aggr_High_Limit = libghdl.vhdl__nodes__set_aggr_high_limit
+
+Get_Aggr_Others_Flag = libghdl.vhdl__nodes__get_aggr_others_flag
+
+Set_Aggr_Others_Flag = libghdl.vhdl__nodes__set_aggr_others_flag
+
+Get_Aggr_Named_Flag = libghdl.vhdl__nodes__get_aggr_named_flag
+
+Set_Aggr_Named_Flag = libghdl.vhdl__nodes__set_aggr_named_flag
+
+Get_Aggregate_Expand_Flag = libghdl.vhdl__nodes__get_aggregate_expand_flag
+
+Set_Aggregate_Expand_Flag = libghdl.vhdl__nodes__set_aggregate_expand_flag
+
+Get_Association_Choices_Chain = libghdl.vhdl__nodes__get_association_choices_chain
+
+Set_Association_Choices_Chain = libghdl.vhdl__nodes__set_association_choices_chain
+
+Get_Case_Statement_Alternative_Chain = libghdl.vhdl__nodes__get_case_statement_alternative_chain
+
+Set_Case_Statement_Alternative_Chain = libghdl.vhdl__nodes__set_case_statement_alternative_chain
+
+Get_Choice_Staticness = libghdl.vhdl__nodes__get_choice_staticness
+
+Set_Choice_Staticness = libghdl.vhdl__nodes__set_choice_staticness
+
+Get_Procedure_Call = libghdl.vhdl__nodes__get_procedure_call
+
+Set_Procedure_Call = libghdl.vhdl__nodes__set_procedure_call
+
+Get_Implementation = libghdl.vhdl__nodes__get_implementation
+
+Set_Implementation = libghdl.vhdl__nodes__set_implementation
+
+Get_Parameter_Association_Chain = libghdl.vhdl__nodes__get_parameter_association_chain
+
+Set_Parameter_Association_Chain = libghdl.vhdl__nodes__set_parameter_association_chain
+
+Get_Method_Object = libghdl.vhdl__nodes__get_method_object
+
+Set_Method_Object = libghdl.vhdl__nodes__set_method_object
+
+Get_Subtype_Type_Mark = libghdl.vhdl__nodes__get_subtype_type_mark
+
+Set_Subtype_Type_Mark = libghdl.vhdl__nodes__set_subtype_type_mark
+
+Get_Type_Conversion_Subtype = libghdl.vhdl__nodes__get_type_conversion_subtype
+
+Set_Type_Conversion_Subtype = libghdl.vhdl__nodes__set_type_conversion_subtype
+
+Get_Type_Mark = libghdl.vhdl__nodes__get_type_mark
+
+Set_Type_Mark = libghdl.vhdl__nodes__set_type_mark
+
+Get_File_Type_Mark = libghdl.vhdl__nodes__get_file_type_mark
+
+Set_File_Type_Mark = libghdl.vhdl__nodes__set_file_type_mark
+
+Get_Return_Type_Mark = libghdl.vhdl__nodes__get_return_type_mark
+
+Set_Return_Type_Mark = libghdl.vhdl__nodes__set_return_type_mark
+
+Get_Has_Disconnect_Flag = libghdl.vhdl__nodes__get_has_disconnect_flag
+
+Set_Has_Disconnect_Flag = libghdl.vhdl__nodes__set_has_disconnect_flag
+
+Get_Has_Active_Flag = libghdl.vhdl__nodes__get_has_active_flag
+
+Set_Has_Active_Flag = libghdl.vhdl__nodes__set_has_active_flag
+
+Get_Is_Within_Flag = libghdl.vhdl__nodes__get_is_within_flag
+
+Set_Is_Within_Flag = libghdl.vhdl__nodes__set_is_within_flag
+
+Get_Type_Marks_List = libghdl.vhdl__nodes__get_type_marks_list
+
+Set_Type_Marks_List = libghdl.vhdl__nodes__set_type_marks_list
+
+Get_Implicit_Alias_Flag = libghdl.vhdl__nodes__get_implicit_alias_flag
+
+Set_Implicit_Alias_Flag = libghdl.vhdl__nodes__set_implicit_alias_flag
+
+Get_Alias_Signature = libghdl.vhdl__nodes__get_alias_signature
+
+Set_Alias_Signature = libghdl.vhdl__nodes__set_alias_signature
+
+Get_Attribute_Signature = libghdl.vhdl__nodes__get_attribute_signature
+
+Set_Attribute_Signature = libghdl.vhdl__nodes__set_attribute_signature
+
+Get_Overload_List = libghdl.vhdl__nodes__get_overload_list
+
+Set_Overload_List = libghdl.vhdl__nodes__set_overload_list
+
+Get_Simple_Name_Identifier = libghdl.vhdl__nodes__get_simple_name_identifier
+
+Set_Simple_Name_Identifier = libghdl.vhdl__nodes__set_simple_name_identifier
+
+Get_Simple_Name_Subtype = libghdl.vhdl__nodes__get_simple_name_subtype
+
+Set_Simple_Name_Subtype = libghdl.vhdl__nodes__set_simple_name_subtype
+
+Get_Protected_Type_Body = libghdl.vhdl__nodes__get_protected_type_body
+
+Set_Protected_Type_Body = libghdl.vhdl__nodes__set_protected_type_body
+
+Get_Protected_Type_Declaration = libghdl.vhdl__nodes__get_protected_type_declaration
+
+Set_Protected_Type_Declaration = libghdl.vhdl__nodes__set_protected_type_declaration
+
+Get_Use_Flag = libghdl.vhdl__nodes__get_use_flag
+
+Set_Use_Flag = libghdl.vhdl__nodes__set_use_flag
+
+Get_End_Has_Reserved_Id = libghdl.vhdl__nodes__get_end_has_reserved_id
+
+Set_End_Has_Reserved_Id = libghdl.vhdl__nodes__set_end_has_reserved_id
+
+Get_End_Has_Identifier = libghdl.vhdl__nodes__get_end_has_identifier
+
+Set_End_Has_Identifier = libghdl.vhdl__nodes__set_end_has_identifier
+
+Get_End_Has_Postponed = libghdl.vhdl__nodes__get_end_has_postponed
+
+Set_End_Has_Postponed = libghdl.vhdl__nodes__set_end_has_postponed
+
+Get_Has_Label = libghdl.vhdl__nodes__get_has_label
+
+Set_Has_Label = libghdl.vhdl__nodes__set_has_label
+
+Get_Has_Begin = libghdl.vhdl__nodes__get_has_begin
+
+Set_Has_Begin = libghdl.vhdl__nodes__set_has_begin
+
+Get_Has_End = libghdl.vhdl__nodes__get_has_end
+
+Set_Has_End = libghdl.vhdl__nodes__set_has_end
+
+Get_Has_Is = libghdl.vhdl__nodes__get_has_is
+
+Set_Has_Is = libghdl.vhdl__nodes__set_has_is
+
+Get_Has_Pure = libghdl.vhdl__nodes__get_has_pure
+
+Set_Has_Pure = libghdl.vhdl__nodes__set_has_pure
+
+Get_Has_Body = libghdl.vhdl__nodes__get_has_body
+
+Set_Has_Body = libghdl.vhdl__nodes__set_has_body
+
+Get_Has_Parameter = libghdl.vhdl__nodes__get_has_parameter
+
+Set_Has_Parameter = libghdl.vhdl__nodes__set_has_parameter
+
+Get_Has_Component = libghdl.vhdl__nodes__get_has_component
+
+Set_Has_Component = libghdl.vhdl__nodes__set_has_component
+
+Get_Has_Identifier_List = libghdl.vhdl__nodes__get_has_identifier_list
+
+Set_Has_Identifier_List = libghdl.vhdl__nodes__set_has_identifier_list
+
+Get_Has_Mode = libghdl.vhdl__nodes__get_has_mode
+
+Set_Has_Mode = libghdl.vhdl__nodes__set_has_mode
+
+Get_Has_Class = libghdl.vhdl__nodes__get_has_class
+
+Set_Has_Class = libghdl.vhdl__nodes__set_has_class
+
+Get_Suspend_Flag = libghdl.vhdl__nodes__get_suspend_flag
+
+Set_Suspend_Flag = libghdl.vhdl__nodes__set_suspend_flag
+
+Get_Is_Ref = libghdl.vhdl__nodes__get_is_ref
+
+Set_Is_Ref = libghdl.vhdl__nodes__set_is_ref
+
+Get_Is_Forward_Ref = libghdl.vhdl__nodes__get_is_forward_ref
+
+Set_Is_Forward_Ref = libghdl.vhdl__nodes__set_is_forward_ref
+
+Get_Psl_Property = libghdl.vhdl__nodes__get_psl_property
+
+Set_Psl_Property = libghdl.vhdl__nodes__set_psl_property
+
+Get_Psl_Sequence = libghdl.vhdl__nodes__get_psl_sequence
+
+Set_Psl_Sequence = libghdl.vhdl__nodes__set_psl_sequence
+
+Get_Psl_Declaration = libghdl.vhdl__nodes__get_psl_declaration
+
+Set_Psl_Declaration = libghdl.vhdl__nodes__set_psl_declaration
+
+Get_Psl_Expression = libghdl.vhdl__nodes__get_psl_expression
+
+Set_Psl_Expression = libghdl.vhdl__nodes__set_psl_expression
+
+Get_Psl_Boolean = libghdl.vhdl__nodes__get_psl_boolean
+
+Set_Psl_Boolean = libghdl.vhdl__nodes__set_psl_boolean
+
+Get_PSL_Clock = libghdl.vhdl__nodes__get_psl_clock
+
+Set_PSL_Clock = libghdl.vhdl__nodes__set_psl_clock
+
+Get_PSL_NFA = libghdl.vhdl__nodes__get_psl_nfa
+
+Set_PSL_NFA = libghdl.vhdl__nodes__set_psl_nfa
+
+Get_PSL_Nbr_States = libghdl.vhdl__nodes__get_psl_nbr_states
+
+Set_PSL_Nbr_States = libghdl.vhdl__nodes__set_psl_nbr_states
+
+Get_PSL_Clock_Sensitivity = libghdl.vhdl__nodes__get_psl_clock_sensitivity
+
+Set_PSL_Clock_Sensitivity = libghdl.vhdl__nodes__set_psl_clock_sensitivity
+
+Get_PSL_EOS_Flag = libghdl.vhdl__nodes__get_psl_eos_flag
+
+Set_PSL_EOS_Flag = libghdl.vhdl__nodes__set_psl_eos_flag
diff --git a/src/vhdl/python/libghdl/thin/vhdl/nodes_meta.py b/src/vhdl/python/libghdl/thin/vhdl/nodes_meta.py
new file mode 100644
index 000000000..58e795abd
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/nodes_meta.py
@@ -0,0 +1,1435 @@
+from libghdl import libghdl
+
+
+
+# From nodes_meta
+get_fields_first = libghdl.vhdl__nodes_meta__get_fields_first
+
+get_fields_last = libghdl.vhdl__nodes_meta__get_fields_last
+
+get_field_by_index = libghdl.vhdl__nodes_meta__get_field_by_index
+
+get_field_type = libghdl.vhdl__nodes_meta__get_field_type
+
+get_field_attribute = libghdl.vhdl__nodes_meta__get_field_attribute
+
+
+class types:
+ Boolean = 0
+ Date_State_Type = 1
+ Date_Type = 2
+ File_Checksum_Id = 3
+ Fp64 = 4
+ Iir = 5
+ Iir_All_Sensitized = 6
+ Iir_Constraint = 7
+ Iir_Delay_Mechanism = 8
+ Iir_Direction = 9
+ Iir_Flist = 10
+ Iir_Index32 = 11
+ Iir_Int32 = 12
+ Iir_List = 13
+ Iir_Mode = 14
+ Iir_Predefined_Functions = 15
+ Iir_Pure_State = 16
+ Iir_Signal_Kind = 17
+ Iir_Staticness = 18
+ Int32 = 19
+ Int64 = 20
+ Name_Id = 21
+ Number_Base_Type = 22
+ PSL_NFA = 23
+ PSL_Node = 24
+ Source_File_Entry = 25
+ Source_Ptr = 26
+ String8_Id = 27
+ Time_Stamp_Id = 28
+ Token_Type = 29
+ Tri_State_Type = 30
+
+
+class Attr:
+ ANone = 0
+ Chain = 1
+ Chain_Next = 2
+ Forward_Ref = 3
+ Maybe_Forward_Ref = 4
+ Maybe_Ref = 5
+ Of_Maybe_Ref = 6
+ Of_Ref = 7
+ Ref = 8
+
+
+class fields:
+ First_Design_Unit = 0
+ Last_Design_Unit = 1
+ Library_Declaration = 2
+ File_Checksum = 3
+ Analysis_Time_Stamp = 4
+ Design_File_Source = 5
+ Library = 6
+ File_Dependence_List = 7
+ Design_File_Filename = 8
+ Design_File_Directory = 9
+ Design_File = 10
+ Design_File_Chain = 11
+ Library_Directory = 12
+ Date = 13
+ Context_Items = 14
+ Dependence_List = 15
+ Analysis_Checks_List = 16
+ Date_State = 17
+ Guarded_Target_State = 18
+ Library_Unit = 19
+ Hash_Chain = 20
+ Design_Unit_Source_Pos = 21
+ Design_Unit_Source_Line = 22
+ Design_Unit_Source_Col = 23
+ Value = 24
+ Enum_Pos = 25
+ Physical_Literal = 26
+ Fp_Value = 27
+ Simple_Aggregate_List = 28
+ String8_Id = 29
+ String_Length = 30
+ Bit_String_Base = 31
+ Has_Signed = 32
+ Has_Sign = 33
+ Has_Length = 34
+ Literal_Origin = 35
+ Range_Origin = 36
+ Literal_Subtype = 37
+ Allocator_Subtype = 38
+ Entity_Class = 39
+ Entity_Name_List = 40
+ Attribute_Designator = 41
+ Attribute_Specification_Chain = 42
+ Attribute_Specification = 43
+ Signal_List = 44
+ Designated_Entity = 45
+ Formal = 46
+ Actual = 47
+ Actual_Conversion = 48
+ Formal_Conversion = 49
+ Whole_Association_Flag = 50
+ Collapse_Signal_Flag = 51
+ Artificial_Flag = 52
+ Open_Flag = 53
+ After_Drivers_Flag = 54
+ We_Value = 55
+ Time = 56
+ Choice_Order = 57
+ Associated_Expr = 58
+ Associated_Block = 59
+ Associated_Chain = 60
+ Choice_Name = 61
+ Choice_Expression = 62
+ Choice_Range = 63
+ Same_Alternative_Flag = 64
+ Element_Type_Flag = 65
+ Architecture = 66
+ Block_Specification = 67
+ Prev_Block_Configuration = 68
+ Configuration_Item_Chain = 69
+ Attribute_Value_Chain = 70
+ Spec_Chain = 71
+ Value_Chain = 72
+ Attribute_Value_Spec_Chain = 73
+ Entity_Name = 74
+ Package = 75
+ Package_Body = 76
+ Instance_Package_Body = 77
+ Need_Body = 78
+ Macro_Expanded_Flag = 79
+ Need_Instance_Bodies = 80
+ Block_Configuration = 81
+ Concurrent_Statement_Chain = 82
+ Chain = 83
+ Port_Chain = 84
+ Generic_Chain = 85
+ Type = 86
+ Subtype_Indication = 87
+ Discrete_Range = 88
+ Type_Definition = 89
+ Subtype_Definition = 90
+ Incomplete_Type_Declaration = 91
+ Interface_Type_Subprograms = 92
+ Nature = 93
+ Mode = 94
+ Guarded_Signal_Flag = 95
+ Signal_Kind = 96
+ Base_Name = 97
+ Interface_Declaration_Chain = 98
+ Subprogram_Specification = 99
+ Sequential_Statement_Chain = 100
+ Subprogram_Body = 101
+ Overload_Number = 102
+ Subprogram_Depth = 103
+ Subprogram_Hash = 104
+ Impure_Depth = 105
+ Return_Type = 106
+ Implicit_Definition = 107
+ Default_Value = 108
+ Deferred_Declaration = 109
+ Deferred_Declaration_Flag = 110
+ Shared_Flag = 111
+ Design_Unit = 112
+ Block_Statement = 113
+ Signal_Driver = 114
+ Declaration_Chain = 115
+ File_Logical_Name = 116
+ File_Open_Kind = 117
+ Element_Position = 118
+ Use_Clause_Chain = 119
+ Context_Reference_Chain = 120
+ Selected_Name = 121
+ Type_Declarator = 122
+ Complete_Type_Definition = 123
+ Incomplete_Type_Ref_Chain = 124
+ Associated_Type = 125
+ Enumeration_Literal_List = 126
+ Entity_Class_Entry_Chain = 127
+ Group_Constituent_List = 128
+ Unit_Chain = 129
+ Primary_Unit = 130
+ Identifier = 131
+ Label = 132
+ Visible_Flag = 133
+ Range_Constraint = 134
+ Direction = 135
+ Left_Limit = 136
+ Right_Limit = 137
+ Left_Limit_Expr = 138
+ Right_Limit_Expr = 139
+ Base_Type = 140
+ Resolution_Indication = 141
+ Record_Element_Resolution_Chain = 142
+ Tolerance = 143
+ Plus_Terminal = 144
+ Minus_Terminal = 145
+ Simultaneous_Left = 146
+ Simultaneous_Right = 147
+ Text_File_Flag = 148
+ Only_Characters_Flag = 149
+ Is_Character_Type = 150
+ Type_Staticness = 151
+ Constraint_State = 152
+ Index_Subtype_List = 153
+ Index_Subtype_Definition_List = 154
+ Element_Subtype_Indication = 155
+ Element_Subtype = 156
+ Index_Constraint_List = 157
+ Array_Element_Constraint = 158
+ Elements_Declaration_List = 159
+ Owned_Elements_Chain = 160
+ Designated_Type = 161
+ Designated_Subtype_Indication = 162
+ Index_List = 163
+ Reference = 164
+ Nature_Declarator = 165
+ Across_Type = 166
+ Through_Type = 167
+ Target = 168
+ Waveform_Chain = 169
+ Guard = 170
+ Delay_Mechanism = 171
+ Reject_Time_Expression = 172
+ Sensitivity_List = 173
+ Process_Origin = 174
+ Package_Origin = 175
+ Condition_Clause = 176
+ Timeout_Clause = 177
+ Postponed_Flag = 178
+ Callees_List = 179
+ Passive_Flag = 180
+ Resolution_Function_Flag = 181
+ Wait_State = 182
+ All_Sensitized_State = 183
+ Seen_Flag = 184
+ Pure_Flag = 185
+ Foreign_Flag = 186
+ Resolved_Flag = 187
+ Signal_Type_Flag = 188
+ Has_Signal_Flag = 189
+ Purity_State = 190
+ Elab_Flag = 191
+ Configuration_Mark_Flag = 192
+ Configuration_Done_Flag = 193
+ Index_Constraint_Flag = 194
+ Hide_Implicit_Flag = 195
+ Assertion_Condition = 196
+ Report_Expression = 197
+ Severity_Expression = 198
+ Instantiated_Unit = 199
+ Generic_Map_Aspect_Chain = 200
+ Port_Map_Aspect_Chain = 201
+ Configuration_Name = 202
+ Component_Configuration = 203
+ Configuration_Specification = 204
+ Default_Binding_Indication = 205
+ Default_Configuration_Declaration = 206
+ Expression = 207
+ Conditional_Expression = 208
+ Allocator_Designated_Type = 209
+ Selected_Waveform_Chain = 210
+ Conditional_Waveform_Chain = 211
+ Guard_Expression = 212
+ Guard_Decl = 213
+ Guard_Sensitivity_List = 214
+ Signal_Attribute_Chain = 215
+ Block_Block_Configuration = 216
+ Package_Header = 217
+ Block_Header = 218
+ Uninstantiated_Package_Name = 219
+ Uninstantiated_Package_Decl = 220
+ Instance_Source_File = 221
+ Generate_Block_Configuration = 222
+ Generate_Statement_Body = 223
+ Alternative_Label = 224
+ Generate_Else_Clause = 225
+ Condition = 226
+ Else_Clause = 227
+ Parameter_Specification = 228
+ Parent = 229
+ Loop_Label = 230
+ Component_Name = 231
+ Instantiation_List = 232
+ Entity_Aspect = 233
+ Default_Entity_Aspect = 234
+ Binding_Indication = 235
+ Named_Entity = 236
+ Alias_Declaration = 237
+ Referenced_Name = 238
+ Expr_Staticness = 239
+ Error_Origin = 240
+ Operand = 241
+ Left = 242
+ Right = 243
+ Physical_Unit = 244
+ Unit_Name = 245
+ Name = 246
+ Group_Template_Name = 247
+ Name_Staticness = 248
+ Prefix = 249
+ Signature_Prefix = 250
+ External_Pathname = 251
+ Pathname_Suffix = 252
+ Pathname_Expression = 253
+ In_Formal_Flag = 254
+ Slice_Subtype = 255
+ Suffix = 256
+ Index_Subtype = 257
+ Parameter = 258
+ Attr_Chain = 259
+ Signal_Attribute_Declaration = 260
+ Actual_Type = 261
+ Actual_Type_Definition = 262
+ Association_Chain = 263
+ Individual_Association_Chain = 264
+ Subprogram_Association_Chain = 265
+ Aggregate_Info = 266
+ Sub_Aggregate_Info = 267
+ Aggr_Dynamic_Flag = 268
+ Aggr_Min_Length = 269
+ Aggr_Low_Limit = 270
+ Aggr_High_Limit = 271
+ Aggr_Others_Flag = 272
+ Aggr_Named_Flag = 273
+ Aggregate_Expand_Flag = 274
+ Association_Choices_Chain = 275
+ Case_Statement_Alternative_Chain = 276
+ Choice_Staticness = 277
+ Procedure_Call = 278
+ Implementation = 279
+ Parameter_Association_Chain = 280
+ Method_Object = 281
+ Subtype_Type_Mark = 282
+ Type_Conversion_Subtype = 283
+ Type_Mark = 284
+ File_Type_Mark = 285
+ Return_Type_Mark = 286
+ Has_Disconnect_Flag = 287
+ Has_Active_Flag = 288
+ Is_Within_Flag = 289
+ Type_Marks_List = 290
+ Implicit_Alias_Flag = 291
+ Alias_Signature = 292
+ Attribute_Signature = 293
+ Overload_List = 294
+ Simple_Name_Identifier = 295
+ Simple_Name_Subtype = 296
+ Protected_Type_Body = 297
+ Protected_Type_Declaration = 298
+ Use_Flag = 299
+ End_Has_Reserved_Id = 300
+ End_Has_Identifier = 301
+ End_Has_Postponed = 302
+ Has_Label = 303
+ Has_Begin = 304
+ Has_End = 305
+ Has_Is = 306
+ Has_Pure = 307
+ Has_Body = 308
+ Has_Parameter = 309
+ Has_Component = 310
+ Has_Identifier_List = 311
+ Has_Mode = 312
+ Has_Class = 313
+ Suspend_Flag = 314
+ Is_Ref = 315
+ Is_Forward_Ref = 316
+ Psl_Property = 317
+ Psl_Sequence = 318
+ Psl_Declaration = 319
+ Psl_Expression = 320
+ Psl_Boolean = 321
+ PSL_Clock = 322
+ PSL_NFA = 323
+ PSL_Nbr_States = 324
+ PSL_Clock_Sensitivity = 325
+ PSL_EOS_Flag = 326
+
+
+Get_Boolean = libghdl.vhdl__nodes_meta__get_boolean
+
+Get_Date_State_Type = libghdl.vhdl__nodes_meta__get_date_state_type
+
+Get_Date_Type = libghdl.vhdl__nodes_meta__get_date_type
+
+Get_File_Checksum_Id = libghdl.vhdl__nodes_meta__get_file_checksum_id
+
+Get_Fp64 = libghdl.vhdl__nodes_meta__get_fp64
+
+Get_Iir = libghdl.vhdl__nodes_meta__get_iir
+
+Get_Iir_All_Sensitized = libghdl.vhdl__nodes_meta__get_iir_all_sensitized
+
+Get_Iir_Constraint = libghdl.vhdl__nodes_meta__get_iir_constraint
+
+Get_Iir_Delay_Mechanism = libghdl.vhdl__nodes_meta__get_iir_delay_mechanism
+
+Get_Iir_Direction = libghdl.vhdl__nodes_meta__get_iir_direction
+
+Get_Iir_Flist = libghdl.vhdl__nodes_meta__get_iir_flist
+
+Get_Iir_Index32 = libghdl.vhdl__nodes_meta__get_iir_index32
+
+Get_Iir_Int32 = libghdl.vhdl__nodes_meta__get_iir_int32
+
+Get_Iir_List = libghdl.vhdl__nodes_meta__get_iir_list
+
+Get_Iir_Mode = libghdl.vhdl__nodes_meta__get_iir_mode
+
+Get_Iir_Predefined_Functions = libghdl.vhdl__nodes_meta__get_iir_predefined_functions
+
+Get_Iir_Pure_State = libghdl.vhdl__nodes_meta__get_iir_pure_state
+
+Get_Iir_Signal_Kind = libghdl.vhdl__nodes_meta__get_iir_signal_kind
+
+Get_Iir_Staticness = libghdl.vhdl__nodes_meta__get_iir_staticness
+
+Get_Int32 = libghdl.vhdl__nodes_meta__get_int32
+
+Get_Int64 = libghdl.vhdl__nodes_meta__get_int64
+
+Get_Name_Id = libghdl.vhdl__nodes_meta__get_name_id
+
+Get_Number_Base_Type = libghdl.vhdl__nodes_meta__get_number_base_type
+
+Get_PSL_NFA = libghdl.vhdl__nodes_meta__get_psl_nfa
+
+Get_PSL_Node = libghdl.vhdl__nodes_meta__get_psl_node
+
+Get_Source_File_Entry = libghdl.vhdl__nodes_meta__get_source_file_entry
+
+Get_Source_Ptr = libghdl.vhdl__nodes_meta__get_source_ptr
+
+Get_String8_Id = libghdl.vhdl__nodes_meta__get_string8_id
+
+Get_Time_Stamp_Id = libghdl.vhdl__nodes_meta__get_time_stamp_id
+
+Get_Token_Type = libghdl.vhdl__nodes_meta__get_token_type
+
+Get_Tri_State_Type = libghdl.vhdl__nodes_meta__get_tri_state_type
+
+
+Has_First_Design_Unit =\
+ libghdl.vhdl__nodes_meta__has_first_design_unit
+
+Has_Last_Design_Unit =\
+ libghdl.vhdl__nodes_meta__has_last_design_unit
+
+Has_Library_Declaration =\
+ libghdl.vhdl__nodes_meta__has_library_declaration
+
+Has_File_Checksum =\
+ libghdl.vhdl__nodes_meta__has_file_checksum
+
+Has_Analysis_Time_Stamp =\
+ libghdl.vhdl__nodes_meta__has_analysis_time_stamp
+
+Has_Design_File_Source =\
+ libghdl.vhdl__nodes_meta__has_design_file_source
+
+Has_Library =\
+ libghdl.vhdl__nodes_meta__has_library
+
+Has_File_Dependence_List =\
+ libghdl.vhdl__nodes_meta__has_file_dependence_list
+
+Has_Design_File_Filename =\
+ libghdl.vhdl__nodes_meta__has_design_file_filename
+
+Has_Design_File_Directory =\
+ libghdl.vhdl__nodes_meta__has_design_file_directory
+
+Has_Design_File =\
+ libghdl.vhdl__nodes_meta__has_design_file
+
+Has_Design_File_Chain =\
+ libghdl.vhdl__nodes_meta__has_design_file_chain
+
+Has_Library_Directory =\
+ libghdl.vhdl__nodes_meta__has_library_directory
+
+Has_Date =\
+ libghdl.vhdl__nodes_meta__has_date
+
+Has_Context_Items =\
+ libghdl.vhdl__nodes_meta__has_context_items
+
+Has_Dependence_List =\
+ libghdl.vhdl__nodes_meta__has_dependence_list
+
+Has_Analysis_Checks_List =\
+ libghdl.vhdl__nodes_meta__has_analysis_checks_list
+
+Has_Date_State =\
+ libghdl.vhdl__nodes_meta__has_date_state
+
+Has_Guarded_Target_State =\
+ libghdl.vhdl__nodes_meta__has_guarded_target_state
+
+Has_Library_Unit =\
+ libghdl.vhdl__nodes_meta__has_library_unit
+
+Has_Hash_Chain =\
+ libghdl.vhdl__nodes_meta__has_hash_chain
+
+Has_Design_Unit_Source_Pos =\
+ libghdl.vhdl__nodes_meta__has_design_unit_source_pos
+
+Has_Design_Unit_Source_Line =\
+ libghdl.vhdl__nodes_meta__has_design_unit_source_line
+
+Has_Design_Unit_Source_Col =\
+ libghdl.vhdl__nodes_meta__has_design_unit_source_col
+
+Has_Value =\
+ libghdl.vhdl__nodes_meta__has_value
+
+Has_Enum_Pos =\
+ libghdl.vhdl__nodes_meta__has_enum_pos
+
+Has_Physical_Literal =\
+ libghdl.vhdl__nodes_meta__has_physical_literal
+
+Has_Fp_Value =\
+ libghdl.vhdl__nodes_meta__has_fp_value
+
+Has_Simple_Aggregate_List =\
+ libghdl.vhdl__nodes_meta__has_simple_aggregate_list
+
+Has_String8_Id =\
+ libghdl.vhdl__nodes_meta__has_string8_id
+
+Has_String_Length =\
+ libghdl.vhdl__nodes_meta__has_string_length
+
+Has_Bit_String_Base =\
+ libghdl.vhdl__nodes_meta__has_bit_string_base
+
+Has_Has_Signed =\
+ libghdl.vhdl__nodes_meta__has_has_signed
+
+Has_Has_Sign =\
+ libghdl.vhdl__nodes_meta__has_has_sign
+
+Has_Has_Length =\
+ libghdl.vhdl__nodes_meta__has_has_length
+
+Has_Literal_Origin =\
+ libghdl.vhdl__nodes_meta__has_literal_origin
+
+Has_Range_Origin =\
+ libghdl.vhdl__nodes_meta__has_range_origin
+
+Has_Literal_Subtype =\
+ libghdl.vhdl__nodes_meta__has_literal_subtype
+
+Has_Allocator_Subtype =\
+ libghdl.vhdl__nodes_meta__has_allocator_subtype
+
+Has_Entity_Class =\
+ libghdl.vhdl__nodes_meta__has_entity_class
+
+Has_Entity_Name_List =\
+ libghdl.vhdl__nodes_meta__has_entity_name_list
+
+Has_Attribute_Designator =\
+ libghdl.vhdl__nodes_meta__has_attribute_designator
+
+Has_Attribute_Specification_Chain =\
+ libghdl.vhdl__nodes_meta__has_attribute_specification_chain
+
+Has_Attribute_Specification =\
+ libghdl.vhdl__nodes_meta__has_attribute_specification
+
+Has_Signal_List =\
+ libghdl.vhdl__nodes_meta__has_signal_list
+
+Has_Designated_Entity =\
+ libghdl.vhdl__nodes_meta__has_designated_entity
+
+Has_Formal =\
+ libghdl.vhdl__nodes_meta__has_formal
+
+Has_Actual =\
+ libghdl.vhdl__nodes_meta__has_actual
+
+Has_Actual_Conversion =\
+ libghdl.vhdl__nodes_meta__has_actual_conversion
+
+Has_Formal_Conversion =\
+ libghdl.vhdl__nodes_meta__has_formal_conversion
+
+Has_Whole_Association_Flag =\
+ libghdl.vhdl__nodes_meta__has_whole_association_flag
+
+Has_Collapse_Signal_Flag =\
+ libghdl.vhdl__nodes_meta__has_collapse_signal_flag
+
+Has_Artificial_Flag =\
+ libghdl.vhdl__nodes_meta__has_artificial_flag
+
+Has_Open_Flag =\
+ libghdl.vhdl__nodes_meta__has_open_flag
+
+Has_After_Drivers_Flag =\
+ libghdl.vhdl__nodes_meta__has_after_drivers_flag
+
+Has_We_Value =\
+ libghdl.vhdl__nodes_meta__has_we_value
+
+Has_Time =\
+ libghdl.vhdl__nodes_meta__has_time
+
+Has_Choice_Order =\
+ libghdl.vhdl__nodes_meta__has_choice_order
+
+Has_Associated_Expr =\
+ libghdl.vhdl__nodes_meta__has_associated_expr
+
+Has_Associated_Block =\
+ libghdl.vhdl__nodes_meta__has_associated_block
+
+Has_Associated_Chain =\
+ libghdl.vhdl__nodes_meta__has_associated_chain
+
+Has_Choice_Name =\
+ libghdl.vhdl__nodes_meta__has_choice_name
+
+Has_Choice_Expression =\
+ libghdl.vhdl__nodes_meta__has_choice_expression
+
+Has_Choice_Range =\
+ libghdl.vhdl__nodes_meta__has_choice_range
+
+Has_Same_Alternative_Flag =\
+ libghdl.vhdl__nodes_meta__has_same_alternative_flag
+
+Has_Element_Type_Flag =\
+ libghdl.vhdl__nodes_meta__has_element_type_flag
+
+Has_Architecture =\
+ libghdl.vhdl__nodes_meta__has_architecture
+
+Has_Block_Specification =\
+ libghdl.vhdl__nodes_meta__has_block_specification
+
+Has_Prev_Block_Configuration =\
+ libghdl.vhdl__nodes_meta__has_prev_block_configuration
+
+Has_Configuration_Item_Chain =\
+ libghdl.vhdl__nodes_meta__has_configuration_item_chain
+
+Has_Attribute_Value_Chain =\
+ libghdl.vhdl__nodes_meta__has_attribute_value_chain
+
+Has_Spec_Chain =\
+ libghdl.vhdl__nodes_meta__has_spec_chain
+
+Has_Value_Chain =\
+ libghdl.vhdl__nodes_meta__has_value_chain
+
+Has_Attribute_Value_Spec_Chain =\
+ libghdl.vhdl__nodes_meta__has_attribute_value_spec_chain
+
+Has_Entity_Name =\
+ libghdl.vhdl__nodes_meta__has_entity_name
+
+Has_Package =\
+ libghdl.vhdl__nodes_meta__has_package
+
+Has_Package_Body =\
+ libghdl.vhdl__nodes_meta__has_package_body
+
+Has_Instance_Package_Body =\
+ libghdl.vhdl__nodes_meta__has_instance_package_body
+
+Has_Need_Body =\
+ libghdl.vhdl__nodes_meta__has_need_body
+
+Has_Macro_Expanded_Flag =\
+ libghdl.vhdl__nodes_meta__has_macro_expanded_flag
+
+Has_Need_Instance_Bodies =\
+ libghdl.vhdl__nodes_meta__has_need_instance_bodies
+
+Has_Block_Configuration =\
+ libghdl.vhdl__nodes_meta__has_block_configuration
+
+Has_Concurrent_Statement_Chain =\
+ libghdl.vhdl__nodes_meta__has_concurrent_statement_chain
+
+Has_Chain =\
+ libghdl.vhdl__nodes_meta__has_chain
+
+Has_Port_Chain =\
+ libghdl.vhdl__nodes_meta__has_port_chain
+
+Has_Generic_Chain =\
+ libghdl.vhdl__nodes_meta__has_generic_chain
+
+Has_Type =\
+ libghdl.vhdl__nodes_meta__has_type
+
+Has_Subtype_Indication =\
+ libghdl.vhdl__nodes_meta__has_subtype_indication
+
+Has_Discrete_Range =\
+ libghdl.vhdl__nodes_meta__has_discrete_range
+
+Has_Type_Definition =\
+ libghdl.vhdl__nodes_meta__has_type_definition
+
+Has_Subtype_Definition =\
+ libghdl.vhdl__nodes_meta__has_subtype_definition
+
+Has_Incomplete_Type_Declaration =\
+ libghdl.vhdl__nodes_meta__has_incomplete_type_declaration
+
+Has_Interface_Type_Subprograms =\
+ libghdl.vhdl__nodes_meta__has_interface_type_subprograms
+
+Has_Nature =\
+ libghdl.vhdl__nodes_meta__has_nature
+
+Has_Mode =\
+ libghdl.vhdl__nodes_meta__has_mode
+
+Has_Guarded_Signal_Flag =\
+ libghdl.vhdl__nodes_meta__has_guarded_signal_flag
+
+Has_Signal_Kind =\
+ libghdl.vhdl__nodes_meta__has_signal_kind
+
+Has_Base_Name =\
+ libghdl.vhdl__nodes_meta__has_base_name
+
+Has_Interface_Declaration_Chain =\
+ libghdl.vhdl__nodes_meta__has_interface_declaration_chain
+
+Has_Subprogram_Specification =\
+ libghdl.vhdl__nodes_meta__has_subprogram_specification
+
+Has_Sequential_Statement_Chain =\
+ libghdl.vhdl__nodes_meta__has_sequential_statement_chain
+
+Has_Subprogram_Body =\
+ libghdl.vhdl__nodes_meta__has_subprogram_body
+
+Has_Overload_Number =\
+ libghdl.vhdl__nodes_meta__has_overload_number
+
+Has_Subprogram_Depth =\
+ libghdl.vhdl__nodes_meta__has_subprogram_depth
+
+Has_Subprogram_Hash =\
+ libghdl.vhdl__nodes_meta__has_subprogram_hash
+
+Has_Impure_Depth =\
+ libghdl.vhdl__nodes_meta__has_impure_depth
+
+Has_Return_Type =\
+ libghdl.vhdl__nodes_meta__has_return_type
+
+Has_Implicit_Definition =\
+ libghdl.vhdl__nodes_meta__has_implicit_definition
+
+Has_Default_Value =\
+ libghdl.vhdl__nodes_meta__has_default_value
+
+Has_Deferred_Declaration =\
+ libghdl.vhdl__nodes_meta__has_deferred_declaration
+
+Has_Deferred_Declaration_Flag =\
+ libghdl.vhdl__nodes_meta__has_deferred_declaration_flag
+
+Has_Shared_Flag =\
+ libghdl.vhdl__nodes_meta__has_shared_flag
+
+Has_Design_Unit =\
+ libghdl.vhdl__nodes_meta__has_design_unit
+
+Has_Block_Statement =\
+ libghdl.vhdl__nodes_meta__has_block_statement
+
+Has_Signal_Driver =\
+ libghdl.vhdl__nodes_meta__has_signal_driver
+
+Has_Declaration_Chain =\
+ libghdl.vhdl__nodes_meta__has_declaration_chain
+
+Has_File_Logical_Name =\
+ libghdl.vhdl__nodes_meta__has_file_logical_name
+
+Has_File_Open_Kind =\
+ libghdl.vhdl__nodes_meta__has_file_open_kind
+
+Has_Element_Position =\
+ libghdl.vhdl__nodes_meta__has_element_position
+
+Has_Use_Clause_Chain =\
+ libghdl.vhdl__nodes_meta__has_use_clause_chain
+
+Has_Context_Reference_Chain =\
+ libghdl.vhdl__nodes_meta__has_context_reference_chain
+
+Has_Selected_Name =\
+ libghdl.vhdl__nodes_meta__has_selected_name
+
+Has_Type_Declarator =\
+ libghdl.vhdl__nodes_meta__has_type_declarator
+
+Has_Complete_Type_Definition =\
+ libghdl.vhdl__nodes_meta__has_complete_type_definition
+
+Has_Incomplete_Type_Ref_Chain =\
+ libghdl.vhdl__nodes_meta__has_incomplete_type_ref_chain
+
+Has_Associated_Type =\
+ libghdl.vhdl__nodes_meta__has_associated_type
+
+Has_Enumeration_Literal_List =\
+ libghdl.vhdl__nodes_meta__has_enumeration_literal_list
+
+Has_Entity_Class_Entry_Chain =\
+ libghdl.vhdl__nodes_meta__has_entity_class_entry_chain
+
+Has_Group_Constituent_List =\
+ libghdl.vhdl__nodes_meta__has_group_constituent_list
+
+Has_Unit_Chain =\
+ libghdl.vhdl__nodes_meta__has_unit_chain
+
+Has_Primary_Unit =\
+ libghdl.vhdl__nodes_meta__has_primary_unit
+
+Has_Identifier =\
+ libghdl.vhdl__nodes_meta__has_identifier
+
+Has_Label =\
+ libghdl.vhdl__nodes_meta__has_label
+
+Has_Visible_Flag =\
+ libghdl.vhdl__nodes_meta__has_visible_flag
+
+Has_Range_Constraint =\
+ libghdl.vhdl__nodes_meta__has_range_constraint
+
+Has_Direction =\
+ libghdl.vhdl__nodes_meta__has_direction
+
+Has_Left_Limit =\
+ libghdl.vhdl__nodes_meta__has_left_limit
+
+Has_Right_Limit =\
+ libghdl.vhdl__nodes_meta__has_right_limit
+
+Has_Left_Limit_Expr =\
+ libghdl.vhdl__nodes_meta__has_left_limit_expr
+
+Has_Right_Limit_Expr =\
+ libghdl.vhdl__nodes_meta__has_right_limit_expr
+
+Has_Base_Type =\
+ libghdl.vhdl__nodes_meta__has_base_type
+
+Has_Resolution_Indication =\
+ libghdl.vhdl__nodes_meta__has_resolution_indication
+
+Has_Record_Element_Resolution_Chain =\
+ libghdl.vhdl__nodes_meta__has_record_element_resolution_chain
+
+Has_Tolerance =\
+ libghdl.vhdl__nodes_meta__has_tolerance
+
+Has_Plus_Terminal =\
+ libghdl.vhdl__nodes_meta__has_plus_terminal
+
+Has_Minus_Terminal =\
+ libghdl.vhdl__nodes_meta__has_minus_terminal
+
+Has_Simultaneous_Left =\
+ libghdl.vhdl__nodes_meta__has_simultaneous_left
+
+Has_Simultaneous_Right =\
+ libghdl.vhdl__nodes_meta__has_simultaneous_right
+
+Has_Text_File_Flag =\
+ libghdl.vhdl__nodes_meta__has_text_file_flag
+
+Has_Only_Characters_Flag =\
+ libghdl.vhdl__nodes_meta__has_only_characters_flag
+
+Has_Is_Character_Type =\
+ libghdl.vhdl__nodes_meta__has_is_character_type
+
+Has_Type_Staticness =\
+ libghdl.vhdl__nodes_meta__has_type_staticness
+
+Has_Constraint_State =\
+ libghdl.vhdl__nodes_meta__has_constraint_state
+
+Has_Index_Subtype_List =\
+ libghdl.vhdl__nodes_meta__has_index_subtype_list
+
+Has_Index_Subtype_Definition_List =\
+ libghdl.vhdl__nodes_meta__has_index_subtype_definition_list
+
+Has_Element_Subtype_Indication =\
+ libghdl.vhdl__nodes_meta__has_element_subtype_indication
+
+Has_Element_Subtype =\
+ libghdl.vhdl__nodes_meta__has_element_subtype
+
+Has_Index_Constraint_List =\
+ libghdl.vhdl__nodes_meta__has_index_constraint_list
+
+Has_Array_Element_Constraint =\
+ libghdl.vhdl__nodes_meta__has_array_element_constraint
+
+Has_Elements_Declaration_List =\
+ libghdl.vhdl__nodes_meta__has_elements_declaration_list
+
+Has_Owned_Elements_Chain =\
+ libghdl.vhdl__nodes_meta__has_owned_elements_chain
+
+Has_Designated_Type =\
+ libghdl.vhdl__nodes_meta__has_designated_type
+
+Has_Designated_Subtype_Indication =\
+ libghdl.vhdl__nodes_meta__has_designated_subtype_indication
+
+Has_Index_List =\
+ libghdl.vhdl__nodes_meta__has_index_list
+
+Has_Reference =\
+ libghdl.vhdl__nodes_meta__has_reference
+
+Has_Nature_Declarator =\
+ libghdl.vhdl__nodes_meta__has_nature_declarator
+
+Has_Across_Type =\
+ libghdl.vhdl__nodes_meta__has_across_type
+
+Has_Through_Type =\
+ libghdl.vhdl__nodes_meta__has_through_type
+
+Has_Target =\
+ libghdl.vhdl__nodes_meta__has_target
+
+Has_Waveform_Chain =\
+ libghdl.vhdl__nodes_meta__has_waveform_chain
+
+Has_Guard =\
+ libghdl.vhdl__nodes_meta__has_guard
+
+Has_Delay_Mechanism =\
+ libghdl.vhdl__nodes_meta__has_delay_mechanism
+
+Has_Reject_Time_Expression =\
+ libghdl.vhdl__nodes_meta__has_reject_time_expression
+
+Has_Sensitivity_List =\
+ libghdl.vhdl__nodes_meta__has_sensitivity_list
+
+Has_Process_Origin =\
+ libghdl.vhdl__nodes_meta__has_process_origin
+
+Has_Package_Origin =\
+ libghdl.vhdl__nodes_meta__has_package_origin
+
+Has_Condition_Clause =\
+ libghdl.vhdl__nodes_meta__has_condition_clause
+
+Has_Timeout_Clause =\
+ libghdl.vhdl__nodes_meta__has_timeout_clause
+
+Has_Postponed_Flag =\
+ libghdl.vhdl__nodes_meta__has_postponed_flag
+
+Has_Callees_List =\
+ libghdl.vhdl__nodes_meta__has_callees_list
+
+Has_Passive_Flag =\
+ libghdl.vhdl__nodes_meta__has_passive_flag
+
+Has_Resolution_Function_Flag =\
+ libghdl.vhdl__nodes_meta__has_resolution_function_flag
+
+Has_Wait_State =\
+ libghdl.vhdl__nodes_meta__has_wait_state
+
+Has_All_Sensitized_State =\
+ libghdl.vhdl__nodes_meta__has_all_sensitized_state
+
+Has_Seen_Flag =\
+ libghdl.vhdl__nodes_meta__has_seen_flag
+
+Has_Pure_Flag =\
+ libghdl.vhdl__nodes_meta__has_pure_flag
+
+Has_Foreign_Flag =\
+ libghdl.vhdl__nodes_meta__has_foreign_flag
+
+Has_Resolved_Flag =\
+ libghdl.vhdl__nodes_meta__has_resolved_flag
+
+Has_Signal_Type_Flag =\
+ libghdl.vhdl__nodes_meta__has_signal_type_flag
+
+Has_Has_Signal_Flag =\
+ libghdl.vhdl__nodes_meta__has_has_signal_flag
+
+Has_Purity_State =\
+ libghdl.vhdl__nodes_meta__has_purity_state
+
+Has_Elab_Flag =\
+ libghdl.vhdl__nodes_meta__has_elab_flag
+
+Has_Configuration_Mark_Flag =\
+ libghdl.vhdl__nodes_meta__has_configuration_mark_flag
+
+Has_Configuration_Done_Flag =\
+ libghdl.vhdl__nodes_meta__has_configuration_done_flag
+
+Has_Index_Constraint_Flag =\
+ libghdl.vhdl__nodes_meta__has_index_constraint_flag
+
+Has_Hide_Implicit_Flag =\
+ libghdl.vhdl__nodes_meta__has_hide_implicit_flag
+
+Has_Assertion_Condition =\
+ libghdl.vhdl__nodes_meta__has_assertion_condition
+
+Has_Report_Expression =\
+ libghdl.vhdl__nodes_meta__has_report_expression
+
+Has_Severity_Expression =\
+ libghdl.vhdl__nodes_meta__has_severity_expression
+
+Has_Instantiated_Unit =\
+ libghdl.vhdl__nodes_meta__has_instantiated_unit
+
+Has_Generic_Map_Aspect_Chain =\
+ libghdl.vhdl__nodes_meta__has_generic_map_aspect_chain
+
+Has_Port_Map_Aspect_Chain =\
+ libghdl.vhdl__nodes_meta__has_port_map_aspect_chain
+
+Has_Configuration_Name =\
+ libghdl.vhdl__nodes_meta__has_configuration_name
+
+Has_Component_Configuration =\
+ libghdl.vhdl__nodes_meta__has_component_configuration
+
+Has_Configuration_Specification =\
+ libghdl.vhdl__nodes_meta__has_configuration_specification
+
+Has_Default_Binding_Indication =\
+ libghdl.vhdl__nodes_meta__has_default_binding_indication
+
+Has_Default_Configuration_Declaration =\
+ libghdl.vhdl__nodes_meta__has_default_configuration_declaration
+
+Has_Expression =\
+ libghdl.vhdl__nodes_meta__has_expression
+
+Has_Conditional_Expression =\
+ libghdl.vhdl__nodes_meta__has_conditional_expression
+
+Has_Allocator_Designated_Type =\
+ libghdl.vhdl__nodes_meta__has_allocator_designated_type
+
+Has_Selected_Waveform_Chain =\
+ libghdl.vhdl__nodes_meta__has_selected_waveform_chain
+
+Has_Conditional_Waveform_Chain =\
+ libghdl.vhdl__nodes_meta__has_conditional_waveform_chain
+
+Has_Guard_Expression =\
+ libghdl.vhdl__nodes_meta__has_guard_expression
+
+Has_Guard_Decl =\
+ libghdl.vhdl__nodes_meta__has_guard_decl
+
+Has_Guard_Sensitivity_List =\
+ libghdl.vhdl__nodes_meta__has_guard_sensitivity_list
+
+Has_Signal_Attribute_Chain =\
+ libghdl.vhdl__nodes_meta__has_signal_attribute_chain
+
+Has_Block_Block_Configuration =\
+ libghdl.vhdl__nodes_meta__has_block_block_configuration
+
+Has_Package_Header =\
+ libghdl.vhdl__nodes_meta__has_package_header
+
+Has_Block_Header =\
+ libghdl.vhdl__nodes_meta__has_block_header
+
+Has_Uninstantiated_Package_Name =\
+ libghdl.vhdl__nodes_meta__has_uninstantiated_package_name
+
+Has_Uninstantiated_Package_Decl =\
+ libghdl.vhdl__nodes_meta__has_uninstantiated_package_decl
+
+Has_Instance_Source_File =\
+ libghdl.vhdl__nodes_meta__has_instance_source_file
+
+Has_Generate_Block_Configuration =\
+ libghdl.vhdl__nodes_meta__has_generate_block_configuration
+
+Has_Generate_Statement_Body =\
+ libghdl.vhdl__nodes_meta__has_generate_statement_body
+
+Has_Alternative_Label =\
+ libghdl.vhdl__nodes_meta__has_alternative_label
+
+Has_Generate_Else_Clause =\
+ libghdl.vhdl__nodes_meta__has_generate_else_clause
+
+Has_Condition =\
+ libghdl.vhdl__nodes_meta__has_condition
+
+Has_Else_Clause =\
+ libghdl.vhdl__nodes_meta__has_else_clause
+
+Has_Parameter_Specification =\
+ libghdl.vhdl__nodes_meta__has_parameter_specification
+
+Has_Parent =\
+ libghdl.vhdl__nodes_meta__has_parent
+
+Has_Loop_Label =\
+ libghdl.vhdl__nodes_meta__has_loop_label
+
+Has_Component_Name =\
+ libghdl.vhdl__nodes_meta__has_component_name
+
+Has_Instantiation_List =\
+ libghdl.vhdl__nodes_meta__has_instantiation_list
+
+Has_Entity_Aspect =\
+ libghdl.vhdl__nodes_meta__has_entity_aspect
+
+Has_Default_Entity_Aspect =\
+ libghdl.vhdl__nodes_meta__has_default_entity_aspect
+
+Has_Binding_Indication =\
+ libghdl.vhdl__nodes_meta__has_binding_indication
+
+Has_Named_Entity =\
+ libghdl.vhdl__nodes_meta__has_named_entity
+
+Has_Alias_Declaration =\
+ libghdl.vhdl__nodes_meta__has_alias_declaration
+
+Has_Referenced_Name =\
+ libghdl.vhdl__nodes_meta__has_referenced_name
+
+Has_Expr_Staticness =\
+ libghdl.vhdl__nodes_meta__has_expr_staticness
+
+Has_Error_Origin =\
+ libghdl.vhdl__nodes_meta__has_error_origin
+
+Has_Operand =\
+ libghdl.vhdl__nodes_meta__has_operand
+
+Has_Left =\
+ libghdl.vhdl__nodes_meta__has_left
+
+Has_Right =\
+ libghdl.vhdl__nodes_meta__has_right
+
+Has_Physical_Unit =\
+ libghdl.vhdl__nodes_meta__has_physical_unit
+
+Has_Unit_Name =\
+ libghdl.vhdl__nodes_meta__has_unit_name
+
+Has_Name =\
+ libghdl.vhdl__nodes_meta__has_name
+
+Has_Group_Template_Name =\
+ libghdl.vhdl__nodes_meta__has_group_template_name
+
+Has_Name_Staticness =\
+ libghdl.vhdl__nodes_meta__has_name_staticness
+
+Has_Prefix =\
+ libghdl.vhdl__nodes_meta__has_prefix
+
+Has_Signature_Prefix =\
+ libghdl.vhdl__nodes_meta__has_signature_prefix
+
+Has_External_Pathname =\
+ libghdl.vhdl__nodes_meta__has_external_pathname
+
+Has_Pathname_Suffix =\
+ libghdl.vhdl__nodes_meta__has_pathname_suffix
+
+Has_Pathname_Expression =\
+ libghdl.vhdl__nodes_meta__has_pathname_expression
+
+Has_In_Formal_Flag =\
+ libghdl.vhdl__nodes_meta__has_in_formal_flag
+
+Has_Slice_Subtype =\
+ libghdl.vhdl__nodes_meta__has_slice_subtype
+
+Has_Suffix =\
+ libghdl.vhdl__nodes_meta__has_suffix
+
+Has_Index_Subtype =\
+ libghdl.vhdl__nodes_meta__has_index_subtype
+
+Has_Parameter =\
+ libghdl.vhdl__nodes_meta__has_parameter
+
+Has_Attr_Chain =\
+ libghdl.vhdl__nodes_meta__has_attr_chain
+
+Has_Signal_Attribute_Declaration =\
+ libghdl.vhdl__nodes_meta__has_signal_attribute_declaration
+
+Has_Actual_Type =\
+ libghdl.vhdl__nodes_meta__has_actual_type
+
+Has_Actual_Type_Definition =\
+ libghdl.vhdl__nodes_meta__has_actual_type_definition
+
+Has_Association_Chain =\
+ libghdl.vhdl__nodes_meta__has_association_chain
+
+Has_Individual_Association_Chain =\
+ libghdl.vhdl__nodes_meta__has_individual_association_chain
+
+Has_Subprogram_Association_Chain =\
+ libghdl.vhdl__nodes_meta__has_subprogram_association_chain
+
+Has_Aggregate_Info =\
+ libghdl.vhdl__nodes_meta__has_aggregate_info
+
+Has_Sub_Aggregate_Info =\
+ libghdl.vhdl__nodes_meta__has_sub_aggregate_info
+
+Has_Aggr_Dynamic_Flag =\
+ libghdl.vhdl__nodes_meta__has_aggr_dynamic_flag
+
+Has_Aggr_Min_Length =\
+ libghdl.vhdl__nodes_meta__has_aggr_min_length
+
+Has_Aggr_Low_Limit =\
+ libghdl.vhdl__nodes_meta__has_aggr_low_limit
+
+Has_Aggr_High_Limit =\
+ libghdl.vhdl__nodes_meta__has_aggr_high_limit
+
+Has_Aggr_Others_Flag =\
+ libghdl.vhdl__nodes_meta__has_aggr_others_flag
+
+Has_Aggr_Named_Flag =\
+ libghdl.vhdl__nodes_meta__has_aggr_named_flag
+
+Has_Aggregate_Expand_Flag =\
+ libghdl.vhdl__nodes_meta__has_aggregate_expand_flag
+
+Has_Association_Choices_Chain =\
+ libghdl.vhdl__nodes_meta__has_association_choices_chain
+
+Has_Case_Statement_Alternative_Chain =\
+ libghdl.vhdl__nodes_meta__has_case_statement_alternative_chain
+
+Has_Choice_Staticness =\
+ libghdl.vhdl__nodes_meta__has_choice_staticness
+
+Has_Procedure_Call =\
+ libghdl.vhdl__nodes_meta__has_procedure_call
+
+Has_Implementation =\
+ libghdl.vhdl__nodes_meta__has_implementation
+
+Has_Parameter_Association_Chain =\
+ libghdl.vhdl__nodes_meta__has_parameter_association_chain
+
+Has_Method_Object =\
+ libghdl.vhdl__nodes_meta__has_method_object
+
+Has_Subtype_Type_Mark =\
+ libghdl.vhdl__nodes_meta__has_subtype_type_mark
+
+Has_Type_Conversion_Subtype =\
+ libghdl.vhdl__nodes_meta__has_type_conversion_subtype
+
+Has_Type_Mark =\
+ libghdl.vhdl__nodes_meta__has_type_mark
+
+Has_File_Type_Mark =\
+ libghdl.vhdl__nodes_meta__has_file_type_mark
+
+Has_Return_Type_Mark =\
+ libghdl.vhdl__nodes_meta__has_return_type_mark
+
+Has_Has_Disconnect_Flag =\
+ libghdl.vhdl__nodes_meta__has_has_disconnect_flag
+
+Has_Has_Active_Flag =\
+ libghdl.vhdl__nodes_meta__has_has_active_flag
+
+Has_Is_Within_Flag =\
+ libghdl.vhdl__nodes_meta__has_is_within_flag
+
+Has_Type_Marks_List =\
+ libghdl.vhdl__nodes_meta__has_type_marks_list
+
+Has_Implicit_Alias_Flag =\
+ libghdl.vhdl__nodes_meta__has_implicit_alias_flag
+
+Has_Alias_Signature =\
+ libghdl.vhdl__nodes_meta__has_alias_signature
+
+Has_Attribute_Signature =\
+ libghdl.vhdl__nodes_meta__has_attribute_signature
+
+Has_Overload_List =\
+ libghdl.vhdl__nodes_meta__has_overload_list
+
+Has_Simple_Name_Identifier =\
+ libghdl.vhdl__nodes_meta__has_simple_name_identifier
+
+Has_Simple_Name_Subtype =\
+ libghdl.vhdl__nodes_meta__has_simple_name_subtype
+
+Has_Protected_Type_Body =\
+ libghdl.vhdl__nodes_meta__has_protected_type_body
+
+Has_Protected_Type_Declaration =\
+ libghdl.vhdl__nodes_meta__has_protected_type_declaration
+
+Has_Use_Flag =\
+ libghdl.vhdl__nodes_meta__has_use_flag
+
+Has_End_Has_Reserved_Id =\
+ libghdl.vhdl__nodes_meta__has_end_has_reserved_id
+
+Has_End_Has_Identifier =\
+ libghdl.vhdl__nodes_meta__has_end_has_identifier
+
+Has_End_Has_Postponed =\
+ libghdl.vhdl__nodes_meta__has_end_has_postponed
+
+Has_Has_Label =\
+ libghdl.vhdl__nodes_meta__has_has_label
+
+Has_Has_Begin =\
+ libghdl.vhdl__nodes_meta__has_has_begin
+
+Has_Has_End =\
+ libghdl.vhdl__nodes_meta__has_has_end
+
+Has_Has_Is =\
+ libghdl.vhdl__nodes_meta__has_has_is
+
+Has_Has_Pure =\
+ libghdl.vhdl__nodes_meta__has_has_pure
+
+Has_Has_Body =\
+ libghdl.vhdl__nodes_meta__has_has_body
+
+Has_Has_Parameter =\
+ libghdl.vhdl__nodes_meta__has_has_parameter
+
+Has_Has_Component =\
+ libghdl.vhdl__nodes_meta__has_has_component
+
+Has_Has_Identifier_List =\
+ libghdl.vhdl__nodes_meta__has_has_identifier_list
+
+Has_Has_Mode =\
+ libghdl.vhdl__nodes_meta__has_has_mode
+
+Has_Has_Class =\
+ libghdl.vhdl__nodes_meta__has_has_class
+
+Has_Suspend_Flag =\
+ libghdl.vhdl__nodes_meta__has_suspend_flag
+
+Has_Is_Ref =\
+ libghdl.vhdl__nodes_meta__has_is_ref
+
+Has_Is_Forward_Ref =\
+ libghdl.vhdl__nodes_meta__has_is_forward_ref
+
+Has_Psl_Property =\
+ libghdl.vhdl__nodes_meta__has_psl_property
+
+Has_Psl_Sequence =\
+ libghdl.vhdl__nodes_meta__has_psl_sequence
+
+Has_Psl_Declaration =\
+ libghdl.vhdl__nodes_meta__has_psl_declaration
+
+Has_Psl_Expression =\
+ libghdl.vhdl__nodes_meta__has_psl_expression
+
+Has_Psl_Boolean =\
+ libghdl.vhdl__nodes_meta__has_psl_boolean
+
+Has_PSL_Clock =\
+ libghdl.vhdl__nodes_meta__has_psl_clock
+
+Has_PSL_NFA =\
+ libghdl.vhdl__nodes_meta__has_psl_nfa
+
+Has_PSL_Nbr_States =\
+ libghdl.vhdl__nodes_meta__has_psl_nbr_states
+
+Has_PSL_Clock_Sensitivity =\
+ libghdl.vhdl__nodes_meta__has_psl_clock_sensitivity
+
+Has_PSL_EOS_Flag =\
+ libghdl.vhdl__nodes_meta__has_psl_eos_flag
diff --git a/src/vhdl/python/libghdl/thin/vhdl/nodes_utils.py b/src/vhdl/python/libghdl/thin/vhdl/nodes_utils.py
new file mode 100644
index 000000000..8ea92969e
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/nodes_utils.py
@@ -0,0 +1,14 @@
+from libghdl import libghdl
+
+Strip_Denoting_Name = libghdl.vhdl__utils__strip_denoting_name
+
+Get_Entity = libghdl.vhdl__utils__get_entity
+
+Is_Second_Subprogram_Specification = \
+ libghdl.vhdl__utils__is_second_subprogram_specification
+
+Get_Entity_From_Entity_Aspect = \
+ libghdl.vhdl__utils__get_entity_from_entity_aspect
+
+Get_Interface_Of_Formal = \
+ libghdl.vhdl__utils__get_interface_of_formal
diff --git a/src/vhdl/python/libghdl/thin/vhdl/parse.py b/src/vhdl/python/libghdl/thin/vhdl/parse.py
new file mode 100644
index 000000000..c6fbb5259
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/parse.py
@@ -0,0 +1,7 @@
+from libghdl import libghdl
+from ctypes import c_bool
+
+Parse_Design_File = libghdl.vhdl__parse__parse_design_file
+
+Flag_Parse_Parenthesis = c_bool.in_dll(
+ libghdl, "vhdl__parse__flag_parse_parenthesis")
diff --git a/src/vhdl/python/libghdl/thinutils.py b/src/vhdl/python/libghdl/thin/vhdl/pyutils.py
index 8fc01d434..8fc01d434 100644
--- a/src/vhdl/python/libghdl/thinutils.py
+++ b/src/vhdl/python/libghdl/thin/vhdl/pyutils.py
diff --git a/src/vhdl/python/libghdl/thin/vhdl/scanner.py b/src/vhdl/python/libghdl/thin/vhdl/scanner.py
new file mode 100644
index 000000000..8cea66ba3
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/scanner.py
@@ -0,0 +1,23 @@
+from libghdl import libghdl
+from ctypes import c_int, c_bool
+
+Set_File = libghdl.vhdl__scanner__set_file
+
+Close_File = libghdl.vhdl__scanner__close_file
+
+Scan = libghdl.vhdl__scanner__scan
+
+# This is a c_int, so you want to use its .value
+Current_Token = c_int.in_dll(libghdl, "vhdl__scanner__current_token")
+
+Flag_Comment = c_bool.in_dll(libghdl, "vhdl__scanner__flag_comment")
+
+Get_Current_Line = libghdl.vhdl__scanner__get_current_line
+
+Get_Token_Offset = libghdl.vhdl__scanner__get_token_offset
+
+Get_Token_Position = libghdl.vhdl__scanner__get_token_position
+
+Get_Position = libghdl.vhdl__scanner__get_position
+
+Current_Identifier = libghdl.vhdl__scanner__current_identifier
diff --git a/src/vhdl/python/libghdl/thin/vhdl/sem_lib.py b/src/vhdl/python/libghdl/thin/vhdl/sem_lib.py
new file mode 100644
index 000000000..28f7adc39
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/sem_lib.py
@@ -0,0 +1,5 @@
+from libghdl import libghdl
+
+Load_File = libghdl.vhdl__sem_lib__load_file
+
+Finish_Compilation = libghdl.vhdl__sem_lib__finish_compilation
diff --git a/src/vhdl/python/libghdl/thin/vhdl/std_package.py b/src/vhdl/python/libghdl/thin/vhdl/std_package.py
new file mode 100644
index 000000000..a9628ce89
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/std_package.py
@@ -0,0 +1,13 @@
+from libghdl import libghdl
+from ctypes import c_int32
+
+# Use .value
+Std_Location = c_int32.in_dll(libghdl, "vhdl__std_package__std_location")
+
+# Use .value
+Standard_Package = c_int32.in_dll(
+ libghdl, "vhdl__std_package__standard_package")
+
+# Use .value
+Character_Type_Definition = c_int32.in_dll(
+ libghdl, "vhdl__std_package__character_type_definition")
diff --git a/src/vhdl/python/libghdl/thin/vhdl/tokens.py b/src/vhdl/python/libghdl/thin/vhdl/tokens.py
new file mode 100644
index 000000000..80f582da7
--- /dev/null
+++ b/src/vhdl/python/libghdl/thin/vhdl/tokens.py
@@ -0,0 +1,196 @@
+
+
+class Tok:
+ Invalid = 0
+ Left_Paren = 1
+ Right_Paren = 2
+ Left_Bracket = 3
+ Right_Bracket = 4
+ Colon = 5
+ Semi_Colon = 6
+ Comma = 7
+ Double_Arrow = 8
+ Tick = 9
+ Double_Star = 10
+ Assign = 11
+ Bar = 12
+ Box = 13
+ Dot = 14
+ Equal_Equal = 15
+ Eof = 16
+ Newline = 17
+ Comment = 18
+ Character = 19
+ Identifier = 20
+ Integer = 21
+ Real = 22
+ String = 23
+ Bit_String = 24
+ Integer_Letter = 25
+ Equal = 26
+ Not_Equal = 27
+ Less = 28
+ Less_Equal = 29
+ Greater = 30
+ Greater_Equal = 31
+ Match_Equal = 32
+ Match_Not_Equal = 33
+ Match_Less = 34
+ Match_Less_Equal = 35
+ Match_Greater = 36
+ Match_Greater_Equal = 37
+ Plus = 38
+ Minus = 39
+ Ampersand = 40
+ Condition = 41
+ Double_Less = 42
+ Double_Greater = 43
+ Caret = 44
+ And_And = 45
+ Bar_Bar = 46
+ Left_Curly = 47
+ Right_Curly = 48
+ Exclam_Mark = 49
+ Brack_Star = 50
+ Brack_Plus_Brack = 51
+ Brack_Arrow = 52
+ Brack_Equal = 53
+ Bar_Arrow = 54
+ Bar_Double_Arrow = 55
+ Minus_Greater = 56
+ Arobase = 57
+ Star = 58
+ Slash = 59
+ Mod = 60
+ Rem = 61
+ Abs = 62
+ Not = 63
+ Access = 64
+ After = 65
+ Alias = 66
+ All = 67
+ Architecture = 68
+ Array = 69
+ Assert = 70
+ Attribute = 71
+ Begin = 72
+ Block = 73
+ Body = 74
+ Buffer = 75
+ Bus = 76
+ Case = 77
+ Component = 78
+ Configuration = 79
+ Constant = 80
+ Disconnect = 81
+ Downto = 82
+ Else = 83
+ Elsif = 84
+ End = 85
+ Entity = 86
+ Exit = 87
+ File = 88
+ For = 89
+ Function = 90
+ Generate = 91
+ Generic = 92
+ Guarded = 93
+ If = 94
+ In = 95
+ Inout = 96
+ Is = 97
+ Label = 98
+ Library = 99
+ Linkage = 100
+ Loop = 101
+ Map = 102
+ New = 103
+ Next = 104
+ Null = 105
+ Of = 106
+ On = 107
+ Open = 108
+ Others = 109
+ Out = 110
+ Package = 111
+ Port = 112
+ Procedure = 113
+ Process = 114
+ Range = 115
+ Record = 116
+ Register = 117
+ Report = 118
+ Return = 119
+ Select = 120
+ Severity = 121
+ Signal = 122
+ Subtype = 123
+ Then = 124
+ To = 125
+ Transport = 126
+ Type = 127
+ Units = 128
+ Until = 129
+ Use = 130
+ Variable = 131
+ Wait = 132
+ When = 133
+ While = 134
+ With = 135
+ And = 136
+ Or = 137
+ Xor = 138
+ Nand = 139
+ Nor = 140
+ Xnor = 141
+ Group = 142
+ Impure = 143
+ Inertial = 144
+ Literal = 145
+ Postponed = 146
+ Pure = 147
+ Reject = 148
+ Shared = 149
+ Unaffected = 150
+ Sll = 151
+ Sla = 152
+ Sra = 153
+ Srl = 154
+ Rol = 155
+ Ror = 156
+ Protected = 157
+ Context = 158
+ Parameter = 159
+ Across = 160
+ Break = 161
+ Limit = 162
+ Nature = 163
+ Noise = 164
+ Procedural = 165
+ Quantity = 166
+ Reference = 167
+ Spectrum = 168
+ Subnature = 169
+ Terminal = 170
+ Through = 171
+ Tolerance = 172
+ Psl_Default = 173
+ Psl_Clock = 174
+ Psl_Property = 175
+ Psl_Sequence = 176
+ Psl_Endpoint = 177
+ Psl_Cover = 178
+ Psl_Const = 179
+ Psl_Boolean = 180
+ Inf = 181
+ Within = 182
+ Abort = 183
+ Before = 184
+ Always = 185
+ Never = 186
+ Eventually = 187
+ Next_A = 188
+ Next_E = 189
+ Next_Event = 190
+ Next_Event_A = 191
+ Next_Event_E = 192
diff --git a/src/vhdl/python/pnodespy.py b/src/vhdl/python/pnodespy.py
index 822680970..d2ea23125 100755
--- a/src/vhdl/python/pnodespy.py
+++ b/src/vhdl/python/pnodespy.py
@@ -134,8 +134,17 @@ def read_spec_enum(type_name, prefix, class_name):
read_enum(pnodes.kind_file, type_name, prefix, class_name)
-def do_libghdl_iirs():
+def do_libghdl_nodes():
print('from libghdl import libghdl')
+ print("""
+Null_Iir = 0
+Null_Iir_List = 0
+Iir_List_All = 1
+
+Null_Iir_Flist = 0
+Iir_Flist_Others = 1
+Iir_Flist_All = 2
+""")
do_class_kinds()
read_spec_enum('Iir_Mode', 'Iir_', 'Iir_Mode')
read_spec_enum('Iir_Staticness', '', 'Iir_Staticness')
@@ -221,12 +230,22 @@ def do_libghdl_tokens():
def do_libghdl_errorout():
+ print("""from ctypes import c_int8, c_int32
+class Error_Record(Structure):
+ _fields_ = [("origin", c_int8),
+ ("id", c_int8),
+ ("file", c_int32),
+ ("line", c_int32),
+ ("offset", c_int32),
+ ("length", c_int32)]
+""")
+
read_enum("../errorout.ads", "Msgid_Type", "(Msgid|Warnid)_", "Msgid",
g=lambda m: m.group(1) + '_' + m.group(2))
pnodes.actions.update({'class-kinds': do_class_kinds,
- 'libghdl-iirs': do_libghdl_iirs,
+ 'libghdl-nodes': do_libghdl_nodes,
'libghdl-meta': do_libghdl_meta,
'libghdl-names': do_libghdl_names,
'libghdl-tokens': do_libghdl_tokens,