From 0b16ac19879a49acfe777a922dff182e18574442 Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Sun, 27 Dec 2020 23:27:35 +0100 Subject: Added first implementation of a document object model (DOM). --- pyGHDL/dom/InterfaceItem.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 pyGHDL/dom/InterfaceItem.py (limited to 'pyGHDL/dom/InterfaceItem.py') diff --git a/pyGHDL/dom/InterfaceItem.py b/pyGHDL/dom/InterfaceItem.py new file mode 100644 index 000000000..0833c2547 --- /dev/null +++ b/pyGHDL/dom/InterfaceItem.py @@ -0,0 +1,33 @@ +from pydecor import export + +from pyVHDLModel.VHDLModel import PortSignalInterfaceItem as VHDLModel_PortSignalInterfaceItem +from pyVHDLModel.VHDLModel import GenericConstantInterfaceItem as VHDLModel_GenericConstantInterfaceItem + +from pyGHDL.dom.Common import GHDLMixin + +__all__ = [] +__api__ = __all__ + + +@export +class GenericConstantInterfaceItem(VHDLModel_GenericConstantInterfaceItem, GHDLMixin): + @classmethod + def parse(cls, generic): + name = cls._ghdlNodeToName(generic) + mode = cls._ghdlPortToMode(generic) + + generic = cls(name, mode) + + return generic + + +@export +class PortSignalInterfaceItem(VHDLModel_PortSignalInterfaceItem, GHDLMixin): + @classmethod + def parse(cls, port): + name = cls._ghdlNodeToName(port) + mode = cls._ghdlPortToMode(port) + + port = cls(name, mode) + + return port -- cgit v1.2.3