diff options
Diffstat (limited to 'pyGHDL/libghdl/vhdl/sem_lib.py')
-rw-r--r-- | pyGHDL/libghdl/vhdl/sem_lib.py | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/pyGHDL/libghdl/vhdl/sem_lib.py b/pyGHDL/libghdl/vhdl/sem_lib.py index d2a807656..9fcc7ac79 100644 --- a/pyGHDL/libghdl/vhdl/sem_lib.py +++ b/pyGHDL/libghdl/vhdl/sem_lib.py @@ -7,12 +7,13 @@ # |_| |___/ |___/ # ============================================================================= # Authors: Tristan Gingold +# Patrick Lehmann # -# Package package: Python binding and low-level API for shared library 'libghdl'. +# Package module: Python binding and low-level API for shared library 'libghdl'. # # License: # ============================================================================ -# Copyright (C) 2019-2020 Tristan Gingold +# Copyright (C) 2019-2021 Tristan Gingold # # GHDL is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free @@ -32,11 +33,39 @@ # SPDX-License-Identifier: GPL-2.0-or-later # ============================================================================ # +from pydecor import export + from pyGHDL.libghdl import libghdl +from pyGHDL.libghdl._types import SourceFileEntry + + +@export +def Load_File(File: SourceFileEntry): + """ + Start to analyse a file (i.e. load and parse it). + + :param File: File to analyse. + :return: Return :attr:`~pyGHDL.libghdl.vhdl.nodes.Null_Iir` in case of parse error. Type: ``Iir_Design_File`` + """ + return libghdl.vhdl__sem_lib__load_file(File) + + +@export +def Finish_Compilation(Unit, Main: bool = False) -> None: + """ + Analyze :obj:`Unit`. + :param Unit: Design unit to analyze. + :param Main: Is main unit. + """ + libghdl.vhdl__sem_lib__finish_compilation(Unit, Main) -Load_File = libghdl.vhdl__sem_lib__load_file -Finish_Compilation = libghdl.vhdl__sem_lib__finish_compilation +@export +def Free_Dependence_List(Design) -> None: + """ + Free the dependence list of :obj:`Design`. -Free_Dependence_List = libghdl.vhdl__sem_lib__free_dependence_list + :param Design: Design unit to free dependencies for. + """ + libghdl.vhdl__sem_lib__free_dependence_list(Design) |