aboutsummaryrefslogtreecommitdiffstats
path: root/src/std_names.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-08-14 08:22:20 +0200
committerTristan Gingold <tgingold@free.fr>2019-08-14 08:22:20 +0200
commit5cfb8e78cd5d7bdc83494bd72cbe17bf4921bda8 (patch)
tree153ab940b178603745e6b27e37bc606df2e8b316 /src/std_names.ads
parenta8e477a114b528866dfeb5146c9377f57bab604c (diff)
downloadghdl-5cfb8e78cd5d7bdc83494bd72cbe17bf4921bda8.tar.gz
ghdl-5cfb8e78cd5d7bdc83494bd72cbe17bf4921bda8.tar.bz2
ghdl-5cfb8e78cd5d7bdc83494bd72cbe17bf4921bda8.zip
vhdl: add PSL keywords to vhdl08 reserved words.
Diffstat (limited to 'src/std_names.ads')
-rw-r--r--src/std_names.ads268
1 files changed, 135 insertions, 133 deletions
diff --git a/src/std_names.ads b/src/std_names.ads
index 5d2e58e7f..0e08cac9d 100644
--- a/src/std_names.ads
+++ b/src/std_names.ads
@@ -172,14 +172,21 @@ package Std_Names is
subtype Name_Id_Vhdl00_Reserved_Words is
Name_Id range Name_Protected .. Name_Last_Vhdl00;
- Name_Context : constant Name_Id := Name_First_Keyword + 098;
- Name_Parameter : constant Name_Id := Name_First_Keyword + 099;
-
- Name_Last_Vhdl08 : constant Name_Id := Name_Parameter;
+ Name_Assume : constant Name_Id := Name_First_Keyword + 098;
+ Name_Context : constant Name_Id := Name_First_Keyword + 099;
+ Name_Cover : constant Name_Id := Name_First_Keyword + 100;
+ Name_Default : constant Name_Id := Name_First_Keyword + 101;
+ Name_Parameter : constant Name_Id := Name_First_Keyword + 102;
+ Name_Property : constant Name_Id := Name_First_Keyword + 103;
+ Name_Restrict : constant Name_Id := Name_First_Keyword + 104;
+ Name_Restrict_Guarantee : constant Name_Id := Name_First_Keyword + 105;
+ Name_Sequence : constant Name_Id := Name_First_Keyword + 106;
+
+ Name_Last_Vhdl08 : constant Name_Id := Name_Sequence;
subtype Name_Id_Vhdl08_Reserved_Words is
- Name_Id range Name_Context .. Name_Last_Vhdl08;
+ Name_Id range Name_Assume .. Name_Last_Vhdl08;
- Name_First_Ams_Keyword : constant Name_Id := Name_Last_Vhdl08 + 1;
+ Name_First_Ams_Keyword : constant Name_Id := Name_Last_Vhdl08 + 1;
Name_Across : constant Name_Id := Name_First_Ams_Keyword + 000;
Name_Break : constant Name_Id := Name_First_Ams_Keyword + 001;
Name_Limit : constant Name_Id := Name_First_Ams_Keyword + 002;
@@ -214,77 +221,76 @@ package Std_Names is
Name_Casez : constant Name_Id := Name_First_Verilog + 06;
Name_Cmos : constant Name_Id := Name_First_Verilog + 07;
Name_Deassign : constant Name_Id := Name_First_Verilog + 08;
- Name_Default : constant Name_Id := Name_First_Verilog + 09;
- Name_Defparam : constant Name_Id := Name_First_Verilog + 10;
- Name_Disable : constant Name_Id := Name_First_Verilog + 11;
- Name_Edge : constant Name_Id := Name_First_Verilog + 12;
- Name_Endcase : constant Name_Id := Name_First_Verilog + 13;
- Name_Endfunction : constant Name_Id := Name_First_Verilog + 14;
- Name_Endmodule : constant Name_Id := Name_First_Verilog + 15;
- Name_Endprimitive : constant Name_Id := Name_First_Verilog + 16;
- Name_Endspecify : constant Name_Id := Name_First_Verilog + 17;
- Name_Endtable : constant Name_Id := Name_First_Verilog + 18;
- Name_Endtask : constant Name_Id := Name_First_Verilog + 19;
- Name_Force : constant Name_Id := Name_First_Verilog + 20;
- Name_Forever : constant Name_Id := Name_First_Verilog + 21;
- Name_Fork : constant Name_Id := Name_First_Verilog + 22;
- Name_Highz0 : constant Name_Id := Name_First_Verilog + 23;
- Name_Highz1 : constant Name_Id := Name_First_Verilog + 24;
- Name_Ifnone : constant Name_Id := Name_First_Verilog + 25;
- Name_Initial : constant Name_Id := Name_First_Verilog + 26;
- Name_Input : constant Name_Id := Name_First_Verilog + 27;
- Name_Join : constant Name_Id := Name_First_Verilog + 28;
- Name_Large : constant Name_Id := Name_First_Verilog + 29;
- Name_Macromodule : constant Name_Id := Name_First_Verilog + 30;
- Name_Medium : constant Name_Id := Name_First_Verilog + 31;
- Name_Module : constant Name_Id := Name_First_Verilog + 32;
- Name_Negedge : constant Name_Id := Name_First_Verilog + 33;
- Name_Nmos : constant Name_Id := Name_First_Verilog + 34;
- Name_Notif0 : constant Name_Id := Name_First_Verilog + 35;
- Name_Notif1 : constant Name_Id := Name_First_Verilog + 36;
- Name_Output : constant Name_Id := Name_First_Verilog + 37;
- Name_Pmos : constant Name_Id := Name_First_Verilog + 38;
- Name_Posedge : constant Name_Id := Name_First_Verilog + 39;
- Name_Primitive : constant Name_Id := Name_First_Verilog + 40;
- Name_Pull0 : constant Name_Id := Name_First_Verilog + 41;
- Name_Pull1 : constant Name_Id := Name_First_Verilog + 42;
- Name_Pulldown : constant Name_Id := Name_First_Verilog + 43;
- Name_Pullup : constant Name_Id := Name_First_Verilog + 44;
- Name_Realtime : constant Name_Id := Name_First_Verilog + 45;
- Name_Release : constant Name_Id := Name_First_Verilog + 46;
- Name_Reg : constant Name_Id := Name_First_Verilog + 47;
- Name_Repeat : constant Name_Id := Name_First_Verilog + 48;
- Name_Rcmos : constant Name_Id := Name_First_Verilog + 49;
- Name_Rnmos : constant Name_Id := Name_First_Verilog + 50;
- Name_Rpmos : constant Name_Id := Name_First_Verilog + 51;
- Name_Rtran : constant Name_Id := Name_First_Verilog + 52;
- Name_Rtranif0 : constant Name_Id := Name_First_Verilog + 53;
- Name_Rtranif1 : constant Name_Id := Name_First_Verilog + 54;
- Name_Scalared : constant Name_Id := Name_First_Verilog + 55;
- Name_Small : constant Name_Id := Name_First_Verilog + 56;
- Name_Specify : constant Name_Id := Name_First_Verilog + 57;
- Name_Specparam : constant Name_Id := Name_First_Verilog + 58;
- Name_Strong0 : constant Name_Id := Name_First_Verilog + 59;
- Name_Strong1 : constant Name_Id := Name_First_Verilog + 60;
- Name_Supply0 : constant Name_Id := Name_First_Verilog + 61;
- Name_Supply1 : constant Name_Id := Name_First_Verilog + 62;
- Name_Tablex : constant Name_Id := Name_First_Verilog + 63;
- Name_Task : constant Name_Id := Name_First_Verilog + 64;
- Name_Tran : constant Name_Id := Name_First_Verilog + 65;
- Name_Tranif0 : constant Name_Id := Name_First_Verilog + 66;
- Name_Tranif1 : constant Name_Id := Name_First_Verilog + 67;
- Name_Tri : constant Name_Id := Name_First_Verilog + 68;
- Name_Tri0 : constant Name_Id := Name_First_Verilog + 69;
- Name_Tri1 : constant Name_Id := Name_First_Verilog + 70;
- Name_Triand : constant Name_Id := Name_First_Verilog + 71;
- Name_Trior : constant Name_Id := Name_First_Verilog + 72;
- Name_Trireg : constant Name_Id := Name_First_Verilog + 73;
- Name_Vectored : constant Name_Id := Name_First_Verilog + 74;
- Name_Wand : constant Name_Id := Name_First_Verilog + 75;
- Name_Weak0 : constant Name_Id := Name_First_Verilog + 76;
- Name_Weak1 : constant Name_Id := Name_First_Verilog + 77;
- Name_Wire : constant Name_Id := Name_First_Verilog + 78;
- Name_Wor : constant Name_Id := Name_First_Verilog + 79;
+ Name_Defparam : constant Name_Id := Name_First_Verilog + 09;
+ Name_Disable : constant Name_Id := Name_First_Verilog + 10;
+ Name_Edge : constant Name_Id := Name_First_Verilog + 11;
+ Name_Endcase : constant Name_Id := Name_First_Verilog + 12;
+ Name_Endfunction : constant Name_Id := Name_First_Verilog + 13;
+ Name_Endmodule : constant Name_Id := Name_First_Verilog + 14;
+ Name_Endprimitive : constant Name_Id := Name_First_Verilog + 15;
+ Name_Endspecify : constant Name_Id := Name_First_Verilog + 16;
+ Name_Endtable : constant Name_Id := Name_First_Verilog + 17;
+ Name_Endtask : constant Name_Id := Name_First_Verilog + 18;
+ Name_Force : constant Name_Id := Name_First_Verilog + 19;
+ Name_Forever : constant Name_Id := Name_First_Verilog + 20;
+ Name_Fork : constant Name_Id := Name_First_Verilog + 21;
+ Name_Highz0 : constant Name_Id := Name_First_Verilog + 22;
+ Name_Highz1 : constant Name_Id := Name_First_Verilog + 23;
+ Name_Ifnone : constant Name_Id := Name_First_Verilog + 24;
+ Name_Initial : constant Name_Id := Name_First_Verilog + 25;
+ Name_Input : constant Name_Id := Name_First_Verilog + 26;
+ Name_Join : constant Name_Id := Name_First_Verilog + 27;
+ Name_Large : constant Name_Id := Name_First_Verilog + 28;
+ Name_Macromodule : constant Name_Id := Name_First_Verilog + 29;
+ Name_Medium : constant Name_Id := Name_First_Verilog + 30;
+ Name_Module : constant Name_Id := Name_First_Verilog + 31;
+ Name_Negedge : constant Name_Id := Name_First_Verilog + 32;
+ Name_Nmos : constant Name_Id := Name_First_Verilog + 33;
+ Name_Notif0 : constant Name_Id := Name_First_Verilog + 34;
+ Name_Notif1 : constant Name_Id := Name_First_Verilog + 35;
+ Name_Output : constant Name_Id := Name_First_Verilog + 36;
+ Name_Pmos : constant Name_Id := Name_First_Verilog + 37;
+ Name_Posedge : constant Name_Id := Name_First_Verilog + 38;
+ Name_Primitive : constant Name_Id := Name_First_Verilog + 39;
+ Name_Pull0 : constant Name_Id := Name_First_Verilog + 40;
+ Name_Pull1 : constant Name_Id := Name_First_Verilog + 41;
+ Name_Pulldown : constant Name_Id := Name_First_Verilog + 42;
+ Name_Pullup : constant Name_Id := Name_First_Verilog + 43;
+ Name_Realtime : constant Name_Id := Name_First_Verilog + 44;
+ Name_Release : constant Name_Id := Name_First_Verilog + 45;
+ Name_Reg : constant Name_Id := Name_First_Verilog + 46;
+ Name_Repeat : constant Name_Id := Name_First_Verilog + 47;
+ Name_Rcmos : constant Name_Id := Name_First_Verilog + 48;
+ Name_Rnmos : constant Name_Id := Name_First_Verilog + 49;
+ Name_Rpmos : constant Name_Id := Name_First_Verilog + 50;
+ Name_Rtran : constant Name_Id := Name_First_Verilog + 51;
+ Name_Rtranif0 : constant Name_Id := Name_First_Verilog + 52;
+ Name_Rtranif1 : constant Name_Id := Name_First_Verilog + 53;
+ Name_Scalared : constant Name_Id := Name_First_Verilog + 54;
+ Name_Small : constant Name_Id := Name_First_Verilog + 55;
+ Name_Specify : constant Name_Id := Name_First_Verilog + 56;
+ Name_Specparam : constant Name_Id := Name_First_Verilog + 57;
+ Name_Strong0 : constant Name_Id := Name_First_Verilog + 58;
+ Name_Strong1 : constant Name_Id := Name_First_Verilog + 59;
+ Name_Supply0 : constant Name_Id := Name_First_Verilog + 60;
+ Name_Supply1 : constant Name_Id := Name_First_Verilog + 61;
+ Name_Tablex : constant Name_Id := Name_First_Verilog + 62;
+ Name_Task : constant Name_Id := Name_First_Verilog + 63;
+ Name_Tran : constant Name_Id := Name_First_Verilog + 64;
+ Name_Tranif0 : constant Name_Id := Name_First_Verilog + 65;
+ Name_Tranif1 : constant Name_Id := Name_First_Verilog + 66;
+ Name_Tri : constant Name_Id := Name_First_Verilog + 67;
+ Name_Tri0 : constant Name_Id := Name_First_Verilog + 68;
+ Name_Tri1 : constant Name_Id := Name_First_Verilog + 69;
+ Name_Triand : constant Name_Id := Name_First_Verilog + 70;
+ Name_Trior : constant Name_Id := Name_First_Verilog + 71;
+ Name_Trireg : constant Name_Id := Name_First_Verilog + 72;
+ Name_Vectored : constant Name_Id := Name_First_Verilog + 73;
+ Name_Wand : constant Name_Id := Name_First_Verilog + 74;
+ Name_Weak0 : constant Name_Id := Name_First_Verilog + 75;
+ Name_Weak1 : constant Name_Id := Name_First_Verilog + 76;
+ Name_Wire : constant Name_Id := Name_First_Verilog + 77;
+ Name_Wor : constant Name_Id := Name_First_Verilog + 78;
Name_Last_Verilog : constant Name_Id := Name_Wor;
-- Verilog 2001
@@ -347,53 +353,49 @@ package Std_Names is
Name_Class : constant Name_Id := Name_First_SV3_1 + 1;
Name_Clocking : constant Name_Id := Name_First_SV3_1 + 2;
Name_Constraint : constant Name_Id := Name_First_SV3_1 + 3;
- Name_Cover : constant Name_Id := Name_First_SV3_1 + 4;
- Name_Dist : constant Name_Id := Name_First_SV3_1 + 5;
- Name_Endclass : constant Name_Id := Name_First_SV3_1 + 6;
- Name_Endclocking : constant Name_Id := Name_First_SV3_1 + 7;
- Name_Endprogram : constant Name_Id := Name_First_SV3_1 + 8;
- Name_Endproperty : constant Name_Id := Name_First_SV3_1 + 9;
- Name_Endsequence : constant Name_Id := Name_First_SV3_1 + 10;
- Name_Extends : constant Name_Id := Name_First_SV3_1 + 11;
- Name_Final : constant Name_Id := Name_First_SV3_1 + 12;
- Name_First_Match : constant Name_Id := Name_First_SV3_1 + 13;
- Name_Inside : constant Name_Id := Name_First_SV3_1 + 14;
- Name_Intersect : constant Name_Id := Name_First_SV3_1 + 15;
- Name_Join_Any : constant Name_Id := Name_First_SV3_1 + 16;
- Name_Join_None : constant Name_Id := Name_First_SV3_1 + 17;
- Name_Local : constant Name_Id := Name_First_SV3_1 + 18;
- Name_Program : constant Name_Id := Name_First_SV3_1 + 19;
- Name_Property : constant Name_Id := Name_First_SV3_1 + 20;
- Name_Rand : constant Name_Id := Name_First_SV3_1 + 21;
- Name_Randc : constant Name_Id := Name_First_SV3_1 + 22;
- Name_Ref : constant Name_Id := Name_First_SV3_1 + 23;
- Name_Sequence : constant Name_Id := Name_First_SV3_1 + 24;
- Name_Solve : constant Name_Id := Name_First_SV3_1 + 25;
- Name_String : constant Name_Id := Name_First_SV3_1 + 26;
- Name_Super : constant Name_Id := Name_First_SV3_1 + 27;
- Name_This : constant Name_Id := Name_First_SV3_1 + 28;
- Name_Throughout : constant Name_Id := Name_First_SV3_1 + 29;
- Name_Var : constant Name_Id := Name_First_SV3_1 + 30;
- Name_Virtual : constant Name_Id := Name_First_SV3_1 + 31;
- Name_Wait_Order : constant Name_Id := Name_First_SV3_1 + 32;
+ Name_Dist : constant Name_Id := Name_First_SV3_1 + 4;
+ Name_Endclass : constant Name_Id := Name_First_SV3_1 + 5;
+ Name_Endclocking : constant Name_Id := Name_First_SV3_1 + 6;
+ Name_Endprogram : constant Name_Id := Name_First_SV3_1 + 7;
+ Name_Endproperty : constant Name_Id := Name_First_SV3_1 + 8;
+ Name_Endsequence : constant Name_Id := Name_First_SV3_1 + 9;
+ Name_Extends : constant Name_Id := Name_First_SV3_1 + 10;
+ Name_Final : constant Name_Id := Name_First_SV3_1 + 11;
+ Name_First_Match : constant Name_Id := Name_First_SV3_1 + 12;
+ Name_Inside : constant Name_Id := Name_First_SV3_1 + 13;
+ Name_Intersect : constant Name_Id := Name_First_SV3_1 + 14;
+ Name_Join_Any : constant Name_Id := Name_First_SV3_1 + 15;
+ Name_Join_None : constant Name_Id := Name_First_SV3_1 + 16;
+ Name_Local : constant Name_Id := Name_First_SV3_1 + 17;
+ Name_Program : constant Name_Id := Name_First_SV3_1 + 18;
+ Name_Rand : constant Name_Id := Name_First_SV3_1 + 19;
+ Name_Randc : constant Name_Id := Name_First_SV3_1 + 20;
+ Name_Ref : constant Name_Id := Name_First_SV3_1 + 21;
+ Name_Solve : constant Name_Id := Name_First_SV3_1 + 22;
+ Name_String : constant Name_Id := Name_First_SV3_1 + 23;
+ Name_Super : constant Name_Id := Name_First_SV3_1 + 24;
+ Name_This : constant Name_Id := Name_First_SV3_1 + 25;
+ Name_Throughout : constant Name_Id := Name_First_SV3_1 + 26;
+ Name_Var : constant Name_Id := Name_First_SV3_1 + 27;
+ Name_Virtual : constant Name_Id := Name_First_SV3_1 + 28;
+ Name_Wait_Order : constant Name_Id := Name_First_SV3_1 + 29;
Name_Last_SV3_1 : constant Name_Id := Name_Wait_Order;
Name_First_SV3_1a : constant Name_Id := Name_Last_SV3_1 + 1;
- Name_Assume : constant Name_Id := Name_First_SV3_1a + 0;
- Name_Covergroup : constant Name_Id := Name_First_SV3_1a + 1;
- Name_Coverpoint : constant Name_Id := Name_First_SV3_1a + 2;
- Name_Endgroup : constant Name_Id := Name_First_SV3_1a + 3;
- Name_Endpackage : constant Name_Id := Name_First_SV3_1a + 4;
- Name_Expect : constant Name_Id := Name_First_SV3_1a + 5;
- Name_Foreach : constant Name_Id := Name_First_SV3_1a + 6;
- Name_Ignore_Bins : constant Name_Id := Name_First_SV3_1a + 7;
- Name_Illegal_Bins : constant Name_Id := Name_First_SV3_1a + 8;
- Name_Matches : constant Name_Id := Name_First_SV3_1a + 9;
- Name_Randcase : constant Name_Id := Name_First_SV3_1a + 10;
- Name_Randsequence : constant Name_Id := Name_First_SV3_1a + 11;
- Name_Tagged : constant Name_Id := Name_First_SV3_1a + 12;
- Name_Wildcard : constant Name_Id := Name_First_SV3_1a + 13;
- Name_Last_SV3_1a : constant Name_Id := Name_First_SV3_1a + 13;
+ Name_Covergroup : constant Name_Id := Name_First_SV3_1a + 0;
+ Name_Coverpoint : constant Name_Id := Name_First_SV3_1a + 1;
+ Name_Endgroup : constant Name_Id := Name_First_SV3_1a + 2;
+ Name_Endpackage : constant Name_Id := Name_First_SV3_1a + 3;
+ Name_Expect : constant Name_Id := Name_First_SV3_1a + 4;
+ Name_Foreach : constant Name_Id := Name_First_SV3_1a + 5;
+ Name_Ignore_Bins : constant Name_Id := Name_First_SV3_1a + 6;
+ Name_Illegal_Bins : constant Name_Id := Name_First_SV3_1a + 7;
+ Name_Matches : constant Name_Id := Name_First_SV3_1a + 8;
+ Name_Randcase : constant Name_Id := Name_First_SV3_1a + 9;
+ Name_Randsequence : constant Name_Id := Name_First_SV3_1a + 10;
+ Name_Tagged : constant Name_Id := Name_First_SV3_1a + 11;
+ Name_Wildcard : constant Name_Id := Name_First_SV3_1a + 12;
+ Name_Last_SV3_1a : constant Name_Id := Name_Wildcard;
Name_First_SV2009 : constant Name_Id := Name_Last_SV3_1a + 1;
Name_Implies : constant Name_Id := Name_First_SV2009 + 0;
@@ -918,21 +920,21 @@ package Std_Names is
-- Name_Or
-- Name_Property
Name_Prev : constant Name_Id := Name_First_PSL + 26;
- Name_Restrict : constant Name_Id := Name_First_PSL + 27;
- Name_Restrict_Guarantee : constant Name_Id := Name_First_PSL + 28;
- Name_Rose : constant Name_Id := Name_First_PSL + 29;
+ -- Name_Restrict
+ -- Name_Restrict_Guarantee
+ Name_Rose : constant Name_Id := Name_First_PSL + 27;
-- sequence
- Name_Strong : constant Name_Id := Name_First_PSL + 30;
+ Name_Strong : constant Name_Id := Name_First_PSL + 28;
-- union
-- until
- Name_Vmode : constant Name_Id := Name_First_PSL + 31;
- Name_Vprop : constant Name_Id := Name_First_PSL + 32;
- Name_Vunit : constant Name_Id := Name_First_PSL + 33;
- Name_W : constant Name_Id := Name_First_PSL + 34;
- Name_Whilenot : constant Name_Id := Name_First_PSL + 35;
- Name_Within : constant Name_Id := Name_First_PSL + 36;
- Name_X : constant Name_Id := Name_First_PSL + 37;
- Name_Last_PSL : constant Name_Id := Name_First_PSL + 37;
+ Name_Vmode : constant Name_Id := Name_First_PSL + 29;
+ Name_Vprop : constant Name_Id := Name_First_PSL + 30;
+ Name_Vunit : constant Name_Id := Name_First_PSL + 31;
+ Name_W : constant Name_Id := Name_First_PSL + 32;
+ Name_Whilenot : constant Name_Id := Name_First_PSL + 33;
+ Name_Within : constant Name_Id := Name_First_PSL + 34;
+ Name_X : constant Name_Id := Name_First_PSL + 35;
+ Name_Last_PSL : constant Name_Id := Name_X;
subtype Name_Id_PSL_Keywords is
Name_Id range Name_First_PSL .. Name_Last_PSL;