aboutsummaryrefslogtreecommitdiffstats
path: root/src/std_names.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-08-04 06:59:25 +0200
committerTristan Gingold <tgingold@free.fr>2018-08-04 17:02:16 +0200
commitafa72384251e121988501ac22f16d0110bd2305f (patch)
tree4d6a5568d8d4995565f7e08268832ed670d9520c /src/std_names.ads
parent919206e884d423925170c3735421b9b5e35cd183 (diff)
downloadghdl-afa72384251e121988501ac22f16d0110bd2305f.tar.gz
ghdl-afa72384251e121988501ac22f16d0110bd2305f.tar.bz2
ghdl-afa72384251e121988501ac22f16d0110bd2305f.zip
rework parse_expression to add parse_binary_expression.
This is needed to complete PSL expression parsing.
Diffstat (limited to 'src/std_names.ads')
-rw-r--r--src/std_names.ads203
1 files changed, 102 insertions, 101 deletions
diff --git a/src/std_names.ads b/src/std_names.ads
index ff273de02..b1e39ca6e 100644
--- a/src/std_names.ads
+++ b/src/std_names.ads
@@ -34,112 +34,113 @@ package Std_Names is
Name_Mod : constant Name_Id := Name_First_Keyword + 000;
Name_Rem : constant Name_Id := Name_First_Keyword + 001;
- Name_And : constant Name_Id := Name_First_Keyword + 002;
- Name_Or : constant Name_Id := Name_First_Keyword + 003;
- Name_Xor : constant Name_Id := Name_First_Keyword + 004;
- Name_Nand : constant Name_Id := Name_First_Keyword + 005;
- Name_Nor : constant Name_Id := Name_First_Keyword + 006;
+ Name_Abs : constant Name_Id := Name_First_Keyword + 002;
+ Name_Not : constant Name_Id := Name_First_Keyword + 003;
- Name_Abs : constant Name_Id := Name_First_Keyword + 007;
- Name_Not : constant Name_Id := Name_First_Keyword + 008;
+ subtype Name_Word_Operators is Name_Id range Name_Mod .. Name_Not;
+
+ Name_Access : constant Name_Id := Name_First_Keyword + 004;
+ Name_After : constant Name_Id := Name_First_Keyword + 005;
+ Name_Alias : constant Name_Id := Name_First_Keyword + 006;
+ Name_All : constant Name_Id := Name_First_Keyword + 007;
+ Name_Architecture : constant Name_Id := Name_First_Keyword + 008;
+ Name_Array : constant Name_Id := Name_First_Keyword + 009;
+ Name_Assert : constant Name_Id := Name_First_Keyword + 010;
+ Name_Attribute : constant Name_Id := Name_First_Keyword + 011;
+
+ Name_Begin : constant Name_Id := Name_First_Keyword + 012;
+ Name_Block : constant Name_Id := Name_First_Keyword + 013;
+ Name_Body : constant Name_Id := Name_First_Keyword + 014;
+ Name_Buffer : constant Name_Id := Name_First_Keyword + 015;
+ Name_Bus : constant Name_Id := Name_First_Keyword + 016;
+
+ Name_Case : constant Name_Id := Name_First_Keyword + 017;
+ Name_Component : constant Name_Id := Name_First_Keyword + 018;
+ Name_Configuration : constant Name_Id := Name_First_Keyword + 019;
+ Name_Constant : constant Name_Id := Name_First_Keyword + 020;
+
+ Name_Disconnect : constant Name_Id := Name_First_Keyword + 021;
+ Name_Downto : constant Name_Id := Name_First_Keyword + 022;
+
+ Name_Else : constant Name_Id := Name_First_Keyword + 023;
+ Name_Elsif : constant Name_Id := Name_First_Keyword + 024;
+ Name_End : constant Name_Id := Name_First_Keyword + 025;
+ Name_Entity : constant Name_Id := Name_First_Keyword + 026;
+ Name_Exit : constant Name_Id := Name_First_Keyword + 027;
+
+ Name_File : constant Name_Id := Name_First_Keyword + 028;
+ Name_For : constant Name_Id := Name_First_Keyword + 029;
+ Name_Function : constant Name_Id := Name_First_Keyword + 030;
+
+ Name_Generate : constant Name_Id := Name_First_Keyword + 031;
+ Name_Generic : constant Name_Id := Name_First_Keyword + 032;
+ Name_Guarded : constant Name_Id := Name_First_Keyword + 033;
+
+ Name_If : constant Name_Id := Name_First_Keyword + 034;
+ Name_In : constant Name_Id := Name_First_Keyword + 035;
+ Name_Inout : constant Name_Id := Name_First_Keyword + 036;
+ Name_Is : constant Name_Id := Name_First_Keyword + 037;
+
+ Name_Label : constant Name_Id := Name_First_Keyword + 038;
+ Name_Library : constant Name_Id := Name_First_Keyword + 039;
+ Name_Linkage : constant Name_Id := Name_First_Keyword + 040;
+ Name_Loop : constant Name_Id := Name_First_Keyword + 041;
+
+ Name_Map : constant Name_Id := Name_First_Keyword + 042;
+
+ Name_New : constant Name_Id := Name_First_Keyword + 043;
+ Name_Next : constant Name_Id := Name_First_Keyword + 044;
+ Name_Null : constant Name_Id := Name_First_Keyword + 045;
+
+ Name_Of : constant Name_Id := Name_First_Keyword + 046;
+ Name_On : constant Name_Id := Name_First_Keyword + 047;
+ Name_Open : constant Name_Id := Name_First_Keyword + 048;
+ Name_Others : constant Name_Id := Name_First_Keyword + 049;
+ Name_Out : constant Name_Id := Name_First_Keyword + 050;
+
+ Name_Package : constant Name_Id := Name_First_Keyword + 051;
+ Name_Port : constant Name_Id := Name_First_Keyword + 052;
+ Name_Procedure : constant Name_Id := Name_First_Keyword + 053;
+ Name_Process : constant Name_Id := Name_First_Keyword + 054;
+
+ Name_Range : constant Name_Id := Name_First_Keyword + 055;
+ Name_Record : constant Name_Id := Name_First_Keyword + 056;
+ Name_Register : constant Name_Id := Name_First_Keyword + 057;
+ Name_Report : constant Name_Id := Name_First_Keyword + 058;
+ Name_Return : constant Name_Id := Name_First_Keyword + 059;
+
+ Name_Select : constant Name_Id := Name_First_Keyword + 060;
+ Name_Severity : constant Name_Id := Name_First_Keyword + 061;
+ Name_Signal : constant Name_Id := Name_First_Keyword + 062;
+ Name_Subtype : constant Name_Id := Name_First_Keyword + 063;
+
+ Name_Then : constant Name_Id := Name_First_Keyword + 064;
+ Name_To : constant Name_Id := Name_First_Keyword + 065;
+ Name_Transport : constant Name_Id := Name_First_Keyword + 066;
+ Name_Type : constant Name_Id := Name_First_Keyword + 067;
+
+ Name_Units : constant Name_Id := Name_First_Keyword + 068;
+ Name_Until : constant Name_Id := Name_First_Keyword + 069;
+ Name_Use : constant Name_Id := Name_First_Keyword + 070;
+
+ Name_Variable : constant Name_Id := Name_First_Keyword + 071;
+
+ Name_Wait : constant Name_Id := Name_First_Keyword + 072;
+ Name_When : constant Name_Id := Name_First_Keyword + 073;
+ Name_While : constant Name_Id := Name_First_Keyword + 074;
+ Name_With : constant Name_Id := Name_First_Keyword + 075;
+
+ Name_And : constant Name_Id := Name_First_Keyword + 076;
+ Name_Or : constant Name_Id := Name_First_Keyword + 077;
+ Name_Xor : constant Name_Id := Name_First_Keyword + 078;
+ Name_Nand : constant Name_Id := Name_First_Keyword + 079;
+ Name_Nor : constant Name_Id := Name_First_Keyword + 080;
subtype Name_Logical_Operators is Name_Id range Name_And .. Name_Nor;
- subtype Name_Word_Operators is Name_Id range Name_Mod .. Name_Not;
- Name_Access : constant Name_Id := Name_First_Keyword + 009;
- Name_After : constant Name_Id := Name_First_Keyword + 010;
- Name_Alias : constant Name_Id := Name_First_Keyword + 011;
- Name_All : constant Name_Id := Name_First_Keyword + 012;
- Name_Architecture : constant Name_Id := Name_First_Keyword + 013;
- Name_Array : constant Name_Id := Name_First_Keyword + 014;
- Name_Assert : constant Name_Id := Name_First_Keyword + 015;
- Name_Attribute : constant Name_Id := Name_First_Keyword + 016;
-
- Name_Begin : constant Name_Id := Name_First_Keyword + 017;
- Name_Block : constant Name_Id := Name_First_Keyword + 018;
- Name_Body : constant Name_Id := Name_First_Keyword + 019;
- Name_Buffer : constant Name_Id := Name_First_Keyword + 020;
- Name_Bus : constant Name_Id := Name_First_Keyword + 021;
-
- Name_Case : constant Name_Id := Name_First_Keyword + 022;
- Name_Component : constant Name_Id := Name_First_Keyword + 023;
- Name_Configuration : constant Name_Id := Name_First_Keyword + 024;
- Name_Constant : constant Name_Id := Name_First_Keyword + 025;
-
- Name_Disconnect : constant Name_Id := Name_First_Keyword + 026;
- Name_Downto : constant Name_Id := Name_First_Keyword + 027;
-
- Name_Else : constant Name_Id := Name_First_Keyword + 028;
- Name_Elsif : constant Name_Id := Name_First_Keyword + 029;
- Name_End : constant Name_Id := Name_First_Keyword + 030;
- Name_Entity : constant Name_Id := Name_First_Keyword + 031;
- Name_Exit : constant Name_Id := Name_First_Keyword + 032;
-
- Name_File : constant Name_Id := Name_First_Keyword + 033;
- Name_For : constant Name_Id := Name_First_Keyword + 034;
- Name_Function : constant Name_Id := Name_First_Keyword + 035;
-
- Name_Generate : constant Name_Id := Name_First_Keyword + 036;
- Name_Generic : constant Name_Id := Name_First_Keyword + 037;
- Name_Guarded : constant Name_Id := Name_First_Keyword + 038;
-
- Name_If : constant Name_Id := Name_First_Keyword + 039;
- Name_In : constant Name_Id := Name_First_Keyword + 040;
- Name_Inout : constant Name_Id := Name_First_Keyword + 041;
- Name_Is : constant Name_Id := Name_First_Keyword + 042;
-
- Name_Label : constant Name_Id := Name_First_Keyword + 043;
- Name_Library : constant Name_Id := Name_First_Keyword + 044;
- Name_Linkage : constant Name_Id := Name_First_Keyword + 045;
- Name_Loop : constant Name_Id := Name_First_Keyword + 046;
-
- Name_Map : constant Name_Id := Name_First_Keyword + 047;
-
- Name_New : constant Name_Id := Name_First_Keyword + 048;
- Name_Next : constant Name_Id := Name_First_Keyword + 049;
- Name_Null : constant Name_Id := Name_First_Keyword + 050;
-
- Name_Of : constant Name_Id := Name_First_Keyword + 051;
- Name_On : constant Name_Id := Name_First_Keyword + 052;
- Name_Open : constant Name_Id := Name_First_Keyword + 053;
- Name_Others : constant Name_Id := Name_First_Keyword + 054;
- Name_Out : constant Name_Id := Name_First_Keyword + 055;
-
- Name_Package : constant Name_Id := Name_First_Keyword + 056;
- Name_Port : constant Name_Id := Name_First_Keyword + 057;
- Name_Procedure : constant Name_Id := Name_First_Keyword + 058;
- Name_Process : constant Name_Id := Name_First_Keyword + 059;
-
- Name_Range : constant Name_Id := Name_First_Keyword + 060;
- Name_Record : constant Name_Id := Name_First_Keyword + 061;
- Name_Register : constant Name_Id := Name_First_Keyword + 062;
- Name_Report : constant Name_Id := Name_First_Keyword + 063;
- Name_Return : constant Name_Id := Name_First_Keyword + 064;
-
- Name_Select : constant Name_Id := Name_First_Keyword + 065;
- Name_Severity : constant Name_Id := Name_First_Keyword + 066;
- Name_Signal : constant Name_Id := Name_First_Keyword + 067;
- Name_Subtype : constant Name_Id := Name_First_Keyword + 068;
-
- Name_Then : constant Name_Id := Name_First_Keyword + 069;
- Name_To : constant Name_Id := Name_First_Keyword + 070;
- Name_Transport : constant Name_Id := Name_First_Keyword + 071;
- Name_Type : constant Name_Id := Name_First_Keyword + 072;
-
- Name_Units : constant Name_Id := Name_First_Keyword + 073;
- Name_Until : constant Name_Id := Name_First_Keyword + 074;
- Name_Use : constant Name_Id := Name_First_Keyword + 075;
-
- Name_Variable : constant Name_Id := Name_First_Keyword + 076;
-
- Name_Wait : constant Name_Id := Name_First_Keyword + 077;
- Name_When : constant Name_Id := Name_First_Keyword + 078;
- Name_While : constant Name_Id := Name_First_Keyword + 079;
- Name_With : constant Name_Id := Name_First_Keyword + 080;
-
- Name_Last_Vhdl87 : constant Name_Id := Name_With;
+ Name_Last_Vhdl87 : constant Name_Id := Name_Nor;
subtype Name_Id_Vhdl87_Reserved_Words is
- Name_Id range Name_First_Keyword .. Name_With;
+ Name_Id range Name_First_Keyword .. Name_Nor;
-- VHDL93 reserved words.
Name_Xnor : constant Name_Id := Name_First_Keyword + 081;