From 852f4310b717765360f5d3bf575d40af5769f70d Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Mon, 30 Aug 2021 08:12:26 +0200 Subject: vhdl and psl: parse sync_abort and async_abort. For #1654 --- pyGHDL/libghdl/vhdl/nodes.py | 13 +++++++++ pyGHDL/libghdl/vhdl/nodes_meta.py | 15 ++++++++--- pyGHDL/libghdl/vhdl/tokens.py | 56 ++++++++++++++++++++------------------- 3 files changed, 53 insertions(+), 31 deletions(-) (limited to 'pyGHDL/libghdl/vhdl') diff --git a/pyGHDL/libghdl/vhdl/nodes.py b/pyGHDL/libghdl/vhdl/nodes.py index 187d49072..d7fcdf202 100644 --- a/pyGHDL/libghdl/vhdl/nodes.py +++ b/pyGHDL/libghdl/vhdl/nodes.py @@ -6578,6 +6578,19 @@ def Set_PSL_EOS_Flag(obj: Iir, value: Boolean) -> None: """""" +@export +@BindToLibGHDL("vhdl__nodes__get_psl_abort_flag") +def Get_PSL_Abort_Flag(obj: Iir) -> Boolean: + """""" + return 0 + + +@export +@BindToLibGHDL("vhdl__nodes__set_psl_abort_flag") +def Set_PSL_Abort_Flag(obj: Iir, value: Boolean) -> None: + """""" + + @export @BindToLibGHDL("vhdl__nodes__get_count_expression") def Get_Count_Expression(obj: Iir) -> Iir: diff --git a/pyGHDL/libghdl/vhdl/nodes_meta.py b/pyGHDL/libghdl/vhdl/nodes_meta.py index c7ba7c5dd..848983e87 100644 --- a/pyGHDL/libghdl/vhdl/nodes_meta.py +++ b/pyGHDL/libghdl/vhdl/nodes_meta.py @@ -483,10 +483,11 @@ class fields(IntEnum): PSL_Nbr_States = 363 PSL_Clock_Sensitivity = 364 PSL_EOS_Flag = 365 - Count_Expression = 366 - Clock_Expression = 367 - Default_Clock = 368 - Foreign_Node = 369 + PSL_Abort_Flag = 366 + Count_Expression = 367 + Clock_Expression = 368 + Default_Clock = 369 + Foreign_Node = 370 def Get_Boolean(node, field): @@ -2817,6 +2818,12 @@ def Has_PSL_EOS_Flag(kind: IirKind) -> bool: """""" +@export +@BindToLibGHDL("vhdl__nodes_meta__has_psl_abort_flag") +def Has_PSL_Abort_Flag(kind: IirKind) -> bool: + """""" + + @export @BindToLibGHDL("vhdl__nodes_meta__has_count_expression") def Has_Count_Expression(kind: IirKind) -> bool: diff --git a/pyGHDL/libghdl/vhdl/tokens.py b/pyGHDL/libghdl/vhdl/tokens.py index c7e8b9878..32eb302c8 100644 --- a/pyGHDL/libghdl/vhdl/tokens.py +++ b/pyGHDL/libghdl/vhdl/tokens.py @@ -204,30 +204,32 @@ class Tok(IntEnum): Inf = 193 Within = 194 Abort = 195 - Before = 196 - Before_Em = 197 - Before_Un = 198 - Before_Em_Un = 199 - Always = 200 - Never = 201 - Eventually_Em = 202 - Next_Em = 203 - Next_A = 204 - Next_A_Em = 205 - Next_E = 206 - Next_E_Em = 207 - Next_Event = 208 - Next_Event_Em = 209 - Next_Event_A = 210 - Next_Event_A_Em = 211 - Next_Event_E = 212 - Next_Event_E_Em = 213 - Until_Em = 214 - Until_Un = 215 - Until_Em_Un = 216 - Prev = 217 - Stable = 218 - Fell = 219 - Rose = 220 - Onehot = 221 - Onehot0 = 222 + Async_Abort = 196 + Sync_Abort = 197 + Before = 198 + Before_Em = 199 + Before_Un = 200 + Before_Em_Un = 201 + Always = 202 + Never = 203 + Eventually_Em = 204 + Next_Em = 205 + Next_A = 206 + Next_A_Em = 207 + Next_E = 208 + Next_E_Em = 209 + Next_Event = 210 + Next_Event_Em = 211 + Next_Event_A = 212 + Next_Event_A_Em = 213 + Next_Event_E = 214 + Next_Event_E_Em = 215 + Until_Em = 216 + Until_Un = 217 + Until_Em_Un = 218 + Prev = 219 + Stable = 220 + Fell = 221 + Rose = 222 + Onehot = 223 + Onehot0 = 224 -- cgit v1.2.3