1-- Well known name table entries. 2-- Copyright (C) 2002, 2003, 2004, 2005 Tristan Gingold 3-- 4-- This program is free software: you can redistribute it and/or modify 5-- it under the terms of the GNU General Public License as published by 6-- the Free Software Foundation, either version 2 of the License, or 7-- (at your option) any later version. 8-- 9-- This program is distributed in the hope that it will be useful, 10-- but WITHOUT ANY WARRANTY; without even the implied warranty of 11-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12-- GNU General Public License for more details. 13-- 14-- You should have received a copy of the GNU General Public License 15-- along with this program. If not, see <gnu.org/licenses>. 16with Types; use Types; 17 18-- Note: since all identifiers declared in this package begins with either 19-- std_names or name, this package is expected to be use'd. 20 21package Std_Names is 22 -- Predefined names. 23 Name_First_Character : constant Name_Id := 1; 24 Name_Last_Character : constant Name_Id := Name_First_Character + 255; 25 26 subtype Name_Characters is Name_Id 27 range Name_First_Character .. Name_Last_Character; 28 29 Name_First_Keyword : constant Name_Id := Name_Last_Character + 1; 30 31 -- Word operators. 32 Name_Mod : constant Name_Id := Name_First_Keyword + 000; 33 Name_Rem : constant Name_Id := Name_First_Keyword + 001; 34 35 Name_Abs : constant Name_Id := Name_First_Keyword + 002; 36 Name_Not : constant Name_Id := Name_First_Keyword + 003; 37 38 subtype Name_Word_Operators is Name_Id range Name_Mod .. Name_Not; 39 40 Name_Access : constant Name_Id := Name_First_Keyword + 004; 41 Name_After : constant Name_Id := Name_First_Keyword + 005; 42 Name_Alias : constant Name_Id := Name_First_Keyword + 006; 43 Name_All : constant Name_Id := Name_First_Keyword + 007; 44 Name_Architecture : constant Name_Id := Name_First_Keyword + 008; 45 Name_Array : constant Name_Id := Name_First_Keyword + 009; 46 Name_Assert : constant Name_Id := Name_First_Keyword + 010; 47 Name_Attribute : constant Name_Id := Name_First_Keyword + 011; 48 49 Name_Begin : constant Name_Id := Name_First_Keyword + 012; 50 Name_Block : constant Name_Id := Name_First_Keyword + 013; 51 Name_Body : constant Name_Id := Name_First_Keyword + 014; 52 Name_Buffer : constant Name_Id := Name_First_Keyword + 015; 53 Name_Bus : constant Name_Id := Name_First_Keyword + 016; 54 55 Name_Case : constant Name_Id := Name_First_Keyword + 017; 56 Name_Component : constant Name_Id := Name_First_Keyword + 018; 57 Name_Configuration : constant Name_Id := Name_First_Keyword + 019; 58 Name_Constant : constant Name_Id := Name_First_Keyword + 020; 59 60 Name_Disconnect : constant Name_Id := Name_First_Keyword + 021; 61 Name_Downto : constant Name_Id := Name_First_Keyword + 022; 62 63 Name_Else : constant Name_Id := Name_First_Keyword + 023; 64 Name_Elsif : constant Name_Id := Name_First_Keyword + 024; 65 Name_End : constant Name_Id := Name_First_Keyword + 025; 66 Name_Entity : constant Name_Id := Name_First_Keyword + 026; 67 Name_Exit : constant Name_Id := Name_First_Keyword + 027; 68 69 Name_File : constant Name_Id := Name_First_Keyword + 028; 70 Name_For : constant Name_Id := Name_First_Keyword + 029; 71 Name_Function : constant Name_Id := Name_First_Keyword + 030; 72 73 Name_Generate : constant Name_Id := Name_First_Keyword + 031; 74 Name_Generic : constant Name_Id := Name_First_Keyword + 032; 75 Name_Guarded : constant Name_Id := Name_First_Keyword + 033; 76 77 Name_If : constant Name_Id := Name_First_Keyword + 034; 78 Name_In : constant Name_Id := Name_First_Keyword + 035; 79 Name_Inout : constant Name_Id := Name_First_Keyword + 036; 80 Name_Is : constant Name_Id := Name_First_Keyword + 037; 81 82 Name_Label : constant Name_Id := Name_First_Keyword + 038; 83 Name_Library : constant Name_Id := Name_First_Keyword + 039; 84 Name_Linkage : constant Name_Id := Name_First_Keyword + 040; 85 Name_Loop : constant Name_Id := Name_First_Keyword + 041; 86 87 Name_Map : constant Name_Id := Name_First_Keyword + 042; 88 89 Name_New : constant Name_Id := Name_First_Keyword + 043; 90 Name_Next : constant Name_Id := Name_First_Keyword + 044; 91 Name_Null : constant Name_Id := Name_First_Keyword + 045; 92 93 Name_Of : constant Name_Id := Name_First_Keyword + 046; 94 Name_On : constant Name_Id := Name_First_Keyword + 047; 95 Name_Open : constant Name_Id := Name_First_Keyword + 048; 96 Name_Others : constant Name_Id := Name_First_Keyword + 049; 97 Name_Out : constant Name_Id := Name_First_Keyword + 050; 98 99 Name_Package : constant Name_Id := Name_First_Keyword + 051; 100 Name_Port : constant Name_Id := Name_First_Keyword + 052; 101 Name_Procedure : constant Name_Id := Name_First_Keyword + 053; 102 Name_Process : constant Name_Id := Name_First_Keyword + 054; 103 104 Name_Range : constant Name_Id := Name_First_Keyword + 055; 105 Name_Record : constant Name_Id := Name_First_Keyword + 056; 106 Name_Register : constant Name_Id := Name_First_Keyword + 057; 107 Name_Report : constant Name_Id := Name_First_Keyword + 058; 108 Name_Return : constant Name_Id := Name_First_Keyword + 059; 109 110 Name_Select : constant Name_Id := Name_First_Keyword + 060; 111 Name_Severity : constant Name_Id := Name_First_Keyword + 061; 112 Name_Signal : constant Name_Id := Name_First_Keyword + 062; 113 Name_Subtype : constant Name_Id := Name_First_Keyword + 063; 114 115 Name_Then : constant Name_Id := Name_First_Keyword + 064; 116 Name_To : constant Name_Id := Name_First_Keyword + 065; 117 Name_Transport : constant Name_Id := Name_First_Keyword + 066; 118 Name_Type : constant Name_Id := Name_First_Keyword + 067; 119 120 Name_Units : constant Name_Id := Name_First_Keyword + 068; 121 Name_Until : constant Name_Id := Name_First_Keyword + 069; 122 Name_Use : constant Name_Id := Name_First_Keyword + 070; 123 124 Name_Variable : constant Name_Id := Name_First_Keyword + 071; 125 126 Name_Wait : constant Name_Id := Name_First_Keyword + 072; 127 Name_When : constant Name_Id := Name_First_Keyword + 073; 128 Name_While : constant Name_Id := Name_First_Keyword + 074; 129 Name_With : constant Name_Id := Name_First_Keyword + 075; 130 131 Name_And : constant Name_Id := Name_First_Keyword + 076; 132 Name_Or : constant Name_Id := Name_First_Keyword + 077; 133 Name_Xor : constant Name_Id := Name_First_Keyword + 078; 134 Name_Nand : constant Name_Id := Name_First_Keyword + 079; 135 Name_Nor : constant Name_Id := Name_First_Keyword + 080; 136 137 subtype Name_Logical_Operators is Name_Id range Name_And .. Name_Nor; 138 139 Name_Last_Vhdl87 : constant Name_Id := Name_Nor; 140 subtype Name_Id_Vhdl87_Reserved_Words is 141 Name_Id range Name_First_Keyword .. Name_Nor; 142 143 -- VHDL93 reserved words. 144 Name_Xnor : constant Name_Id := Name_First_Keyword + 081; 145 Name_Group : constant Name_Id := Name_First_Keyword + 082; 146 Name_Impure : constant Name_Id := Name_First_Keyword + 083; 147 Name_Inertial : constant Name_Id := Name_First_Keyword + 084; 148 Name_Literal : constant Name_Id := Name_First_Keyword + 085; 149 Name_Postponed : constant Name_Id := Name_First_Keyword + 086; 150 Name_Pure : constant Name_Id := Name_First_Keyword + 087; 151 Name_Reject : constant Name_Id := Name_First_Keyword + 088; 152 Name_Shared : constant Name_Id := Name_First_Keyword + 089; 153 Name_Unaffected : constant Name_Id := Name_First_Keyword + 090; 154 155 Name_Sll : constant Name_Id := Name_First_Keyword + 091; 156 Name_Sla : constant Name_Id := Name_First_Keyword + 092; 157 Name_Sra : constant Name_Id := Name_First_Keyword + 093; 158 Name_Srl : constant Name_Id := Name_First_Keyword + 094; 159 Name_Rol : constant Name_Id := Name_First_Keyword + 095; 160 Name_Ror : constant Name_Id := Name_First_Keyword + 096; 161 subtype Name_Shift_Operators is Name_Id range Name_Sll .. Name_Ror; 162 163 Name_Last_Vhdl93 : constant Name_Id := Name_Ror; 164 subtype Name_Id_Vhdl93_Reserved_Words is 165 Name_Id range Name_Xnor .. Name_Ror; 166 167 Name_Protected : constant Name_Id := Name_First_Keyword + 097; 168 169 Name_Last_Vhdl00 : constant Name_Id := Name_Protected; 170 subtype Name_Id_Vhdl00_Reserved_Words is 171 Name_Id range Name_Protected .. Name_Last_Vhdl00; 172 173 Name_Assume : constant Name_Id := Name_First_Keyword + 098; 174 Name_Context : constant Name_Id := Name_First_Keyword + 099; 175 Name_Cover : constant Name_Id := Name_First_Keyword + 100; 176 Name_Default : constant Name_Id := Name_First_Keyword + 101; 177 Name_Force : constant Name_Id := Name_First_Keyword + 102; 178 Name_Parameter : constant Name_Id := Name_First_Keyword + 103; 179 Name_Property : constant Name_Id := Name_First_Keyword + 104; 180 Name_Release : constant Name_Id := Name_First_Keyword + 105; 181 Name_Restrict : constant Name_Id := Name_First_Keyword + 106; 182 Name_Restrict_Guarantee : constant Name_Id := Name_First_Keyword + 107; 183 Name_Sequence : constant Name_Id := Name_First_Keyword + 108; 184 Name_Vmode : constant Name_Id := Name_First_Keyword + 109; 185 Name_Vprop : constant Name_Id := Name_First_Keyword + 110; 186 Name_Vunit : constant Name_Id := Name_First_Keyword + 111; 187 Name_Last_Vhdl08 : constant Name_Id := Name_Vunit; 188 189 subtype Name_Id_Vhdl08_Reserved_Words is 190 Name_Id range Name_Assume .. Name_Last_Vhdl08; 191 192 Name_First_Ams_Keyword : constant Name_Id := Name_Last_Vhdl08 + 1; 193 Name_Across : constant Name_Id := Name_First_Ams_Keyword + 000; 194 Name_Break : constant Name_Id := Name_First_Ams_Keyword + 001; 195 Name_Limit : constant Name_Id := Name_First_Ams_Keyword + 002; 196 Name_Nature : constant Name_Id := Name_First_Ams_Keyword + 003; 197 Name_Noise : constant Name_Id := Name_First_Ams_Keyword + 004; 198 Name_Procedural : constant Name_Id := Name_First_Ams_Keyword + 005; 199 Name_Quantity : constant Name_Id := Name_First_Ams_Keyword + 006; 200 Name_Reference : constant Name_Id := Name_First_Ams_Keyword + 007; 201 Name_Spectrum : constant Name_Id := Name_First_Ams_Keyword + 008; 202 Name_Subnature : constant Name_Id := Name_First_Ams_Keyword + 009; 203 Name_Terminal : constant Name_Id := Name_First_Ams_Keyword + 010; 204 Name_Through : constant Name_Id := Name_First_Ams_Keyword + 011; 205 Name_Tolerance : constant Name_Id := Name_First_Ams_Keyword + 012; 206 Name_Last_AMS_Vhdl : constant Name_Id := Name_Tolerance; 207 208 subtype Name_Id_AMS_Reserved_Words is 209 Name_Id range Name_Across .. Name_Tolerance; 210 211 Name_Last_Keyword : constant Name_Id := Name_Tolerance; 212 213 subtype Name_Id_Keywords is 214 Name_Id range Name_First_Keyword .. Name_Last_Keyword; 215 216 -- Verilog keywords. 217 Name_First_Verilog : constant Name_Id := Name_Last_Keyword + 1; 218 Name_Always : constant Name_Id := Name_First_Verilog + 00; 219 Name_Assign : constant Name_Id := Name_First_Verilog + 01; 220 Name_Buf : constant Name_Id := Name_First_Verilog + 02; 221 Name_Bufif0 : constant Name_Id := Name_First_Verilog + 03; 222 Name_Bufif1 : constant Name_Id := Name_First_Verilog + 04; 223 Name_Casex : constant Name_Id := Name_First_Verilog + 05; 224 Name_Casez : constant Name_Id := Name_First_Verilog + 06; 225 Name_Cmos : constant Name_Id := Name_First_Verilog + 07; 226 Name_Deassign : constant Name_Id := Name_First_Verilog + 08; 227 Name_Defparam : constant Name_Id := Name_First_Verilog + 09; 228 Name_Disable : constant Name_Id := Name_First_Verilog + 10; 229 Name_Edge : constant Name_Id := Name_First_Verilog + 11; 230 Name_Endcase : constant Name_Id := Name_First_Verilog + 12; 231 Name_Endfunction : constant Name_Id := Name_First_Verilog + 13; 232 Name_Endmodule : constant Name_Id := Name_First_Verilog + 14; 233 Name_Endprimitive : constant Name_Id := Name_First_Verilog + 15; 234 Name_Endspecify : constant Name_Id := Name_First_Verilog + 16; 235 Name_Endtable : constant Name_Id := Name_First_Verilog + 17; 236 Name_Endtask : constant Name_Id := Name_First_Verilog + 18; 237 Name_Forever : constant Name_Id := Name_First_Verilog + 19; 238 Name_Fork : constant Name_Id := Name_First_Verilog + 20; 239 Name_Highz0 : constant Name_Id := Name_First_Verilog + 21; 240 Name_Highz1 : constant Name_Id := Name_First_Verilog + 22; 241 Name_Ifnone : constant Name_Id := Name_First_Verilog + 23; 242 Name_Initial : constant Name_Id := Name_First_Verilog + 24; 243 Name_Input : constant Name_Id := Name_First_Verilog + 25; 244 Name_Join : constant Name_Id := Name_First_Verilog + 26; 245 Name_Large : constant Name_Id := Name_First_Verilog + 27; 246 Name_Macromodule : constant Name_Id := Name_First_Verilog + 28; 247 Name_Medium : constant Name_Id := Name_First_Verilog + 29; 248 Name_Module : constant Name_Id := Name_First_Verilog + 30; 249 Name_Negedge : constant Name_Id := Name_First_Verilog + 31; 250 Name_Nmos : constant Name_Id := Name_First_Verilog + 32; 251 Name_Notif0 : constant Name_Id := Name_First_Verilog + 33; 252 Name_Notif1 : constant Name_Id := Name_First_Verilog + 34; 253 Name_Output : constant Name_Id := Name_First_Verilog + 35; 254 Name_Pmos : constant Name_Id := Name_First_Verilog + 36; 255 Name_Posedge : constant Name_Id := Name_First_Verilog + 37; 256 Name_Primitive : constant Name_Id := Name_First_Verilog + 38; 257 Name_Pull0 : constant Name_Id := Name_First_Verilog + 39; 258 Name_Pull1 : constant Name_Id := Name_First_Verilog + 40; 259 Name_Pulldown : constant Name_Id := Name_First_Verilog + 41; 260 Name_Pullup : constant Name_Id := Name_First_Verilog + 42; 261 Name_Realtime : constant Name_Id := Name_First_Verilog + 43; 262 Name_Reg : constant Name_Id := Name_First_Verilog + 44; 263 Name_Repeat : constant Name_Id := Name_First_Verilog + 45; 264 Name_Rcmos : constant Name_Id := Name_First_Verilog + 46; 265 Name_Rnmos : constant Name_Id := Name_First_Verilog + 47; 266 Name_Rpmos : constant Name_Id := Name_First_Verilog + 48; 267 Name_Rtran : constant Name_Id := Name_First_Verilog + 49; 268 Name_Rtranif0 : constant Name_Id := Name_First_Verilog + 50; 269 Name_Rtranif1 : constant Name_Id := Name_First_Verilog + 51; 270 Name_Scalared : constant Name_Id := Name_First_Verilog + 52; 271 Name_Small : constant Name_Id := Name_First_Verilog + 53; 272 Name_Specify : constant Name_Id := Name_First_Verilog + 54; 273 Name_Specparam : constant Name_Id := Name_First_Verilog + 55; 274 Name_Strong0 : constant Name_Id := Name_First_Verilog + 56; 275 Name_Strong1 : constant Name_Id := Name_First_Verilog + 57; 276 Name_Supply0 : constant Name_Id := Name_First_Verilog + 58; 277 Name_Supply1 : constant Name_Id := Name_First_Verilog + 59; 278 Name_Tablex : constant Name_Id := Name_First_Verilog + 60; 279 Name_Task : constant Name_Id := Name_First_Verilog + 61; 280 Name_Tran : constant Name_Id := Name_First_Verilog + 62; 281 Name_Tranif0 : constant Name_Id := Name_First_Verilog + 63; 282 Name_Tranif1 : constant Name_Id := Name_First_Verilog + 64; 283 Name_Tri : constant Name_Id := Name_First_Verilog + 65; 284 Name_Tri0 : constant Name_Id := Name_First_Verilog + 66; 285 Name_Tri1 : constant Name_Id := Name_First_Verilog + 67; 286 Name_Triand : constant Name_Id := Name_First_Verilog + 68; 287 Name_Trior : constant Name_Id := Name_First_Verilog + 69; 288 Name_Trireg : constant Name_Id := Name_First_Verilog + 70; 289 Name_Vectored : constant Name_Id := Name_First_Verilog + 71; 290 Name_Wand : constant Name_Id := Name_First_Verilog + 72; 291 Name_Weak0 : constant Name_Id := Name_First_Verilog + 73; 292 Name_Weak1 : constant Name_Id := Name_First_Verilog + 74; 293 Name_Wire : constant Name_Id := Name_First_Verilog + 75; 294 Name_Wor : constant Name_Id := Name_First_Verilog + 76; 295 Name_Last_Verilog : constant Name_Id := Name_Wor; 296 297 -- Verilog 2001 298 Name_First_V2001 : constant Name_Id := Name_Last_Verilog + 1; 299 Name_Automatic : constant Name_Id := Name_First_V2001 + 0; 300 Name_Endgenerate : constant Name_Id := Name_First_V2001 + 1; 301 Name_Genvar : constant Name_Id := Name_First_V2001 + 2; 302 Name_Localparam : constant Name_Id := Name_First_V2001 + 3; 303 Name_Unsigned : constant Name_Id := Name_First_V2001 + 4; 304 Name_Signed : constant Name_Id := Name_First_V2001 + 5; 305 Name_Last_V2001 : constant Name_Id := Name_First_V2001 + 5; 306 307 -- Verilog 2005 308 Name_Uwire : constant Name_Id := Name_Last_V2001 + 1; 309 310 -- SystemVerilog 311 Name_First_SV3_0 : constant Name_Id := Name_Last_V2001 + 2; 312 Name_Always_Comb : constant Name_Id := Name_First_SV3_0 + 0; 313 Name_Always_Ff : constant Name_Id := Name_First_SV3_0 + 1; 314 Name_Always_Latch : constant Name_Id := Name_First_SV3_0 + 2; 315 Name_Bit : constant Name_Id := Name_First_SV3_0 + 3; 316 Name_Byte : constant Name_Id := Name_First_SV3_0 + 4; 317 Name_Changed : constant Name_Id := Name_First_SV3_0 + 5; 318 Name_Char : constant Name_Id := Name_First_SV3_0 + 6; 319 Name_Const : constant Name_Id := Name_First_SV3_0 + 7; 320 Name_Continue : constant Name_Id := Name_First_SV3_0 + 8; 321 Name_Do : constant Name_Id := Name_First_SV3_0 + 9; 322 Name_Endinterface : constant Name_Id := Name_First_SV3_0 + 10; 323 Name_Endtransition : constant Name_Id := Name_First_SV3_0 + 11; 324 Name_Enum : constant Name_Id := Name_First_SV3_0 + 12; 325 Name_Export : constant Name_Id := Name_First_SV3_0 + 13; 326 Name_Extern : constant Name_Id := Name_First_SV3_0 + 14; 327 Name_Forkjoin : constant Name_Id := Name_First_SV3_0 + 15; 328 Name_Iff : constant Name_Id := Name_First_SV3_0 + 16; 329 Name_Import : constant Name_Id := Name_First_SV3_0 + 17; 330 Name_Int : constant Name_Id := Name_First_SV3_0 + 18; 331 Name_Interface : constant Name_Id := Name_First_SV3_0 + 19; 332 Name_Logic : constant Name_Id := Name_First_SV3_0 + 20; 333 Name_Longint : constant Name_Id := Name_First_SV3_0 + 21; 334 Name_Longreal : constant Name_Id := Name_First_SV3_0 + 22; 335 Name_Modport : constant Name_Id := Name_First_SV3_0 + 23; 336 Name_Packed : constant Name_Id := Name_First_SV3_0 + 24; 337 Name_Priority : constant Name_Id := Name_First_SV3_0 + 25; 338 Name_Shortint : constant Name_Id := Name_First_SV3_0 + 26; 339 Name_Shortreal : constant Name_Id := Name_First_SV3_0 + 27; 340 Name_Static : constant Name_Id := Name_First_SV3_0 + 28; 341 Name_Struct : constant Name_Id := Name_First_SV3_0 + 29; 342 Name_Timeprecision : constant Name_Id := Name_First_SV3_0 + 30; 343 Name_Timeunit : constant Name_Id := Name_First_SV3_0 + 31; 344 Name_Transition : constant Name_Id := Name_First_SV3_0 + 32; 345 Name_Typedef : constant Name_Id := Name_First_SV3_0 + 33; 346 Name_Union : constant Name_Id := Name_First_SV3_0 + 34; 347 Name_Unique : constant Name_Id := Name_First_SV3_0 + 35; 348 Name_Unique0 : constant Name_Id := Name_First_SV3_0 + 36; 349 Name_Void : constant Name_Id := Name_First_SV3_0 + 37; 350 Name_Last_SV3_0 : constant Name_Id := Name_First_SV3_0 + 37; 351 352 Name_First_SV3_1 : constant Name_Id := Name_Last_SV3_0 + 1; 353 Name_Chandle : constant Name_Id := Name_First_SV3_1 + 0; 354 Name_Class : constant Name_Id := Name_First_SV3_1 + 1; 355 Name_Clocking : constant Name_Id := Name_First_SV3_1 + 2; 356 Name_Constraint : constant Name_Id := Name_First_SV3_1 + 3; 357 Name_Dist : constant Name_Id := Name_First_SV3_1 + 4; 358 Name_Endclass : constant Name_Id := Name_First_SV3_1 + 5; 359 Name_Endclocking : constant Name_Id := Name_First_SV3_1 + 6; 360 Name_Endprogram : constant Name_Id := Name_First_SV3_1 + 7; 361 Name_Endproperty : constant Name_Id := Name_First_SV3_1 + 8; 362 Name_Endsequence : constant Name_Id := Name_First_SV3_1 + 9; 363 Name_Extends : constant Name_Id := Name_First_SV3_1 + 10; 364 Name_Final : constant Name_Id := Name_First_SV3_1 + 11; 365 Name_First_Match : constant Name_Id := Name_First_SV3_1 + 12; 366 Name_Inside : constant Name_Id := Name_First_SV3_1 + 13; 367 Name_Intersect : constant Name_Id := Name_First_SV3_1 + 14; 368 Name_Join_Any : constant Name_Id := Name_First_SV3_1 + 15; 369 Name_Join_None : constant Name_Id := Name_First_SV3_1 + 16; 370 Name_Local : constant Name_Id := Name_First_SV3_1 + 17; 371 Name_Program : constant Name_Id := Name_First_SV3_1 + 18; 372 Name_Rand : constant Name_Id := Name_First_SV3_1 + 19; 373 Name_Randc : constant Name_Id := Name_First_SV3_1 + 20; 374 Name_Ref : constant Name_Id := Name_First_SV3_1 + 21; 375 Name_Solve : constant Name_Id := Name_First_SV3_1 + 22; 376 Name_String : constant Name_Id := Name_First_SV3_1 + 23; 377 Name_Super : constant Name_Id := Name_First_SV3_1 + 24; 378 Name_This : constant Name_Id := Name_First_SV3_1 + 25; 379 Name_Throughout : constant Name_Id := Name_First_SV3_1 + 26; 380 Name_Var : constant Name_Id := Name_First_SV3_1 + 27; 381 Name_Virtual : constant Name_Id := Name_First_SV3_1 + 28; 382 Name_Wait_Order : constant Name_Id := Name_First_SV3_1 + 29; 383 Name_Last_SV3_1 : constant Name_Id := Name_Wait_Order; 384 385 Name_First_SV3_1a : constant Name_Id := Name_Last_SV3_1 + 1; 386 Name_Covergroup : constant Name_Id := Name_First_SV3_1a + 0; 387 Name_Coverpoint : constant Name_Id := Name_First_SV3_1a + 1; 388 Name_Endgroup : constant Name_Id := Name_First_SV3_1a + 2; 389 Name_Endpackage : constant Name_Id := Name_First_SV3_1a + 3; 390 Name_Expect : constant Name_Id := Name_First_SV3_1a + 4; 391 Name_Foreach : constant Name_Id := Name_First_SV3_1a + 5; 392 Name_Ignore_Bins : constant Name_Id := Name_First_SV3_1a + 6; 393 Name_Illegal_Bins : constant Name_Id := Name_First_SV3_1a + 7; 394 Name_Matches : constant Name_Id := Name_First_SV3_1a + 8; 395 Name_Randcase : constant Name_Id := Name_First_SV3_1a + 9; 396 Name_Randsequence : constant Name_Id := Name_First_SV3_1a + 10; 397 Name_Tagged : constant Name_Id := Name_First_SV3_1a + 11; 398 Name_Wildcard : constant Name_Id := Name_First_SV3_1a + 12; 399 Name_Last_SV3_1a : constant Name_Id := Name_Wildcard; 400 401 Name_First_SV2009 : constant Name_Id := Name_Last_SV3_1a + 1; 402 Name_Implies : constant Name_Id := Name_First_SV2009 + 0; 403 Name_S_Until : constant Name_Id := Name_First_SV2009 + 1; 404 Name_S_Until_With : constant Name_Id := Name_First_SV2009 + 2; 405 Name_Until_With : constant Name_Id := Name_First_SV2009 + 3; 406 Name_Last_SV2009 : constant Name_Id := Name_First_SV2009 + 3; 407 408 -- VHDL operators. Used as identifiers for declaration of overloaded 409 -- operators. 410 Name_First_Operator : constant Name_Id := Name_Last_SV2009 + 1; 411 Name_Op_Equality : constant Name_Id := Name_First_Operator + 000; 412 Name_Op_Inequality : constant Name_Id := Name_First_Operator + 001; 413 Name_Op_Less : constant Name_Id := Name_First_Operator + 002; 414 Name_Op_Less_Equal : constant Name_Id := Name_First_Operator + 003; 415 Name_Op_Greater : constant Name_Id := Name_First_Operator + 004; 416 Name_Op_Greater_Equal : constant Name_Id := Name_First_Operator + 005; 417 Name_Op_Plus : constant Name_Id := Name_First_Operator + 006; 418 Name_Op_Minus : constant Name_Id := Name_First_Operator + 007; 419 Name_Op_Mul : constant Name_Id := Name_First_Operator + 008; 420 Name_Op_Div : constant Name_Id := Name_First_Operator + 009; 421 Name_Op_Exp : constant Name_Id := Name_First_Operator + 010; 422 Name_Op_Concatenation : constant Name_Id := Name_First_Operator + 011; 423 Name_Op_Condition : constant Name_Id := Name_First_Operator + 012; 424 Name_Op_Match_Equality : constant Name_Id := Name_First_Operator + 013; 425 Name_Op_Match_Inequality : constant Name_Id := Name_First_Operator + 014; 426 Name_Op_Match_Less : constant Name_Id := Name_First_Operator + 015; 427 Name_Op_Match_Less_Equal : constant Name_Id := Name_First_Operator + 016; 428 Name_Op_Match_Greater : constant Name_Id := Name_First_Operator + 017; 429 Name_Op_Match_Greater_Equal : constant Name_Id := Name_First_Operator + 018; 430 Name_Last_Operator : constant Name_Id := Name_Op_Match_Greater_Equal; 431 432 subtype Name_Relational_Operators is Name_Id 433 range Name_Op_Equality .. Name_Op_Greater_Equal; 434 435 -- List of symbolic operators (available as string). 436 subtype Name_Id_Operators is Name_Id 437 range Name_First_Operator .. Name_Last_Operator; 438 439 Name_First_Attribute : constant Name_Id := Name_Last_Operator + 1; 440 Name_Base : constant Name_Id := Name_First_Attribute + 000; 441 Name_Left : constant Name_Id := Name_First_Attribute + 001; 442 Name_Right : constant Name_Id := Name_First_Attribute + 002; 443 Name_High : constant Name_Id := Name_First_Attribute + 003; 444 Name_Low : constant Name_Id := Name_First_Attribute + 004; 445 Name_Pos : constant Name_Id := Name_First_Attribute + 005; 446 Name_Val : constant Name_Id := Name_First_Attribute + 006; 447 Name_Succ : constant Name_Id := Name_First_Attribute + 007; 448 Name_Pred : constant Name_Id := Name_First_Attribute + 008; 449 Name_Leftof : constant Name_Id := Name_First_Attribute + 009; 450 Name_Rightof : constant Name_Id := Name_First_Attribute + 010; 451 Name_Reverse_Range : constant Name_Id := Name_First_Attribute + 011; 452 Name_Length : constant Name_Id := Name_First_Attribute + 012; 453 Name_Delayed : constant Name_Id := Name_First_Attribute + 013; 454 Name_Stable : constant Name_Id := Name_First_Attribute + 014; 455 Name_Quiet : constant Name_Id := Name_First_Attribute + 015; 456 Name_Transaction : constant Name_Id := Name_First_Attribute + 016; 457 Name_Event : constant Name_Id := Name_First_Attribute + 017; 458 Name_Active : constant Name_Id := Name_First_Attribute + 018; 459 Name_Last_Event : constant Name_Id := Name_First_Attribute + 019; 460 Name_Last_Active : constant Name_Id := Name_First_Attribute + 020; 461 Name_Last_Value : constant Name_Id := Name_First_Attribute + 021; 462 Name_Last_Attribute : constant Name_Id := Name_Last_Value; 463 464 subtype Name_Id_Attributes is Name_Id 465 range Name_First_Attribute .. Name_Last_Attribute; 466 467 Name_First_Vhdl87_Attribute : constant Name_Id := Name_Last_Value + 1; 468 Name_Behavior : constant Name_Id := Name_First_Attribute + 022; 469 Name_Structure : constant Name_Id := Name_First_Attribute + 023; 470 Name_Last_Vhdl87_Attribute : constant Name_Id := Name_Structure; 471 472 subtype Name_Id_Vhdl87_Attributes is Name_Id 473 range Name_First_Vhdl87_Attribute .. Name_Last_Vhdl87_Attribute; 474 475 Name_First_Vhdl93_Attribute : constant Name_Id := Name_Structure + 1; 476 Name_Ascending : constant Name_Id := Name_First_Attribute + 024; 477 Name_Image : constant Name_Id := Name_First_Attribute + 025; 478 Name_Value : constant Name_Id := Name_First_Attribute + 026; 479 Name_Driving : constant Name_Id := Name_First_Attribute + 027; 480 Name_Driving_Value : constant Name_Id := Name_First_Attribute + 028; 481 Name_Simple_Name : constant Name_Id := Name_First_Attribute + 029; 482 Name_Instance_Name : constant Name_Id := Name_First_Attribute + 030; 483 Name_Path_Name : constant Name_Id := Name_First_Attribute + 031; 484 Name_Last_Vhdl93_Attribute : constant Name_Id := Name_Path_Name; 485 486 subtype Name_Id_Vhdl93_Attributes is Name_Id 487 range Name_First_Vhdl93_Attribute .. Name_Last_Vhdl93_Attribute; 488 489 Name_First_Vhdl08_Attribute : constant Name_Id := 490 Name_Last_Vhdl93_Attribute + 01; 491 Name_Element : constant Name_Id := Name_First_Vhdl08_Attribute + 00; 492 Name_Last_Vhdl08_Attribute : constant Name_Id := 493 Name_First_Vhdl08_Attribute + 00; 494 495 Name_First_AMS_Attribute : constant Name_Id := 496 Name_Last_Vhdl08_Attribute + 1; 497 Name_Contribution : constant Name_Id := Name_First_AMS_Attribute + 000; 498 Name_Dot : constant Name_Id := Name_First_AMS_Attribute + 001; 499 Name_Integ : constant Name_Id := Name_First_AMS_Attribute + 002; 500 Name_Above : constant Name_Id := Name_First_AMS_Attribute + 003; 501 Name_Zoh : constant Name_Id := Name_First_AMS_Attribute + 004; 502 Name_Ltf : constant Name_Id := Name_First_AMS_Attribute + 005; 503 Name_Ztf : constant Name_Id := Name_First_AMS_Attribute + 006; 504 Name_Ramp : constant Name_Id := Name_First_AMS_Attribute + 007; 505 Name_Slew : constant Name_Id := Name_First_AMS_Attribute + 008; 506 Name_Last_AMS_Attribute : constant Name_Id := Name_Slew; 507 508 subtype Name_Id_Name_Attributes is Name_Id 509 range Name_Simple_Name .. Name_Path_Name; 510 511 -- Names used in std.standard package. 512 Name_First_Standard : constant Name_Id := Name_Last_AMS_Attribute + 1; 513 Name_Std : constant Name_Id := Name_First_Standard + 000; 514 Name_Standard : constant Name_Id := Name_First_Standard + 001; 515 Name_Boolean : constant Name_Id := Name_First_Standard + 002; 516 Name_False : constant Name_Id := Name_First_Standard + 003; 517 Name_True : constant Name_Id := Name_First_Standard + 004; 518 Name_Character : constant Name_Id := Name_First_Standard + 005; 519 Name_Severity_Level : constant Name_Id := Name_First_Standard + 006; 520 Name_Note : constant Name_Id := Name_First_Standard + 007; 521 Name_Warning : constant Name_Id := Name_First_Standard + 008; 522 Name_Error : constant Name_Id := Name_First_Standard + 009; 523 Name_Failure : constant Name_Id := Name_First_Standard + 010; 524 Name_Universal_Integer : constant Name_Id := Name_First_Standard + 011; 525 Name_Universal_Real : constant Name_Id := Name_First_Standard + 012; 526 Name_Convertible_Integer : constant Name_Id := Name_First_Standard + 013; 527 Name_Convertible_Real : constant Name_Id := Name_First_Standard + 014; 528 Name_Integer : constant Name_Id := Name_First_Standard + 015; 529 Name_Real : constant Name_Id := Name_First_Standard + 016; 530 Name_Time : constant Name_Id := Name_First_Standard + 017; 531 Name_Fs : constant Name_Id := Name_First_Standard + 018; 532 Name_Ps : constant Name_Id := Name_First_Standard + 019; 533 Name_Ns : constant Name_Id := Name_First_Standard + 020; 534 Name_Us : constant Name_Id := Name_First_Standard + 021; 535 Name_Ms : constant Name_Id := Name_First_Standard + 022; 536 Name_Sec : constant Name_Id := Name_First_Standard + 023; 537 Name_Min : constant Name_Id := Name_First_Standard + 024; 538 Name_Hr : constant Name_Id := Name_First_Standard + 025; 539 Name_Max : constant Name_Id := Name_First_Standard + 026; 540 Name_Delay_Length : constant Name_Id := Name_First_Standard + 027; 541 Name_Now : constant Name_Id := Name_First_Standard + 028; 542 Name_Natural : constant Name_Id := Name_First_Standard + 029; 543 Name_Positive : constant Name_Id := Name_First_Standard + 030; 544 Name_Bit_Vector : constant Name_Id := Name_First_Standard + 031; 545 Name_File_Open_Kind : constant Name_Id := Name_First_Standard + 032; 546 Name_Read_Mode : constant Name_Id := Name_First_Standard + 033; 547 Name_Write_Mode : constant Name_Id := Name_First_Standard + 034; 548 Name_Append_Mode : constant Name_Id := Name_First_Standard + 035; 549 Name_File_Open_Status : constant Name_Id := Name_First_Standard + 036; 550 Name_Open_Ok : constant Name_Id := Name_First_Standard + 037; 551 Name_Status_Error : constant Name_Id := Name_First_Standard + 038; 552 Name_Name_Error : constant Name_Id := Name_First_Standard + 039; 553 Name_Mode_Error : constant Name_Id := Name_First_Standard + 040; 554 Name_Foreign : constant Name_Id := Name_First_Standard + 041; 555 556 -- Added by VHDL 08 557 Name_Boolean_Vector : constant Name_Id := Name_First_Standard + 042; 558 Name_To_Bstring : constant Name_Id := Name_First_Standard + 043; 559 Name_To_Binary_String : constant Name_Id := Name_First_Standard + 044; 560 Name_To_Ostring : constant Name_Id := Name_First_Standard + 045; 561 Name_To_Octal_String : constant Name_Id := Name_First_Standard + 046; 562 Name_To_Hstring : constant Name_Id := Name_First_Standard + 047; 563 Name_To_Hex_String : constant Name_Id := Name_First_Standard + 048; 564 Name_Integer_Vector : constant Name_Id := Name_First_Standard + 049; 565 Name_Real_Vector : constant Name_Id := Name_First_Standard + 050; 566 Name_Time_Vector : constant Name_Id := Name_First_Standard + 051; 567 Name_Digits : constant Name_Id := Name_First_Standard + 052; 568 Name_Format : constant Name_Id := Name_First_Standard + 053; 569 Name_Unit : constant Name_Id := Name_First_Standard + 054; 570 571 -- Added by AMS vhdl. 572 Name_Domain_Type : constant Name_Id := Name_First_Standard + 055; 573 Name_Quiescent_Domain : constant Name_Id := Name_First_Standard + 056; 574 Name_Time_Domain : constant Name_Id := Name_First_Standard + 057; 575 Name_Frequency_Domain : constant Name_Id := Name_First_Standard + 058; 576 Name_Domain : constant Name_Id := Name_First_Standard + 059; 577 Name_Frequency : constant Name_Id := Name_First_Standard + 060; 578 579 Name_Last_Standard : constant Name_Id := Name_Frequency; 580 581 Name_First_Charname : constant Name_Id := Name_Last_Standard + 1; 582 Name_Nul : constant Name_Id := Name_First_Charname + 00; 583 Name_Soh : constant Name_Id := Name_First_Charname + 01; 584 Name_Stx : constant Name_Id := Name_First_Charname + 02; 585 Name_Etx : constant Name_Id := Name_First_Charname + 03; 586 Name_Eot : constant Name_Id := Name_First_Charname + 04; 587 Name_Enq : constant Name_Id := Name_First_Charname + 05; 588 Name_Ack : constant Name_Id := Name_First_Charname + 06; 589 Name_Bel : constant Name_Id := Name_First_Charname + 07; 590 Name_Bs : constant Name_Id := Name_First_Charname + 08; 591 Name_Ht : constant Name_Id := Name_First_Charname + 09; 592 Name_Lf : constant Name_Id := Name_First_Charname + 10; 593 Name_Vt : constant Name_Id := Name_First_Charname + 11; 594 Name_Ff : constant Name_Id := Name_First_Charname + 12; 595 Name_Cr : constant Name_Id := Name_First_Charname + 13; 596 Name_So : constant Name_Id := Name_First_Charname + 14; 597 Name_Si : constant Name_Id := Name_First_Charname + 15; 598 Name_Dle : constant Name_Id := Name_First_Charname + 16; 599 Name_Dc1 : constant Name_Id := Name_First_Charname + 17; 600 Name_Dc2 : constant Name_Id := Name_First_Charname + 18; 601 Name_Dc3 : constant Name_Id := Name_First_Charname + 19; 602 Name_Dc4 : constant Name_Id := Name_First_Charname + 20; 603 Name_Nak : constant Name_Id := Name_First_Charname + 21; 604 Name_Syn : constant Name_Id := Name_First_Charname + 22; 605 Name_Etb : constant Name_Id := Name_First_Charname + 23; 606 Name_Can : constant Name_Id := Name_First_Charname + 24; 607 Name_Em : constant Name_Id := Name_First_Charname + 25; 608 Name_Sub : constant Name_Id := Name_First_Charname + 26; 609 Name_Esc : constant Name_Id := Name_First_Charname + 27; 610 Name_Fsp : constant Name_Id := Name_First_Charname + 28; 611 Name_Gsp : constant Name_Id := Name_First_Charname + 29; 612 Name_Rsp : constant Name_Id := Name_First_Charname + 30; 613 Name_Usp : constant Name_Id := Name_First_Charname + 31; 614 615 Name_Del : constant Name_Id := Name_First_Charname + 32; 616 617 Name_C128 : constant Name_Id := Name_First_Charname + 33; 618 Name_C129 : constant Name_Id := Name_First_Charname + 34; 619 Name_C130 : constant Name_Id := Name_First_Charname + 35; 620 Name_C131 : constant Name_Id := Name_First_Charname + 36; 621 Name_C132 : constant Name_Id := Name_First_Charname + 37; 622 Name_C133 : constant Name_Id := Name_First_Charname + 38; 623 Name_C134 : constant Name_Id := Name_First_Charname + 39; 624 Name_C135 : constant Name_Id := Name_First_Charname + 40; 625 Name_C136 : constant Name_Id := Name_First_Charname + 41; 626 Name_C137 : constant Name_Id := Name_First_Charname + 42; 627 Name_C138 : constant Name_Id := Name_First_Charname + 43; 628 Name_C139 : constant Name_Id := Name_First_Charname + 44; 629 Name_C140 : constant Name_Id := Name_First_Charname + 45; 630 Name_C141 : constant Name_Id := Name_First_Charname + 46; 631 Name_C142 : constant Name_Id := Name_First_Charname + 47; 632 Name_C143 : constant Name_Id := Name_First_Charname + 48; 633 Name_C144 : constant Name_Id := Name_First_Charname + 49; 634 Name_C145 : constant Name_Id := Name_First_Charname + 50; 635 Name_C146 : constant Name_Id := Name_First_Charname + 51; 636 Name_C147 : constant Name_Id := Name_First_Charname + 52; 637 Name_C148 : constant Name_Id := Name_First_Charname + 53; 638 Name_C149 : constant Name_Id := Name_First_Charname + 54; 639 Name_C150 : constant Name_Id := Name_First_Charname + 55; 640 Name_C151 : constant Name_Id := Name_First_Charname + 56; 641 Name_C152 : constant Name_Id := Name_First_Charname + 57; 642 Name_C153 : constant Name_Id := Name_First_Charname + 58; 643 Name_C154 : constant Name_Id := Name_First_Charname + 59; 644 Name_C155 : constant Name_Id := Name_First_Charname + 60; 645 Name_C156 : constant Name_Id := Name_First_Charname + 61; 646 Name_C157 : constant Name_Id := Name_First_Charname + 62; 647 Name_C158 : constant Name_Id := Name_First_Charname + 63; 648 Name_C159 : constant Name_Id := Name_First_Charname + 64; 649 Name_Last_Charname : constant Name_Id := Name_C159; 650 651 Name_First_Misc : constant Name_Id := Name_Last_Charname + 1; 652 Name_Guard : constant Name_Id := Name_First_Misc + 000; 653 Name_Deallocate : constant Name_Id := Name_First_Misc + 001; 654 Name_File_Open : constant Name_Id := Name_First_Misc + 002; 655 Name_File_Close : constant Name_Id := Name_First_Misc + 003; 656 Name_Read : constant Name_Id := Name_First_Misc + 004; 657 Name_Write : constant Name_Id := Name_First_Misc + 005; 658 Name_Flush : constant Name_Id := Name_First_Misc + 006; 659 Name_Endfile : constant Name_Id := Name_First_Misc + 007; 660 Name_I : constant Name_Id := Name_First_Misc + 008; 661 Name_J : constant Name_Id := Name_First_Misc + 009; 662 Name_F : constant Name_Id := Name_First_Misc + 010; 663 Name_L : constant Name_Id := Name_First_Misc + 011; 664 Name_P : constant Name_Id := Name_First_Misc + 012; 665 Name_R : constant Name_Id := Name_First_Misc + 013; 666 Name_S : constant Name_Id := Name_First_Misc + 014; 667 Name_V : constant Name_Id := Name_First_Misc + 015; 668 Name_External_Name : constant Name_Id := Name_First_Misc + 016; 669 Name_Open_Kind : constant Name_Id := Name_First_Misc + 017; 670 Name_First : constant Name_Id := Name_First_Misc + 018; 671 Name_Last : constant Name_Id := Name_First_Misc + 019; 672 Name_Textio : constant Name_Id := Name_First_Misc + 020; 673 Name_Work : constant Name_Id := Name_First_Misc + 021; 674 Name_Text : constant Name_Id := Name_First_Misc + 022; 675 Name_To_String : constant Name_Id := Name_First_Misc + 023; 676 Name_Minimum : constant Name_Id := Name_First_Misc + 024; 677 Name_Maximum : constant Name_Id := Name_First_Misc + 025; 678 Name_Untruncated_Text_Read : constant Name_Id := Name_First_Misc + 026; 679 Name_Textio_Read_Real : constant Name_Id := Name_First_Misc + 027; 680 Name_Textio_Write_Real : constant Name_Id := Name_First_Misc + 028; 681 Name_Get_Resolution_Limit : constant Name_Id := Name_First_Misc + 029; 682 Name_Control_Simulation : constant Name_Id := Name_First_Misc + 030; 683 Name_Step : constant Name_Id := Name_First_Misc + 031; 684 Name_Index : constant Name_Id := Name_First_Misc + 032; 685 Name_Item : constant Name_Id := Name_First_Misc + 033; 686 Name_Uu_File_Uu : constant Name_Id := Name_First_Misc + 034; 687 Name_Uu_Line_Uu : constant Name_Id := Name_First_Misc + 035; 688 Name_Label_Applies_To : constant Name_Id := Name_First_Misc + 036; 689 Name_Return_Port_Name : constant Name_Id := Name_First_Misc + 037; 690 Name_Map_To_Operator : constant Name_Id := Name_First_Misc + 038; 691 Name_Type_Function : constant Name_Id := Name_First_Misc + 039; 692 Name_Built_In : constant Name_Id := Name_First_Misc + 040; 693 Name_None : constant Name_Id := Name_First_Misc + 041; 694 Name_Last_Misc : constant Name_Id := Name_None; 695 696 Name_First_Ieee_Pkg : constant Name_Id := Name_Last_Misc + 1; 697 Name_Ieee : constant Name_Id := Name_First_Ieee_Pkg + 000; 698 Name_Std_Logic_1164 : constant Name_Id := Name_First_Ieee_Pkg + 001; 699 Name_VITAL_Timing : constant Name_Id := Name_First_Ieee_Pkg + 002; 700 Name_Numeric_Std : constant Name_Id := Name_First_Ieee_Pkg + 003; 701 Name_Numeric_Bit : constant Name_Id := Name_First_Ieee_Pkg + 004; 702 Name_Numeric_Std_Unsigned : constant Name_Id := Name_First_Ieee_Pkg + 005; 703 Name_Std_Logic_Arith : constant Name_Id := Name_First_Ieee_Pkg + 006; 704 Name_Std_Logic_Signed : constant Name_Id := Name_First_Ieee_Pkg + 007; 705 Name_Std_Logic_Unsigned : constant Name_Id := Name_First_Ieee_Pkg + 008; 706 Name_Std_Logic_Textio : constant Name_Id := Name_First_Ieee_Pkg + 009; 707 Name_Std_Logic_Misc : constant Name_Id := Name_First_Ieee_Pkg + 010; 708 Name_Math_Real : constant Name_Id := Name_First_Ieee_Pkg + 011; 709 Name_Last_Ieee_Pkg : constant Name_Id := Name_Math_Real; 710 711 Name_First_Ieee_Name : constant Name_Id := Name_Last_Ieee_Pkg + 1; 712 Name_Std_Ulogic : constant Name_Id := Name_First_Ieee_Name + 000; 713 Name_Std_Ulogic_Vector : constant Name_Id := Name_First_Ieee_Name + 001; 714 Name_Std_Logic : constant Name_Id := Name_First_Ieee_Name + 002; 715 Name_Std_Logic_Vector : constant Name_Id := Name_First_Ieee_Name + 003; 716 Name_Rising_Edge : constant Name_Id := Name_First_Ieee_Name + 004; 717 Name_Falling_Edge : constant Name_Id := Name_First_Ieee_Name + 005; 718 Name_VITAL_Level0 : constant Name_Id := Name_First_Ieee_Name + 006; 719 Name_VITAL_Level1 : constant Name_Id := Name_First_Ieee_Name + 007; 720 Name_Unresolved_Unsigned : constant Name_Id := Name_First_Ieee_Name + 008; 721 Name_Unresolved_Signed : constant Name_Id := Name_First_Ieee_Name + 009; 722 Name_To_Integer : constant Name_Id := Name_First_Ieee_Name + 010; 723 Name_To_Unsigned : constant Name_Id := Name_First_Ieee_Name + 011; 724 Name_To_Signed : constant Name_Id := Name_First_Ieee_Name + 012; 725 Name_Resize : constant Name_Id := Name_First_Ieee_Name + 013; 726 Name_Std_Match : constant Name_Id := Name_First_Ieee_Name + 014; 727 Name_Shift_Left : constant Name_Id := Name_First_Ieee_Name + 015; 728 Name_Shift_Right : constant Name_Id := Name_First_Ieee_Name + 016; 729 Name_Rotate_Left : constant Name_Id := Name_First_Ieee_Name + 017; 730 Name_Rotate_Right : constant Name_Id := Name_First_Ieee_Name + 018; 731 Name_To_Bit : constant Name_Id := Name_First_Ieee_Name + 019; 732 Name_To_Bitvector : constant Name_Id := Name_First_Ieee_Name + 020; 733 Name_To_Stdulogic : constant Name_Id := Name_First_Ieee_Name + 021; 734 Name_To_Stdlogicvector : constant Name_Id := Name_First_Ieee_Name + 022; 735 Name_To_Stdulogicvector : constant Name_Id := Name_First_Ieee_Name + 023; 736 Name_Is_X : constant Name_Id := Name_First_Ieee_Name + 024; 737 Name_To_01 : constant Name_Id := Name_First_Ieee_Name + 025; 738 Name_To_X01 : constant Name_Id := Name_First_Ieee_Name + 026; 739 Name_To_X01Z : constant Name_Id := Name_First_Ieee_Name + 027; 740 Name_To_UX01 : constant Name_Id := Name_First_Ieee_Name + 028; 741 Name_Conv_Signed : constant Name_Id := Name_First_Ieee_Name + 029; 742 Name_Conv_Unsigned : constant Name_Id := Name_First_Ieee_Name + 030; 743 Name_Conv_Integer : constant Name_Id := Name_First_Ieee_Name + 031; 744 Name_Conv_Std_Logic_Vector : constant Name_Id := Name_First_Ieee_Name + 032; 745 Name_And_Reduce : constant Name_Id := Name_First_Ieee_Name + 033; 746 Name_Nand_Reduce : constant Name_Id := Name_First_Ieee_Name + 034; 747 Name_Or_Reduce : constant Name_Id := Name_First_Ieee_Name + 035; 748 Name_Nor_Reduce : constant Name_Id := Name_First_Ieee_Name + 036; 749 Name_Xor_Reduce : constant Name_Id := Name_First_Ieee_Name + 037; 750 Name_Xnor_Reduce : constant Name_Id := Name_First_Ieee_Name + 038; 751 Name_Ceil : constant Name_Id := Name_First_Ieee_Name + 039; 752 Name_Floor : constant Name_Id := Name_First_Ieee_Name + 040; 753 Name_Round : constant Name_Id := Name_First_Ieee_Name + 041; 754 Name_Log2 : constant Name_Id := Name_First_Ieee_Name + 042; 755 Name_Sin : constant Name_Id := Name_First_Ieee_Name + 043; 756 Name_Cos : constant Name_Id := Name_First_Ieee_Name + 044; 757 Name_Shl : constant Name_Id := Name_First_Ieee_Name + 045; 758 Name_Shr : constant Name_Id := Name_First_Ieee_Name + 046; 759 Name_Ext : constant Name_Id := Name_First_Ieee_Name + 047; 760 Name_Sxt : constant Name_Id := Name_First_Ieee_Name + 048; 761 Name_Find_Leftmost : constant Name_Id := Name_First_Ieee_Name + 049; 762 Name_Find_Rightmost : constant Name_Id := Name_First_Ieee_Name + 050; 763 Name_Last_Ieee_Name : constant Name_Id := Name_Find_Rightmost; 764 765 Name_First_Synthesis : constant Name_Id := Name_Last_Ieee_Name + 1; 766 Name_Allconst : constant Name_Id := Name_First_Synthesis + 000; 767 Name_Allseq : constant Name_Id := Name_First_Synthesis + 001; 768 Name_Anyconst : constant Name_Id := Name_First_Synthesis + 002; 769 Name_Anyseq : constant Name_Id := Name_First_Synthesis + 003; 770 Name_Gclk : constant Name_Id := Name_First_Synthesis + 004; 771 Name_Last_Synthesis : constant Name_Id := Name_Gclk; 772 773 -- Verilog Directives. 774 Name_First_Directive : constant Name_Id := Name_Last_Synthesis + 1; 775 Name_Define : constant Name_Id := Name_First_Directive + 00; 776 Name_Endif : constant Name_Id := Name_First_Directive + 01; 777 Name_Ifdef : constant Name_Id := Name_First_Directive + 02; 778 Name_Ifndef : constant Name_Id := Name_First_Directive + 03; 779 Name_Include : constant Name_Id := Name_First_Directive + 04; 780 Name_Timescale : constant Name_Id := Name_First_Directive + 05; 781 Name_Undef : constant Name_Id := Name_First_Directive + 06; 782 Name_Protect : constant Name_Id := Name_First_Directive + 07; 783 Name_Begin_Protected : constant Name_Id := Name_First_Directive + 08; 784 Name_End_Protected : constant Name_Id := Name_First_Directive + 09; 785 Name_Key_Block : constant Name_Id := Name_First_Directive + 10; 786 Name_Data_Block : constant Name_Id := Name_First_Directive + 11; 787 Name_Line : constant Name_Id := Name_First_Directive + 12; 788 Name_Celldefine : constant Name_Id := Name_First_Directive + 13; 789 Name_Endcelldefine : constant Name_Id := Name_First_Directive + 14; 790 Name_Default_Nettype : constant Name_Id := Name_First_Directive + 15; 791 Name_Resetall : constant Name_Id := Name_First_Directive + 16; 792 Name_Last_Directive : constant Name_Id := Name_Resetall; 793 794 -- Verilog system tasks/functions. 795 Name_First_Systask : constant Name_Id := Name_Last_Directive + 1; 796 Name_Bits : constant Name_Id := Name_First_Systask + 00; 797 Name_D_Root : constant Name_Id := Name_First_Systask + 01; 798 Name_D_Unit : constant Name_Id := Name_First_Systask + 02; 799 Name_Last_Systask : constant Name_Id := Name_D_Unit; 800 801 -- Verilog methods 802 Name_First_SV_Method : constant Name_Id := Name_Last_Systask + 1; 803 Name_Size : constant Name_Id := Name_First_SV_Method + 0; 804 Name_Insert : constant Name_Id := Name_First_SV_Method + 1; 805 Name_Delete : constant Name_Id := Name_First_SV_Method + 2; 806 Name_Pop_Front : constant Name_Id := Name_First_SV_Method + 3; 807 Name_Pop_Back : constant Name_Id := Name_First_SV_Method + 4; 808 Name_Push_Front : constant Name_Id := Name_First_SV_Method + 5; 809 Name_Push_Back : constant Name_Id := Name_First_SV_Method + 6; 810 Name_Name : constant Name_Id := Name_First_SV_Method + 7; 811 Name_Len : constant Name_Id := Name_First_SV_Method + 8; 812 Name_Substr : constant Name_Id := Name_First_SV_Method + 9; 813 Name_Exists : constant Name_Id := Name_First_SV_Method + 10; 814 Name_Atoi : constant Name_Id := Name_First_SV_Method + 11; 815 Name_Itoa : constant Name_Id := Name_First_SV_Method + 12; 816 Name_Find : constant Name_Id := Name_First_SV_Method + 13; 817 Name_Find_Index : constant Name_Id := Name_First_SV_Method + 14; 818 Name_Find_First : constant Name_Id := Name_First_SV_Method + 15; 819 Name_Find_First_Index : constant Name_Id := Name_First_SV_Method + 16; 820 Name_Find_Last : constant Name_Id := Name_First_SV_Method + 17; 821 Name_Find_Last_Index : constant Name_Id := Name_First_SV_Method + 18; 822 Name_Num : constant Name_Id := Name_First_SV_Method + 19; 823 Name_Randomize : constant Name_Id := Name_First_SV_Method + 20; 824 Name_Pre_Randomize : constant Name_Id := Name_First_SV_Method + 21; 825 Name_Post_Randomize : constant Name_Id := Name_First_SV_Method + 22; 826 Name_Srandom : constant Name_Id := Name_First_SV_Method + 23; 827 Name_Get_Randstate : constant Name_Id := Name_First_SV_Method + 24; 828 Name_Set_Randstate : constant Name_Id := Name_First_SV_Method + 25; 829 Name_Seed : constant Name_Id := Name_First_SV_Method + 26; 830 Name_State : constant Name_Id := Name_First_SV_Method + 27; 831 Name_Last_SV_Method : constant Name_Id := Name_State; 832 833 -- BSV names 834 Name_First_BSV : constant Name_Id := Name_Last_SV_Method + 1; 835 Name_uAction : constant Name_Id := Name_First_BSV + 0; 836 Name_uActionValue : constant Name_Id := Name_First_BSV + 1; 837 Name_BVI : constant Name_Id := Name_First_BSV + 2; 838 Name_uC : constant Name_Id := Name_First_BSV + 3; 839 Name_uCF : constant Name_Id := Name_First_BSV + 4; 840 Name_uE : constant Name_Id := Name_First_BSV + 5; 841 Name_uSB : constant Name_Id := Name_First_BSV + 6; 842 Name_uSBR : constant Name_Id := Name_First_BSV + 7; 843 Name_Action : constant Name_Id := Name_First_BSV + 8; 844 Name_Endaction : constant Name_Id := Name_First_BSV + 9; 845 Name_Actionvalue : constant Name_Id := Name_First_BSV + 10; 846 Name_Endactionvalue : constant Name_Id := Name_First_BSV + 11; 847 Name_Ancestor : constant Name_Id := Name_First_BSV + 12; 848 -- begin 849 -- bit 850 -- case 851 -- endcase 852 Name_Clocked_By : constant Name_Id := Name_First_BSV + 13; 853 -- continue 854 -- default 855 Name_Default_Clock : constant Name_Id := Name_First_BSV + 14; 856 Name_Default_Reset : constant Name_Id := Name_First_BSV + 15; 857 Name_Dependencies : constant Name_Id := Name_First_BSV + 16; 858 Name_Deriving : constant Name_Id := Name_First_BSV + 17; 859 Name_Determines : constant Name_Id := Name_First_BSV + 18; 860 -- e 861 -- else 862 Name_Enable : constant Name_Id := Name_First_BSV + 19; 863 -- end 864 -- enum 865 -- export 866 -- for 867 -- function 868 -- endfunction 869 -- if 870 Name_Ifc_Inout : constant Name_Id := Name_First_BSV + 20; 871 -- import 872 -- inout 873 Name_Input_Clock : constant Name_Id := Name_First_BSV + 21; 874 Name_Input_Reset : constant Name_Id := Name_First_BSV + 22; 875 Name_Instance : constant Name_Id := Name_First_BSV + 23; 876 Name_Endinstance : constant Name_Id := Name_First_BSV + 24; 877 -- interface 878 -- endinterface 879 Name_Let : constant Name_Id := Name_First_BSV + 25; 880 Name_Match : constant Name_Id := Name_First_BSV + 26; 881 -- matches 882 Name_Method : constant Name_Id := Name_First_BSV + 27; 883 Name_Endmethod : constant Name_Id := Name_First_BSV + 28; 884 -- module 885 -- endmodule 886 Name_Numeric : constant Name_Id := Name_First_BSV + 29; 887 Name_Output_Clock : constant Name_Id := Name_First_BSV + 30; 888 Name_Output_Reset : constant Name_Id := Name_First_BSV + 31; 889 -- package 890 -- endpackage 891 -- parameter 892 Name_Par : constant Name_Id := Name_First_BSV + 32; 893 Name_Endpar : constant Name_Id := Name_First_BSV + 33; 894 Name_Path : constant Name_Id := Name_First_BSV + 34; 895 -- port 896 Name_Provisos : constant Name_Id := Name_First_BSV + 35; 897 Name_Ready : constant Name_Id := Name_First_BSV + 36; 898 Name_Reset_By : constant Name_Id := Name_First_BSV + 37; 899 -- return 900 Name_Rule : constant Name_Id := Name_First_BSV + 38; 901 Name_Endrule : constant Name_Id := Name_First_BSV + 39; 902 Name_Rules : constant Name_Id := Name_First_BSV + 40; 903 Name_Endrules : constant Name_Id := Name_First_BSV + 41; 904 Name_Same_Family : constant Name_Id := Name_First_BSV + 42; 905 Name_Schedule : constant Name_Id := Name_First_BSV + 43; 906 Name_Seq : constant Name_Id := Name_First_BSV + 44; 907 Name_Endseq : constant Name_Id := Name_First_BSV + 45; 908 -- struct 909 -- tagged 910 -- type 911 Name_Typeclass : constant Name_Id := Name_First_BSV + 46; 912 Name_Endtypeclass : constant Name_Id := Name_First_BSV + 47; 913 -- typedef 914 -- union 915 Name_Valueof : constant Name_Id := Name_First_BSV + 48; 916 Name_uValueof : constant Name_Id := Name_First_BSV + 49; 917 -- void 918 -- while 919 Name_Last_BSV : constant Name_Id := Name_First_BSV + 49; 920 921 -- VHDL special comments 922 Name_First_Comment : constant Name_Id := Name_Last_BSV + 1; 923 Name_Psl : constant Name_Id := Name_First_Comment + 0; 924 Name_Pragma : constant Name_Id := Name_First_Comment + 1; 925 Name_Synthesis : constant Name_Id := Name_First_Comment + 2; 926 Name_Synopsys : constant Name_Id := Name_First_Comment + 3; 927 Name_Translate_Off : constant Name_Id := Name_First_Comment + 4; 928 Name_Translate_On : constant Name_Id := Name_First_Comment + 5; 929 Name_Translate : constant Name_Id := Name_First_Comment + 6; 930 Name_Synthesis_Off : constant Name_Id := Name_First_Comment + 7; 931 Name_Synthesis_On : constant Name_Id := Name_First_Comment + 8; 932 Name_Off : constant Name_Id := Name_First_Comment + 9; 933 Name_Last_Comment : constant Name_Id := Name_Off; 934 935 -- PSL words. 936 Name_First_PSL : constant Name_Id := Name_Last_Comment + 1; 937 Name_A : constant Name_Id := Name_First_PSL + 00; 938 Name_Af : constant Name_Id := Name_First_PSL + 01; 939 Name_Ag : constant Name_Id := Name_First_PSL + 02; 940 Name_Ax : constant Name_Id := Name_First_PSL + 03; 941 Name_Abort : constant Name_Id := Name_First_PSL + 04; 942 -- Name_Always 943 -- Name_And 944 -- Name_Assume 945 Name_Assume_Guarantee : constant Name_Id := Name_First_PSL + 05; 946 Name_Before : constant Name_Id := Name_First_PSL + 06; 947 -- Name_Boolean 948 Name_Clock : constant Name_Id := Name_First_PSL + 07; 949 -- Name_Const 950 -- Name_Cover 951 -- Name_Default 952 Name_E : constant Name_Id := Name_First_PSL + 08; 953 Name_Ef : constant Name_Id := Name_First_PSL + 09; 954 Name_Eg : constant Name_Id := Name_First_PSL + 10; 955 Name_Ex : constant Name_Id := Name_First_PSL + 11; 956 Name_Endpoint : constant Name_Id := Name_First_PSL + 12; 957 Name_Eventually : constant Name_Id := Name_First_PSL + 13; 958 Name_Fairness : constant Name_Id := Name_First_PSL + 14; 959 Name_Fell : constant Name_Id := Name_First_PSL + 15; 960 Name_Forall : constant Name_Id := Name_First_PSL + 16; 961 Name_G : constant Name_Id := Name_First_PSL + 17; 962 -- Name_In 963 Name_Inf : constant Name_Id := Name_First_PSL + 18; 964 Name_Inherit : constant Name_Id := Name_First_PSL + 19; 965 -- Name_Is 966 Name_Never : constant Name_Id := Name_First_PSL + 20; 967 -- Name_Next 968 Name_Next_A : constant Name_Id := Name_First_PSL + 21; 969 Name_Next_E : constant Name_Id := Name_First_PSL + 22; 970 Name_Next_Event : constant Name_Id := Name_First_PSL + 23; 971 Name_Next_Event_A : constant Name_Id := Name_First_PSL + 24; 972 Name_Next_Event_E : constant Name_Id := Name_First_PSL + 25; 973 -- Name_Not 974 -- Name_Or 975 -- Name_Property 976 Name_Prev : constant Name_Id := Name_First_PSL + 26; 977 -- Name_Restrict 978 -- Name_Restrict_Guarantee 979 Name_Rose : constant Name_Id := Name_First_PSL + 27; 980 -- sequence 981 Name_Strong : constant Name_Id := Name_First_PSL + 28; 982 -- union 983 -- until 984 Name_W : constant Name_Id := Name_First_PSL + 29; 985 Name_Whilenot : constant Name_Id := Name_First_PSL + 30; 986 Name_Within : constant Name_Id := Name_First_PSL + 31; 987 Name_X : constant Name_Id := Name_First_PSL + 32; 988 Name_Last_PSL : constant Name_Id := Name_X; 989 990 subtype Name_Id_PSL_Keywords is 991 Name_Id range Name_First_PSL .. Name_Last_PSL; 992 993 Name_First_Edif : constant Name_Id := Name_Last_PSL + 1; 994 Name_Edif : constant Name_Id := Name_First_Edif + 0; 995 Name_Edifversion : constant Name_Id := Name_First_Edif + 1; 996 Name_Ediflevel : constant Name_Id := Name_First_Edif + 2; 997 Name_Keywordmap : constant Name_Id := Name_First_Edif + 3; 998 Name_Status : constant Name_Id := Name_First_Edif + 4; 999 Name_Written : constant Name_Id := Name_First_Edif + 5; 1000 Name_External : constant Name_Id := Name_First_Edif + 6; 1001 Name_Comment : constant Name_Id := Name_First_Edif + 7; 1002 Name_Technology : constant Name_Id := Name_First_Edif + 8; 1003 Name_Cell : constant Name_Id := Name_First_Edif + 9; 1004 Name_Celltype : constant Name_Id := Name_First_Edif + 10; 1005 Name_View : constant Name_Id := Name_First_Edif + 11; 1006 Name_Viewtype : constant Name_Id := Name_First_Edif + 12; 1007 Name_Direction : constant Name_Id := Name_First_Edif + 13; 1008 Name_Contents : constant Name_Id := Name_First_Edif + 14; 1009 Name_Net : constant Name_Id := Name_First_Edif + 15; 1010 Name_Viewref : constant Name_Id := Name_First_Edif + 16; 1011 Name_Cellref : constant Name_Id := Name_First_Edif + 17; 1012 Name_Libraryref : constant Name_Id := Name_First_Edif + 18; 1013 Name_Portinstance : constant Name_Id := Name_First_Edif + 19; 1014 Name_Joined : constant Name_Id := Name_First_Edif + 20; 1015 Name_Portref : constant Name_Id := Name_First_Edif + 21; 1016 Name_Instanceref : constant Name_Id := Name_First_Edif + 22; 1017 Name_Design : constant Name_Id := Name_First_Edif + 23; 1018 Name_Designator : constant Name_Id := Name_First_Edif + 24; 1019 Name_Owner : constant Name_Id := Name_First_Edif + 25; 1020 Name_Member : constant Name_Id := Name_First_Edif + 26; 1021 Name_Number : constant Name_Id := Name_First_Edif + 27; 1022 Name_Rename : constant Name_Id := Name_First_Edif + 28; 1023 Name_Userdata : constant Name_Id := Name_First_Edif + 29; 1024 Name_Last_Edif : constant Name_Id := Name_Userdata; 1025 1026 -- Initialize the name table with the values defined here. 1027 procedure Std_Names_Initialize; 1028end Std_Names; 1029