diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-06-16 07:29:53 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-06-16 07:29:53 +0200 |
commit | c033bff91ebf329f3876d70b49588e1d785fc1f7 (patch) | |
tree | f5652e131531e5ea1c478e1df219345d4e7d7daa /src/psl/psl-nodes_meta.adb | |
parent | 828ad61b5b84c135d74e9064112c2db4ebd6adf4 (diff) | |
download | ghdl-c033bff91ebf329f3876d70b49588e1d785fc1f7.tar.gz ghdl-c033bff91ebf329f3876d70b49588e1d785fc1f7.tar.bz2 ghdl-c033bff91ebf329f3876d70b49588e1d785fc1f7.zip |
vhdl psl: add support for equivalence operator. Fix #1371
Diffstat (limited to 'src/psl/psl-nodes_meta.adb')
-rw-r--r-- | src/psl/psl-nodes_meta.adb | 100 |
1 files changed, 61 insertions, 39 deletions
diff --git a/src/psl/psl-nodes_meta.adb b/src/psl/psl-nodes_meta.adb index ef5808fe4..52ad5e245 100644 --- a/src/psl/psl-nodes_meta.adb +++ b/src/psl/psl-nodes_meta.adb @@ -184,6 +184,8 @@ package body PSL.Nodes_Meta is return "overlap_imp_seq"; when N_Log_Imp_Prop => return "log_imp_prop"; + when N_Log_Equiv_Prop => + return "log_equiv_prop"; when N_Next => return "next"; when N_Next_A => @@ -242,6 +244,8 @@ package body PSL.Nodes_Meta is return "or_bool"; when N_Imp_Bool => return "imp_bool"; + when N_Equiv_Bool => + return "equiv_bool"; when N_HDL_Expr => return "hdl_expr"; when N_HDL_Bool => @@ -425,6 +429,9 @@ package body PSL.Nodes_Meta is -- N_Log_Imp_Prop Field_Left, Field_Right, + -- N_Log_Equiv_Prop + Field_Left, + Field_Right, -- N_Next Field_Strong_Flag, Field_Number, @@ -542,6 +549,12 @@ package body PSL.Nodes_Meta is Field_Left, Field_Right, Field_Hash_Link, + -- N_Equiv_Bool + Field_Hash, + Field_Presence, + Field_Left, + Field_Right, + Field_Hash_Link, -- N_HDL_Expr Field_HDL_Node, Field_HDL_Hash, @@ -594,43 +607,45 @@ package body PSL.Nodes_Meta is N_Imp_Seq => 60, N_Overlap_Imp_Seq => 62, N_Log_Imp_Prop => 64, - N_Next => 67, - N_Next_A => 71, - N_Next_E => 75, - N_Next_Event => 79, - N_Next_Event_A => 84, - N_Next_Event_E => 89, - N_Abort => 91, - N_Until => 95, - N_Before => 99, - N_Or_Prop => 101, - N_And_Prop => 103, - N_Paren_Prop => 104, - N_Braced_SERE => 105, - N_Concat_SERE => 107, - N_Fusion_SERE => 109, - N_Within_SERE => 111, - N_Clocked_SERE => 113, - N_Match_And_Seq => 115, - N_And_Seq => 117, - N_Or_Seq => 119, - N_Star_Repeat_Seq => 122, - N_Goto_Repeat_Seq => 125, - N_Plus_Repeat_Seq => 126, - N_Equal_Repeat_Seq => 129, - N_Paren_Bool => 133, - N_Not_Bool => 137, - N_And_Bool => 142, - N_Or_Bool => 147, - N_Imp_Bool => 152, - N_HDL_Expr => 154, - N_HDL_Bool => 159, - N_False => 159, - N_True => 159, - N_EOS => 162, - N_Name => 164, - N_Name_Decl => 166, - N_Number => 167 + N_Log_Equiv_Prop => 66, + N_Next => 69, + N_Next_A => 73, + N_Next_E => 77, + N_Next_Event => 81, + N_Next_Event_A => 86, + N_Next_Event_E => 91, + N_Abort => 93, + N_Until => 97, + N_Before => 101, + N_Or_Prop => 103, + N_And_Prop => 105, + N_Paren_Prop => 106, + N_Braced_SERE => 107, + N_Concat_SERE => 109, + N_Fusion_SERE => 111, + N_Within_SERE => 113, + N_Clocked_SERE => 115, + N_Match_And_Seq => 117, + N_And_Seq => 119, + N_Or_Seq => 121, + N_Star_Repeat_Seq => 124, + N_Goto_Repeat_Seq => 127, + N_Plus_Repeat_Seq => 128, + N_Equal_Repeat_Seq => 131, + N_Paren_Bool => 135, + N_Not_Bool => 139, + N_And_Bool => 144, + N_Or_Bool => 149, + N_Imp_Bool => 154, + N_Equiv_Bool => 159, + N_HDL_Expr => 161, + N_HDL_Bool => 166, + N_False => 166, + N_True => 166, + N_EOS => 169, + N_Name => 171, + N_Name_Decl => 173, + N_Number => 174 ); function Get_Fields (K : Nkind) return Fields_Array @@ -1063,6 +1078,7 @@ package body PSL.Nodes_Meta is begin case K is when N_Log_Imp_Prop + | N_Log_Equiv_Prop | N_Until | N_Before | N_Or_Prop @@ -1075,7 +1091,8 @@ package body PSL.Nodes_Meta is | N_Or_Seq | N_And_Bool | N_Or_Bool - | N_Imp_Bool => + | N_Imp_Bool + | N_Equiv_Bool => return True; when others => return False; @@ -1086,6 +1103,7 @@ package body PSL.Nodes_Meta is begin case K is when N_Log_Imp_Prop + | N_Log_Equiv_Prop | N_Until | N_Before | N_Or_Prop @@ -1098,7 +1116,8 @@ package body PSL.Nodes_Meta is | N_Or_Seq | N_And_Bool | N_Or_Bool - | N_Imp_Bool => + | N_Imp_Bool + | N_Equiv_Bool => return True; when others => return False; @@ -1239,6 +1258,7 @@ package body PSL.Nodes_Meta is | N_And_Bool | N_Or_Bool | N_Imp_Bool + | N_Equiv_Bool | N_HDL_Bool | N_EOS => return True; @@ -1255,6 +1275,7 @@ package body PSL.Nodes_Meta is | N_And_Bool | N_Or_Bool | N_Imp_Bool + | N_Equiv_Bool | N_HDL_Bool | N_EOS => return True; @@ -1287,6 +1308,7 @@ package body PSL.Nodes_Meta is | N_And_Bool | N_Or_Bool | N_Imp_Bool + | N_Equiv_Bool | N_HDL_Bool => return True; when others => |