From ca39821dc013a877a8dbdfabbc3b861eb4d4d2e3 Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Mon, 26 Jul 2021 00:13:11 +0200 Subject: Adjusted to renaming in pyVHDLModel. --- pyGHDL/dom/Literal.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pyGHDL/dom/Literal.py') diff --git a/pyGHDL/dom/Literal.py b/pyGHDL/dom/Literal.py index 784039d45..435563793 100644 --- a/pyGHDL/dom/Literal.py +++ b/pyGHDL/dom/Literal.py @@ -9,7 +9,7 @@ # Authors: # Patrick Lehmann # -# Package module: DOM: Interface items (e.g. generic or port) +# Package module: DOM: Literals. # # License: # ============================================================================ @@ -32,7 +32,7 @@ # ============================================================================ from pydecor import export -from pyVHDLModel.VHDLModel import ( +from pyVHDLModel.SyntaxModel import ( NullLiteral as VHDLModel_NullLiteral, EnumerationLiteral as VHDLModel_EnumerationLiteral, IntegerLiteral as VHDLModel_IntegerLiteral, -- cgit v1.2.3 From 8a71357337e46c256f9a243fb574dd78dcec67bc Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Fri, 30 Jul 2021 22:42:40 +0200 Subject: Trying to provide a binding for str_table. --- pyGHDL/dom/Literal.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pyGHDL/dom/Literal.py') diff --git a/pyGHDL/dom/Literal.py b/pyGHDL/dom/Literal.py index 435563793..5fb31f0e7 100644 --- a/pyGHDL/dom/Literal.py +++ b/pyGHDL/dom/Literal.py @@ -42,7 +42,7 @@ from pyVHDLModel.SyntaxModel import ( CharacterLiteral as VHDLModel_CharacterLiteral, StringLiteral as VHDLModel_StringLiteral, ) -from pyGHDL.libghdl import name_table +from pyGHDL.libghdl import name_table, str_table from pyGHDL.libghdl._types import Iir from pyGHDL.libghdl.vhdl import nodes from pyGHDL.dom import DOMMixin @@ -150,5 +150,5 @@ class StringLiteral(VHDLModel_StringLiteral, DOMMixin): @classmethod def parse(cls, literalNode: Iir) -> "StringLiteral": stringID = nodes.Get_String8_Id(literalNode) - value = name_table.Get_Name_Ptr(stringID) + value = str_table.Get_String8_Ptr(stringID) return cls(literalNode, value) -- cgit v1.2.3 From c7f774ff0ade8efe292c00dd6ceb31c42d631278 Mon Sep 17 00:00:00 2001 From: umarcor Date: Mon, 2 Aug 2021 02:04:17 +0200 Subject: FIX pass the length to probably unterminated string extraction (cherry picked from commit afee8309e4b644e0e94c1938c0f4e211ae3038fa) --- pyGHDL/dom/Literal.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'pyGHDL/dom/Literal.py') diff --git a/pyGHDL/dom/Literal.py b/pyGHDL/dom/Literal.py index 5fb31f0e7..26be52ec8 100644 --- a/pyGHDL/dom/Literal.py +++ b/pyGHDL/dom/Literal.py @@ -149,6 +149,10 @@ class StringLiteral(VHDLModel_StringLiteral, DOMMixin): @classmethod def parse(cls, literalNode: Iir) -> "StringLiteral": - stringID = nodes.Get_String8_Id(literalNode) - value = str_table.Get_String8_Ptr(stringID) - return cls(literalNode, value) + if nodes.Get_Bit_String_Base(literalNode) is nodes.NumberBaseType.Base_None: + value = str_table.Get_String8_Ptr( + nodes.Get_String8_Id(literalNode), nodes.Get_String_Length(literalNode) + ) + return cls(literalNode, value) + else: + print("[NOT IMPLEMENTED] Bit String Literal not supported yet") -- cgit v1.2.3