------------------------------------------------------------------------------ | |
-- -- | |
-- GNAT COMPILER COMPONENTS -- | |
-- -- | |
-- S N A M E S -- | |
-- -- | |
-- S p e c -- | |
-- -- | |
-- Copyright (C) 1992-2005, Free Software Foundation, Inc. -- | |
-- -- | |
-- GNAT is free software; you can redistribute it and/or modify it under -- | |
-- terms of the GNU General Public License as published by the Free Soft- -- | |
-- ware Foundation; either version 2, or (at your option) any later ver- -- | |
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- | |
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- | |
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- | |
-- for more details. You should have received a copy of the GNU General -- | |
-- Public License distributed with GNAT; see file COPYING. If not, write -- | |
-- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -- | |
-- MA 02111-1307, USA. -- | |
-- -- | |
-- As a special exception, if other files instantiate generics from this -- | |
-- unit, or you link this unit with other files to produce an executable, -- | |
-- this unit does not by itself cause the resulting executable to be -- | |
-- covered by the GNU General Public License. This exception does not -- | |
-- however invalidate any other reasons why the executable file might be -- | |
-- covered by the GNU Public License. -- | |
-- -- | |
-- GNAT was originally developed by the GNAT team at New York University. -- | |
-- Extensive contributions were provided by Ada Core Technologies Inc. -- | |
-- -- | |
------------------------------------------------------------------------------ | |
with Types; use Types; | |
package Snames is | |
-- This package contains definitions of standard names (i.e. entries in the | |
-- Names table) that are used throughout the GNAT compiler). It also contains | |
-- the definitions of some enumeration types whose definitions are tied to | |
-- the order of these preset names. | |
-- WARNING: There is a C file, a-snames.h which duplicates some of the | |
-- definitions in this file and must be kept properly synchronized. | |
------------------ | |
-- Preset Names -- | |
------------------ | |
-- The following are preset entries in the names table, which are | |
-- entered at the start of every compilation for easy access. Note | |
-- that the order of initialization of these names in the body must | |
-- be coordinated with the order of names in this table. | |
-- Note: a name may not appear more than once in the following list. | |
-- If additional pragmas or attributes are introduced which might | |
-- otherwise cause a duplicate, then list it only once in this table, | |
-- and adjust the definition of the functions for testing for pragma | |
-- names and attribute names, and returning their ID values. Of course | |
-- everything is simpler if no such duplications occur! | |
-- First we have the one character names used to optimize the lookup | |
-- process for one character identifiers (to avoid the hashing in this | |
-- case) There are a full 256 of these, but only the entries for lower | |
-- case and upper case letters have identifiers | |
-- The lower case letter entries are used for one character identifiers | |
-- appearing in the source, for example in pragma Interface (C). | |
Name_A : constant Name_Id := First_Name_Id + Character'Pos ('a'); | |
Name_B : constant Name_Id := First_Name_Id + Character'Pos ('b'); | |
Name_C : constant Name_Id := First_Name_Id + Character'Pos ('c'); | |
Name_D : constant Name_Id := First_Name_Id + Character'Pos ('d'); | |
Name_E : constant Name_Id := First_Name_Id + Character'Pos ('e'); | |
Name_F : constant Name_Id := First_Name_Id + Character'Pos ('f'); | |
Name_G : constant Name_Id := First_Name_Id + Character'Pos ('g'); | |
Name_H : constant Name_Id := First_Name_Id + Character'Pos ('h'); | |
Name_I : constant Name_Id := First_Name_Id + Character'Pos ('i'); | |
Name_J : constant Name_Id := First_Name_Id + Character'Pos ('j'); | |
Name_K : constant Name_Id := First_Name_Id + Character'Pos ('k'); | |
Name_L : constant Name_Id := First_Name_Id + Character'Pos ('l'); | |
Name_M : constant Name_Id := First_Name_Id + Character'Pos ('m'); | |
Name_N : constant Name_Id := First_Name_Id + Character'Pos ('n'); | |
Name_O : constant Name_Id := First_Name_Id + Character'Pos ('o'); | |
Name_P : constant Name_Id := First_Name_Id + Character'Pos ('p'); | |
Name_Q : constant Name_Id := First_Name_Id + Character'Pos ('q'); | |
Name_R : constant Name_Id := First_Name_Id + Character'Pos ('r'); | |
Name_S : constant Name_Id := First_Name_Id + Character'Pos ('s'); | |
Name_T : constant Name_Id := First_Name_Id + Character'Pos ('t'); | |
Name_U : constant Name_Id := First_Name_Id + Character'Pos ('u'); | |
Name_V : constant Name_Id := First_Name_Id + Character'Pos ('v'); | |
Name_W : constant Name_Id := First_Name_Id + Character'Pos ('w'); | |
Name_X : constant Name_Id := First_Name_Id + Character'Pos ('x'); | |
Name_Y : constant Name_Id := First_Name_Id + Character'Pos ('y'); | |
Name_Z : constant Name_Id := First_Name_Id + Character'Pos ('z'); | |
-- The upper case letter entries are used by expander code for local | |
-- variables that do not require unique names (e.g. formal parameter | |
-- names in constructed procedures) | |
Name_uA : constant Name_Id := First_Name_Id + Character'Pos ('A'); | |
Name_uB : constant Name_Id := First_Name_Id + Character'Pos ('B'); | |
Name_uC : constant Name_Id := First_Name_Id + Character'Pos ('C'); | |
Name_uD : constant Name_Id := First_Name_Id + Character'Pos ('D'); | |
Name_uE : constant Name_Id := First_Name_Id + Character'Pos ('E'); | |
Name_uF : constant Name_Id := First_Name_Id + Character'Pos ('F'); | |
Name_uG : constant Name_Id := First_Name_Id + Character'Pos ('G'); | |
Name_uH : constant Name_Id := First_Name_Id + Character'Pos ('H'); | |
Name_uI : constant Name_Id := First_Name_Id + Character'Pos ('I'); | |
Name_uJ : constant Name_Id := First_Name_Id + Character'Pos ('J'); | |
Name_uK : constant Name_Id := First_Name_Id + Character'Pos ('K'); | |
Name_uL : constant Name_Id := First_Name_Id + Character'Pos ('L'); | |
Name_uM : constant Name_Id := First_Name_Id + Character'Pos ('M'); | |
Name_uN : constant Name_Id := First_Name_Id + Character'Pos ('N'); | |
Name_uO : constant Name_Id := First_Name_Id + Character'Pos ('O'); | |
Name_uP : constant Name_Id := First_Name_Id + Character'Pos ('P'); | |
Name_uQ : constant Name_Id := First_Name_Id + Character'Pos ('Q'); | |
Name_uR : constant Name_Id := First_Name_Id + Character'Pos ('R'); | |
Name_uS : constant Name_Id := First_Name_Id + Character'Pos ('S'); | |
Name_uT : constant Name_Id := First_Name_Id + Character'Pos ('T'); | |
Name_uU : constant Name_Id := First_Name_Id + Character'Pos ('U'); | |
Name_uV : constant Name_Id := First_Name_Id + Character'Pos ('V'); | |
Name_uW : constant Name_Id := First_Name_Id + Character'Pos ('W'); | |
Name_uX : constant Name_Id := First_Name_Id + Character'Pos ('X'); | |
Name_uY : constant Name_Id := First_Name_Id + Character'Pos ('Y'); | |
Name_uZ : constant Name_Id := First_Name_Id + Character'Pos ('Z'); | |
-- Note: the following table is read by the utility program XSNAMES and | |
-- its format should not be changed without coordinating with this program. | |
N : constant Name_Id := First_Name_Id + 256; | |
-- Synonym used in standard name definitions | |
-- Some names that are used by gigi, and whose definitions are reflected | |
-- in the C header file a-snames.h. They are placed at the start so that | |
-- the need to modify a-snames.h is minimized. | |
Name_uParent : constant Name_Id := N + 000; | |
Name_uTag : constant Name_Id := N + 001; | |
Name_Off : constant Name_Id := N + 002; | |
Name_Space : constant Name_Id := N + 003; | |
Name_Time : constant Name_Id := N + 004; | |
-- Some special names used by the expander. Note that the lower case u's | |
-- at the start of these names get translated to extra underscores. These | |
-- names are only referenced internally by expander generated code. | |
Name_uAbort_Signal : constant Name_Id := N + 005; | |
Name_uAlignment : constant Name_Id := N + 006; | |
Name_uAssign : constant Name_Id := N + 007; | |
Name_uATCB : constant Name_Id := N + 008; | |
Name_uChain : constant Name_Id := N + 009; | |
Name_uClean : constant Name_Id := N + 010; | |
Name_uController : constant Name_Id := N + 011; | |
Name_uEntry_Bodies : constant Name_Id := N + 012; | |
Name_uExpunge : constant Name_Id := N + 013; | |
Name_uFinal_List : constant Name_Id := N + 014; | |
Name_uIdepth : constant Name_Id := N + 015; | |
Name_uInit : constant Name_Id := N + 016; | |
Name_uLocal_Final_List : constant Name_Id := N + 017; | |
Name_uMaster : constant Name_Id := N + 018; | |
Name_uObject : constant Name_Id := N + 019; | |
Name_uPriority : constant Name_Id := N + 020; | |
Name_uProcess_ATSD : constant Name_Id := N + 021; | |
Name_uSecondary_Stack : constant Name_Id := N + 022; | |
Name_uService : constant Name_Id := N + 023; | |
Name_uSize : constant Name_Id := N + 024; | |
Name_uStack : constant Name_Id := N + 025; | |
Name_uTags : constant Name_Id := N + 026; | |
Name_uTask : constant Name_Id := N + 027; | |
Name_uTask_Id : constant Name_Id := N + 028; | |
Name_uTask_Info : constant Name_Id := N + 029; | |
Name_uTask_Name : constant Name_Id := N + 030; | |
Name_uTrace_Sp : constant Name_Id := N + 031; | |
-- Names of routines in Ada.Finalization, needed by expander | |
Name_Initialize : constant Name_Id := N + 032; | |
Name_Adjust : constant Name_Id := N + 033; | |
Name_Finalize : constant Name_Id := N + 034; | |
-- Names of fields declared in System.Finalization_Implementation, | |
-- needed by the expander when generating code for finalization. | |
Name_Next : constant Name_Id := N + 035; | |
Name_Prev : constant Name_Id := N + 036; | |
-- Names of TSS routines for implementation of DSA over PolyORB | |
Name_uTypeCode : constant Name_Id := N + 037; | |
Name_uFrom_Any : constant Name_Id := N + 038; | |
Name_uTo_Any : constant Name_Id := N + 039; | |
-- Names of allocation routines, also needed by expander | |
Name_Allocate : constant Name_Id := N + 040; | |
Name_Deallocate : constant Name_Id := N + 041; | |
Name_Dereference : constant Name_Id := N + 042; | |
-- Names of Text_IO generic subpackages (see Rtsfind.Text_IO_Kludge) | |
First_Text_IO_Package : constant Name_Id := N + 043; | |
Name_Decimal_IO : constant Name_Id := N + 043; | |
Name_Enumeration_IO : constant Name_Id := N + 044; | |
Name_Fixed_IO : constant Name_Id := N + 045; | |
Name_Float_IO : constant Name_Id := N + 046; | |
Name_Integer_IO : constant Name_Id := N + 047; | |
Name_Modular_IO : constant Name_Id := N + 048; | |
Last_Text_IO_Package : constant Name_Id := N + 048; | |
subtype Text_IO_Package_Name is Name_Id | |
range First_Text_IO_Package .. Last_Text_IO_Package; | |
-- Some miscellaneous names used for error detection/recovery | |
Name_Const : constant Name_Id := N + 049; | |
Name_Error : constant Name_Id := N + 050; | |
Name_Go : constant Name_Id := N + 051; | |
Name_Put : constant Name_Id := N + 052; | |
Name_Put_Line : constant Name_Id := N + 053; | |
Name_To : constant Name_Id := N + 054; | |
-- Names for packages that are treated specially by the compiler | |
Name_Finalization : constant Name_Id := N + 055; | |
Name_Finalization_Root : constant Name_Id := N + 056; | |
Name_Interfaces : constant Name_Id := N + 057; | |
Name_Standard : constant Name_Id := N + 058; | |
Name_System : constant Name_Id := N + 059; | |
Name_Text_IO : constant Name_Id := N + 060; | |
Name_Wide_Text_IO : constant Name_Id := N + 061; | |
Name_Wide_Wide_Text_IO : constant Name_Id := N + 062; | |
-- Names of implementations of the distributed systems annex | |
First_PCS_Name : constant Name_Id := N + 063; | |
Name_No_DSA : constant Name_Id := N + 063; | |
Name_GARLIC_DSA : constant Name_Id := N + 064; | |
Name_PolyORB_DSA : constant Name_Id := N + 065; | |
Last_PCS_Name : constant Name_Id := N + 065; | |
subtype PCS_Names is Name_Id | |
range First_PCS_Name .. Last_PCS_Name; | |
-- Names of identifiers used in expanding distribution stubs | |
Name_Addr : constant Name_Id := N + 066; | |
Name_Async : constant Name_Id := N + 067; | |
Name_Get_Active_Partition_ID : constant Name_Id := N + 068; | |
Name_Get_RCI_Package_Receiver : constant Name_Id := N + 069; | |
Name_Get_RCI_Package_Ref : constant Name_Id := N + 070; | |
Name_Origin : constant Name_Id := N + 071; | |
Name_Params : constant Name_Id := N + 072; | |
Name_Partition : constant Name_Id := N + 073; | |
Name_Partition_Interface : constant Name_Id := N + 074; | |
Name_Ras : constant Name_Id := N + 075; | |
Name_Call : constant Name_Id := N + 076; | |
Name_RCI_Name : constant Name_Id := N + 077; | |
Name_Receiver : constant Name_Id := N + 078; | |
Name_Result : constant Name_Id := N + 079; | |
Name_Rpc : constant Name_Id := N + 080; | |
Name_Subp_Id : constant Name_Id := N + 081; | |
Name_Operation : constant Name_Id := N + 082; | |
Name_Argument : constant Name_Id := N + 083; | |
Name_Arg_Modes : constant Name_Id := N + 084; | |
Name_Handler : constant Name_Id := N + 085; | |
Name_Target : constant Name_Id := N + 086; | |
Name_Req : constant Name_Id := N + 087; | |
Name_Obj_TypeCode : constant Name_Id := N + 088; | |
Name_Stub : constant Name_Id := N + 089; | |
-- Operator Symbol entries. The actual names have an upper case O at | |
-- the start in place of the Op_ prefix (e.g. the actual name that | |
-- corresponds to Name_Op_Abs is "Oabs". | |
First_Operator_Name : constant Name_Id := N + 090; | |
Name_Op_Abs : constant Name_Id := N + 090; -- "abs" | |
Name_Op_And : constant Name_Id := N + 091; -- "and" | |
Name_Op_Mod : constant Name_Id := N + 092; -- "mod" | |
Name_Op_Not : constant Name_Id := N + 093; -- "not" | |
Name_Op_Or : constant Name_Id := N + 094; -- "or" | |
Name_Op_Rem : constant Name_Id := N + 095; -- "rem" | |
Name_Op_Xor : constant Name_Id := N + 096; -- "xor" | |
Name_Op_Eq : constant Name_Id := N + 097; -- "=" | |
Name_Op_Ne : constant Name_Id := N + 098; -- "/=" | |
Name_Op_Lt : constant Name_Id := N + 099; -- "<" | |
Name_Op_Le : constant Name_Id := N + 100; -- "<=" | |
Name_Op_Gt : constant Name_Id := N + 101; -- ">" | |
Name_Op_Ge : constant Name_Id := N + 102; -- ">=" | |
Name_Op_Add : constant Name_Id := N + 103; -- "+" | |
Name_Op_Subtract : constant Name_Id := N + 104; -- "-" | |
Name_Op_Concat : constant Name_Id := N + 105; -- "&" | |
Name_Op_Multiply : constant Name_Id := N + 106; -- "*" | |
Name_Op_Divide : constant Name_Id := N + 107; -- "/" | |
Name_Op_Expon : constant Name_Id := N + 108; -- "**" | |
Last_Operator_Name : constant Name_Id := N + 108; | |
-- Names for all pragmas recognized by GNAT. The entries with the comment | |
-- "Ada 83" are pragmas that are defined in Ada 83, but not in Ada 95. | |
-- These pragmas are fully implemented in both Ada 83 and Ada 95 modes | |
-- in GNAT. | |
-- The entries marked GNAT are pragmas that are defined by GNAT | |
-- and implemented in both Ada 83 and Ada 95 modes. Full descriptions | |
-- of these implementation dependent pragmas may be found in the | |
-- appropriate section in unit Sem_Prag in file sem-prag.adb. | |
-- The entries marked Ada05 are technically implementation dependent | |
-- pragmas, but they correspond to standard proposals for Ada 2005. | |
-- The entries marked VMS are VMS specific pragmas that are recognized | |
-- only in OpenVMS versions of GNAT. They are ignored in other versions | |
-- with an appropriate warning. | |
-- The entries marked AAMP are AAMP specific pragmas that are recognized | |
-- only in GNAT for the AAMP. They are ignored in other versions with | |
-- appropriate warnings. | |
First_Pragma_Name : constant Name_Id := N + 109; | |
-- Configuration pragmas are grouped at start | |
Name_Ada_83 : constant Name_Id := N + 109; -- GNAT | |
Name_Ada_95 : constant Name_Id := N + 110; -- GNAT | |
Name_Ada_05 : constant Name_Id := N + 111; -- GNAT | |
Name_C_Pass_By_Copy : constant Name_Id := N + 112; -- GNAT | |
Name_Compile_Time_Warning : constant Name_Id := N + 113; -- GNAT | |
Name_Component_Alignment : constant Name_Id := N + 114; -- GNAT | |
Name_Convention_Identifier : constant Name_Id := N + 115; -- GNAT | |
Name_Detect_Blocking : constant Name_Id := N + 116; -- Ada05 | |
Name_Discard_Names : constant Name_Id := N + 117; | |
Name_Elaboration_Checks : constant Name_Id := N + 118; -- GNAT | |
Name_Eliminate : constant Name_Id := N + 119; -- GNAT | |
Name_Explicit_Overriding : constant Name_Id := N + 120; | |
Name_Extend_System : constant Name_Id := N + 121; -- GNAT | |
Name_Extensions_Allowed : constant Name_Id := N + 122; -- GNAT | |
Name_External_Name_Casing : constant Name_Id := N + 123; -- GNAT | |
Name_Float_Representation : constant Name_Id := N + 124; -- GNAT | |
Name_Initialize_Scalars : constant Name_Id := N + 125; -- GNAT | |
Name_Interrupt_State : constant Name_Id := N + 126; -- GNAT | |
Name_License : constant Name_Id := N + 127; -- GNAT | |
Name_Locking_Policy : constant Name_Id := N + 128; | |
Name_Long_Float : constant Name_Id := N + 129; -- VMS | |
Name_No_Run_Time : constant Name_Id := N + 130; -- GNAT | |
Name_No_Strict_Aliasing : constant Name_Id := N + 131; -- GNAT | |
Name_Normalize_Scalars : constant Name_Id := N + 132; | |
Name_Polling : constant Name_Id := N + 133; -- GNAT | |
Name_Persistent_Data : constant Name_Id := N + 134; -- GNAT | |
Name_Persistent_Object : constant Name_Id := N + 135; -- GNAT | |
Name_Profile : constant Name_Id := N + 136; -- Ada05 | |
Name_Profile_Warnings : constant Name_Id := N + 137; -- GNAT | |
Name_Propagate_Exceptions : constant Name_Id := N + 138; -- GNAT | |
Name_Queuing_Policy : constant Name_Id := N + 139; | |
Name_Ravenscar : constant Name_Id := N + 140; | |
Name_Restricted_Run_Time : constant Name_Id := N + 141; | |
Name_Restrictions : constant Name_Id := N + 142; | |
Name_Restriction_Warnings : constant Name_Id := N + 143; -- GNAT | |
Name_Reviewable : constant Name_Id := N + 144; | |
Name_Source_File_Name : constant Name_Id := N + 145; -- GNAT | |
Name_Source_File_Name_Project : constant Name_Id := N + 146; -- GNAT | |
Name_Style_Checks : constant Name_Id := N + 147; -- GNAT | |
Name_Suppress : constant Name_Id := N + 148; | |
Name_Suppress_Exception_Locations : constant Name_Id := N + 149; -- GNAT | |
Name_Task_Dispatching_Policy : constant Name_Id := N + 150; | |
Name_Universal_Data : constant Name_Id := N + 151; -- AAMP | |
Name_Unsuppress : constant Name_Id := N + 152; -- GNAT | |
Name_Use_VADS_Size : constant Name_Id := N + 153; -- GNAT | |
Name_Validity_Checks : constant Name_Id := N + 154; -- GNAT | |
Name_Warnings : constant Name_Id := N + 155; -- GNAT | |
Last_Configuration_Pragma_Name : constant Name_Id := N + 155; | |
-- Remaining pragma names | |
Name_Abort_Defer : constant Name_Id := N + 156; -- GNAT | |
Name_All_Calls_Remote : constant Name_Id := N + 157; | |
Name_Annotate : constant Name_Id := N + 158; -- GNAT | |
-- Note: AST_Entry is not in this list because its name matches the | |
-- name of the corresponding attribute. However, it is included in the | |
-- definition of the type Attribute_Id, and the functions Get_Pragma_Id | |
-- and Check_Pragma_Id correctly recognize and process Name_AST_Entry. | |
-- AST_Entry is a VMS specific pragma. | |
Name_Assert : constant Name_Id := N + 159; -- GNAT | |
Name_Asynchronous : constant Name_Id := N + 160; | |
Name_Atomic : constant Name_Id := N + 161; | |
Name_Atomic_Components : constant Name_Id := N + 162; | |
Name_Attach_Handler : constant Name_Id := N + 163; | |
Name_Comment : constant Name_Id := N + 164; -- GNAT | |
Name_Common_Object : constant Name_Id := N + 165; -- GNAT | |
Name_Complex_Representation : constant Name_Id := N + 166; -- GNAT | |
Name_Controlled : constant Name_Id := N + 167; | |
Name_Convention : constant Name_Id := N + 168; | |
Name_CPP_Class : constant Name_Id := N + 169; -- GNAT | |
Name_CPP_Constructor : constant Name_Id := N + 170; -- GNAT | |
Name_CPP_Virtual : constant Name_Id := N + 171; -- GNAT | |
Name_CPP_Vtable : constant Name_Id := N + 172; -- GNAT | |
Name_Debug : constant Name_Id := N + 173; -- GNAT | |
Name_Elaborate : constant Name_Id := N + 174; -- Ada 83 | |
Name_Elaborate_All : constant Name_Id := N + 175; | |
Name_Elaborate_Body : constant Name_Id := N + 176; | |
Name_Export : constant Name_Id := N + 177; | |
Name_Export_Exception : constant Name_Id := N + 178; -- VMS | |
Name_Export_Function : constant Name_Id := N + 179; -- GNAT | |
Name_Export_Object : constant Name_Id := N + 180; -- GNAT | |
Name_Export_Procedure : constant Name_Id := N + 181; -- GNAT | |
Name_Export_Value : constant Name_Id := N + 182; -- GNAT | |
Name_Export_Valued_Procedure : constant Name_Id := N + 183; -- GNAT | |
Name_External : constant Name_Id := N + 184; -- GNAT | |
Name_Finalize_Storage_Only : constant Name_Id := N + 185; -- GNAT | |
Name_Ident : constant Name_Id := N + 186; -- VMS | |
Name_Import : constant Name_Id := N + 187; | |
Name_Import_Exception : constant Name_Id := N + 188; -- VMS | |
Name_Import_Function : constant Name_Id := N + 189; -- GNAT | |
Name_Import_Object : constant Name_Id := N + 190; -- GNAT | |
Name_Import_Procedure : constant Name_Id := N + 191; -- GNAT | |
Name_Import_Valued_Procedure : constant Name_Id := N + 192; -- GNAT | |
Name_Inline : constant Name_Id := N + 193; | |
Name_Inline_Always : constant Name_Id := N + 194; -- GNAT | |
Name_Inline_Generic : constant Name_Id := N + 195; -- GNAT | |
Name_Inspection_Point : constant Name_Id := N + 196; | |
Name_Interface_Name : constant Name_Id := N + 197; -- GNAT | |
Name_Interrupt_Handler : constant Name_Id := N + 198; | |
Name_Interrupt_Priority : constant Name_Id := N + 199; | |
Name_Java_Constructor : constant Name_Id := N + 200; -- GNAT | |
Name_Java_Interface : constant Name_Id := N + 201; -- GNAT | |
Name_Keep_Names : constant Name_Id := N + 202; -- GNAT | |
Name_Link_With : constant Name_Id := N + 203; -- GNAT | |
Name_Linker_Alias : constant Name_Id := N + 204; -- GNAT | |
Name_Linker_Options : constant Name_Id := N + 205; | |
Name_Linker_Section : constant Name_Id := N + 206; -- GNAT | |
Name_List : constant Name_Id := N + 207; | |
Name_Machine_Attribute : constant Name_Id := N + 208; -- GNAT | |
Name_Main : constant Name_Id := N + 209; -- GNAT | |
Name_Main_Storage : constant Name_Id := N + 210; -- GNAT | |
Name_Memory_Size : constant Name_Id := N + 211; -- Ada 83 | |
Name_No_Return : constant Name_Id := N + 212; -- GNAT | |
Name_Obsolescent : constant Name_Id := N + 213; -- GNAT | |
Name_Optimize : constant Name_Id := N + 214; | |
Name_Optional_Overriding : constant Name_Id := N + 215; | |
Name_Pack : constant Name_Id := N + 216; | |
Name_Page : constant Name_Id := N + 217; | |
Name_Passive : constant Name_Id := N + 218; -- GNAT | |
Name_Preelaborate : constant Name_Id := N + 219; | |
Name_Priority : constant Name_Id := N + 220; | |
Name_Psect_Object : constant Name_Id := N + 221; -- VMS | |
Name_Pure : constant Name_Id := N + 222; | |
Name_Pure_Function : constant Name_Id := N + 223; -- GNAT | |
Name_Remote_Call_Interface : constant Name_Id := N + 224; | |
Name_Remote_Types : constant Name_Id := N + 225; | |
Name_Share_Generic : constant Name_Id := N + 226; -- GNAT | |
Name_Shared : constant Name_Id := N + 227; -- Ada 83 | |
Name_Shared_Passive : constant Name_Id := N + 228; | |
-- Note: Storage_Size is not in this list because its name matches the | |
-- name of the corresponding attribute. However, it is included in the | |
-- definition of the type Attribute_Id, and the functions Get_Pragma_Id | |
-- and Check_Pragma_Id correctly recognize and process Name_Storage_Size. | |
-- Note: Storage_Unit is also omitted from the list because of a clash | |
-- with an attribute name, and is treated similarly. | |
Name_Source_Reference : constant Name_Id := N + 229; -- GNAT | |
Name_Stream_Convert : constant Name_Id := N + 230; -- GNAT | |
Name_Subtitle : constant Name_Id := N + 231; -- GNAT | |
Name_Suppress_All : constant Name_Id := N + 232; -- GNAT | |
Name_Suppress_Debug_Info : constant Name_Id := N + 233; -- GNAT | |
Name_Suppress_Initialization : constant Name_Id := N + 234; -- GNAT | |
Name_System_Name : constant Name_Id := N + 235; -- Ada 83 | |
Name_Task_Info : constant Name_Id := N + 236; -- GNAT | |
Name_Task_Name : constant Name_Id := N + 237; -- GNAT | |
Name_Task_Storage : constant Name_Id := N + 238; -- VMS | |
Name_Thread_Body : constant Name_Id := N + 239; -- GNAT | |
Name_Time_Slice : constant Name_Id := N + 240; -- GNAT | |
Name_Title : constant Name_Id := N + 241; -- GNAT | |
Name_Unchecked_Union : constant Name_Id := N + 242; -- GNAT | |
Name_Unimplemented_Unit : constant Name_Id := N + 243; -- GNAT | |
Name_Unreferenced : constant Name_Id := N + 244; -- GNAT | |
Name_Unreserve_All_Interrupts : constant Name_Id := N + 245; -- GNAT | |
Name_Volatile : constant Name_Id := N + 246; | |
Name_Volatile_Components : constant Name_Id := N + 247; | |
Name_Weak_External : constant Name_Id := N + 248; -- GNAT | |
Last_Pragma_Name : constant Name_Id := N + 248; | |
-- Language convention names for pragma Convention/Export/Import/Interface | |
-- Note that Name_C is not included in this list, since it was already | |
-- declared earlier in the context of one-character identifier names | |
-- (where the order is critical to the fast look up process). | |
-- Note: there are no convention names corresponding to the conventions | |
-- Entry and Protected, this is because these conventions cannot be | |
-- specified by a pragma. | |
First_Convention_Name : constant Name_Id := N + 249; | |
Name_Ada : constant Name_Id := N + 249; | |
Name_Assembler : constant Name_Id := N + 250; | |
Name_COBOL : constant Name_Id := N + 251; | |
Name_CPP : constant Name_Id := N + 252; | |
Name_Fortran : constant Name_Id := N + 253; | |
Name_Intrinsic : constant Name_Id := N + 254; | |
Name_Java : constant Name_Id := N + 255; | |
Name_Stdcall : constant Name_Id := N + 256; | |
Name_Stubbed : constant Name_Id := N + 257; | |
Last_Convention_Name : constant Name_Id := N + 257; | |
-- The following names are preset as synonyms for Assembler | |
Name_Asm : constant Name_Id := N + 258; | |
Name_Assembly : constant Name_Id := N + 259; | |
-- The following names are preset as synonyms for C | |
Name_Default : constant Name_Id := N + 260; | |
-- Name_Exernal (previously defined as pragma) | |
-- The following names are present as synonyms for Stdcall | |
Name_DLL : constant Name_Id := N + 261; | |
Name_Win32 : constant Name_Id := N + 262; | |
-- Other special names used in processing pragmas | |
Name_As_Is : constant Name_Id := N + 263; | |
Name_Body_File_Name : constant Name_Id := N + 264; | |
Name_Boolean_Entry_Barriers : constant Name_Id := N + 265; | |
Name_Casing : constant Name_Id := N + 266; | |
Name_Code : constant Name_Id := N + 267; | |
Name_Component : constant Name_Id := N + 268; | |
Name_Component_Size_4 : constant Name_Id := N + 269; | |
Name_Copy : constant Name_Id := N + 270; | |
Name_D_Float : constant Name_Id := N + 271; | |
Name_Descriptor : constant Name_Id := N + 272; | |
Name_Dot_Replacement : constant Name_Id := N + 273; | |
Name_Dynamic : constant Name_Id := N + 274; | |
Name_Entity : constant Name_Id := N + 275; | |
Name_External_Name : constant Name_Id := N + 276; | |
Name_First_Optional_Parameter : constant Name_Id := N + 277; | |
Name_Form : constant Name_Id := N + 278; | |
Name_G_Float : constant Name_Id := N + 279; | |
Name_Gcc : constant Name_Id := N + 280; | |
Name_Gnat : constant Name_Id := N + 281; | |
Name_GPL : constant Name_Id := N + 282; | |
Name_IEEE_Float : constant Name_Id := N + 283; | |
Name_Internal : constant Name_Id := N + 284; | |
Name_Link_Name : constant Name_Id := N + 285; | |
Name_Lowercase : constant Name_Id := N + 286; | |
Name_Max_Entry_Queue_Depth : constant Name_Id := N + 287; | |
Name_Max_Entry_Queue_Length : constant Name_Id := N + 288; | |
Name_Max_Size : constant Name_Id := N + 289; | |
Name_Mechanism : constant Name_Id := N + 290; | |
Name_Mixedcase : constant Name_Id := N + 291; | |
Name_Modified_GPL : constant Name_Id := N + 292; | |
Name_Name : constant Name_Id := N + 293; | |
Name_NCA : constant Name_Id := N + 294; | |
Name_No : constant Name_Id := N + 295; | |
Name_No_Dependence : constant Name_Id := N + 296; | |
Name_No_Dynamic_Attachment : constant Name_Id := N + 297; | |
Name_No_Dynamic_Interrupts : constant Name_Id := N + 298; | |
Name_No_Requeue : constant Name_Id := N + 299; | |
Name_No_Requeue_Statements : constant Name_Id := N + 300; | |
Name_No_Task_Attributes : constant Name_Id := N + 301; | |
Name_No_Task_Attributes_Package : constant Name_Id := N + 302; | |
Name_On : constant Name_Id := N + 303; | |
Name_Parameter_Types : constant Name_Id := N + 304; | |
Name_Reference : constant Name_Id := N + 305; | |
Name_Restricted : constant Name_Id := N + 306; | |
Name_Result_Mechanism : constant Name_Id := N + 307; | |
Name_Result_Type : constant Name_Id := N + 308; | |
Name_Runtime : constant Name_Id := N + 309; | |
Name_SB : constant Name_Id := N + 310; | |
Name_Secondary_Stack_Size : constant Name_Id := N + 311; | |
Name_Section : constant Name_Id := N + 312; | |
Name_Semaphore : constant Name_Id := N + 313; | |
Name_Simple_Barriers : constant Name_Id := N + 314; | |
Name_Spec_File_Name : constant Name_Id := N + 315; | |
Name_Static : constant Name_Id := N + 316; | |
Name_Stack_Size : constant Name_Id := N + 317; | |
Name_Subunit_File_Name : constant Name_Id := N + 318; | |
Name_Task_Stack_Size_Default : constant Name_Id := N + 319; | |
Name_Task_Type : constant Name_Id := N + 320; | |
Name_Time_Slicing_Enabled : constant Name_Id := N + 321; | |
Name_Top_Guard : constant Name_Id := N + 322; | |
Name_UBA : constant Name_Id := N + 323; | |
Name_UBS : constant Name_Id := N + 324; | |
Name_UBSB : constant Name_Id := N + 325; | |
Name_Unit_Name : constant Name_Id := N + 326; | |
Name_Unknown : constant Name_Id := N + 327; | |
Name_Unrestricted : constant Name_Id := N + 328; | |
Name_Uppercase : constant Name_Id := N + 329; | |
Name_User : constant Name_Id := N + 330; | |
Name_VAX_Float : constant Name_Id := N + 331; | |
Name_VMS : constant Name_Id := N + 332; | |
Name_Working_Storage : constant Name_Id := N + 333; | |
-- Names of recognized attributes. The entries with the comment "Ada 83" | |
-- are attributes that are defined in Ada 83, but not in Ada 95. These | |
-- attributes are implemented in both Ada 83 and Ada 95 modes in GNAT. | |
-- The entries marked GNAT are attributes that are defined by GNAT | |
-- and implemented in both Ada 83 and Ada 95 modes. Full descriptions | |
-- of these implementation dependent attributes may be found in the | |
-- appropriate section in package Sem_Attr in file sem-attr.ads. | |
-- The entries marked VMS are recognized only in OpenVMS implementations | |
-- of GNAT, and are treated as illegal in all other contexts. | |
First_Attribute_Name : constant Name_Id := N + 334; | |
Name_Abort_Signal : constant Name_Id := N + 334; -- GNAT | |
Name_Access : constant Name_Id := N + 335; | |
Name_Address : constant Name_Id := N + 336; | |
Name_Address_Size : constant Name_Id := N + 337; -- GNAT | |
Name_Aft : constant Name_Id := N + 338; | |
Name_Alignment : constant Name_Id := N + 339; | |
Name_Asm_Input : constant Name_Id := N + 340; -- GNAT | |
Name_Asm_Output : constant Name_Id := N + 341; -- GNAT | |
Name_AST_Entry : constant Name_Id := N + 342; -- VMS | |
Name_Bit : constant Name_Id := N + 343; -- GNAT | |
Name_Bit_Order : constant Name_Id := N + 344; | |
Name_Bit_Position : constant Name_Id := N + 345; -- GNAT | |
Name_Body_Version : constant Name_Id := N + 346; | |
Name_Callable : constant Name_Id := N + 347; | |
Name_Caller : constant Name_Id := N + 348; | |
Name_Code_Address : constant Name_Id := N + 349; -- GNAT | |
Name_Component_Size : constant Name_Id := N + 350; | |
Name_Compose : constant Name_Id := N + 351; | |
Name_Constrained : constant Name_Id := N + 352; | |
Name_Count : constant Name_Id := N + 353; | |
Name_Default_Bit_Order : constant Name_Id := N + 354; -- GNAT | |
Name_Definite : constant Name_Id := N + 355; | |
Name_Delta : constant Name_Id := N + 356; | |
Name_Denorm : constant Name_Id := N + 357; | |
Name_Digits : constant Name_Id := N + 358; | |
Name_Elaborated : constant Name_Id := N + 359; -- GNAT | |
Name_Emax : constant Name_Id := N + 360; -- Ada 83 | |
Name_Enum_Rep : constant Name_Id := N + 361; -- GNAT | |
Name_Epsilon : constant Name_Id := N + 362; -- Ada 83 | |
Name_Exponent : constant Name_Id := N + 363; | |
Name_External_Tag : constant Name_Id := N + 364; | |
Name_First : constant Name_Id := N + 365; | |
Name_First_Bit : constant Name_Id := N + 366; | |
Name_Fixed_Value : constant Name_Id := N + 367; -- GNAT | |
Name_Fore : constant Name_Id := N + 368; | |
Name_Has_Access_Values : constant Name_Id := N + 369; -- GNAT | |
Name_Has_Discriminants : constant Name_Id := N + 370; -- GNAT | |
Name_Identity : constant Name_Id := N + 371; | |
Name_Img : constant Name_Id := N + 372; -- GNAT | |
Name_Integer_Value : constant Name_Id := N + 373; -- GNAT | |
Name_Large : constant Name_Id := N + 374; -- Ada 83 | |
Name_Last : constant Name_Id := N + 375; | |
Name_Last_Bit : constant Name_Id := N + 376; | |
Name_Leading_Part : constant Name_Id := N + 377; | |
Name_Length : constant Name_Id := N + 378; | |
Name_Machine_Emax : constant Name_Id := N + 379; | |
Name_Machine_Emin : constant Name_Id := N + 380; | |
Name_Machine_Mantissa : constant Name_Id := N + 381; | |
Name_Machine_Overflows : constant Name_Id := N + 382; | |
Name_Machine_Radix : constant Name_Id := N + 383; | |
Name_Machine_Rounds : constant Name_Id := N + 384; | |
Name_Machine_Size : constant Name_Id := N + 385; -- GNAT | |
Name_Mantissa : constant Name_Id := N + 386; -- Ada 83 | |
Name_Max_Size_In_Storage_Elements : constant Name_Id := N + 387; | |
Name_Maximum_Alignment : constant Name_Id := N + 388; -- GNAT | |
Name_Mechanism_Code : constant Name_Id := N + 389; -- GNAT | |
Name_Mod : constant Name_Id := N + 390; | |
Name_Model_Emin : constant Name_Id := N + 391; | |
Name_Model_Epsilon : constant Name_Id := N + 392; | |
Name_Model_Mantissa : constant Name_Id := N + 393; | |
Name_Model_Small : constant Name_Id := N + 394; | |
Name_Modulus : constant Name_Id := N + 395; | |
Name_Null_Parameter : constant Name_Id := N + 396; -- GNAT | |
Name_Object_Size : constant Name_Id := N + 397; -- GNAT | |
Name_Partition_ID : constant Name_Id := N + 398; | |
Name_Passed_By_Reference : constant Name_Id := N + 399; -- GNAT | |
Name_Pool_Address : constant Name_Id := N + 400; | |
Name_Pos : constant Name_Id := N + 401; | |
Name_Position : constant Name_Id := N + 402; | |
Name_Range : constant Name_Id := N + 403; | |
Name_Range_Length : constant Name_Id := N + 404; -- GNAT | |
Name_Round : constant Name_Id := N + 405; | |
Name_Safe_Emax : constant Name_Id := N + 406; -- Ada 83 | |
Name_Safe_First : constant Name_Id := N + 407; | |
Name_Safe_Large : constant Name_Id := N + 408; -- Ada 83 | |
Name_Safe_Last : constant Name_Id := N + 409; | |
Name_Safe_Small : constant Name_Id := N + 410; -- Ada 83 | |
Name_Scale : constant Name_Id := N + 411; | |
Name_Scaling : constant Name_Id := N + 412; | |
Name_Signed_Zeros : constant Name_Id := N + 413; | |
Name_Size : constant Name_Id := N + 414; | |
Name_Small : constant Name_Id := N + 415; | |
Name_Storage_Size : constant Name_Id := N + 416; | |
Name_Storage_Unit : constant Name_Id := N + 417; -- GNAT | |
Name_Stream_Size : constant Name_Id := N + 418; -- Ada 05 | |
Name_Tag : constant Name_Id := N + 419; | |
Name_Target_Name : constant Name_Id := N + 420; -- GNAT | |
Name_Terminated : constant Name_Id := N + 421; | |
Name_To_Address : constant Name_Id := N + 422; -- GNAT | |
Name_Type_Class : constant Name_Id := N + 423; -- GNAT | |
Name_UET_Address : constant Name_Id := N + 424; -- GNAT | |
Name_Unbiased_Rounding : constant Name_Id := N + 425; | |
Name_Unchecked_Access : constant Name_Id := N + 426; | |
Name_Unconstrained_Array : constant Name_Id := N + 427; | |
Name_Universal_Literal_String : constant Name_Id := N + 428; -- GNAT | |
Name_Unrestricted_Access : constant Name_Id := N + 429; -- GNAT | |
Name_VADS_Size : constant Name_Id := N + 430; -- GNAT | |
Name_Val : constant Name_Id := N + 431; | |
Name_Valid : constant Name_Id := N + 432; | |
Name_Value_Size : constant Name_Id := N + 433; -- GNAT | |
Name_Version : constant Name_Id := N + 434; | |
Name_Wchar_T_Size : constant Name_Id := N + 435; -- GNAT | |
Name_Wide_Wide_Width : constant Name_Id := N + 436; -- Ada 05 | |
Name_Wide_Width : constant Name_Id := N + 437; | |
Name_Width : constant Name_Id := N + 438; | |
Name_Word_Size : constant Name_Id := N + 439; -- GNAT | |
-- Attributes that designate attributes returning renamable functions, | |
-- i.e. functions that return other than a universal value and that | |
-- have non-universal arguments. | |
First_Renamable_Function_Attribute : constant Name_Id := N + 440; | |
Name_Adjacent : constant Name_Id := N + 440; | |
Name_Ceiling : constant Name_Id := N + 441; | |
Name_Copy_Sign : constant Name_Id := N + 442; | |
Name_Floor : constant Name_Id := N + 443; | |
Name_Fraction : constant Name_Id := N + 444; | |
Name_Image : constant Name_Id := N + 445; | |
Name_Input : constant Name_Id := N + 446; | |
Name_Machine : constant Name_Id := N + 447; | |
Name_Max : constant Name_Id := N + 448; | |
Name_Min : constant Name_Id := N + 449; | |
Name_Model : constant Name_Id := N + 450; | |
Name_Pred : constant Name_Id := N + 451; | |
Name_Remainder : constant Name_Id := N + 452; | |
Name_Rounding : constant Name_Id := N + 453; | |
Name_Succ : constant Name_Id := N + 454; | |
Name_Truncation : constant Name_Id := N + 455; | |
Name_Value : constant Name_Id := N + 456; | |
Name_Wide_Image : constant Name_Id := N + 457; | |
Name_Wide_Wide_Image : constant Name_Id := N + 458; | |
Name_Wide_Value : constant Name_Id := N + 459; | |
Name_Wide_Wide_Value : constant Name_Id := N + 460; | |
Last_Renamable_Function_Attribute : constant Name_Id := N + 460; | |
-- Attributes that designate procedures | |
First_Procedure_Attribute : constant Name_Id := N + 461; | |
Name_Output : constant Name_Id := N + 461; | |
Name_Read : constant Name_Id := N + 462; | |
Name_Write : constant Name_Id := N + 463; | |
Last_Procedure_Attribute : constant Name_Id := N + 463; | |
-- Remaining attributes are ones that return entities | |
First_Entity_Attribute_Name : constant Name_Id := N + 464; | |
Name_Elab_Body : constant Name_Id := N + 464; -- GNAT | |
Name_Elab_Spec : constant Name_Id := N + 465; -- GNAT | |
Name_Storage_Pool : constant Name_Id := N + 466; | |
-- These attributes are the ones that return types | |
First_Type_Attribute_Name : constant Name_Id := N + 467; | |
Name_Base : constant Name_Id := N + 467; | |
Name_Class : constant Name_Id := N + 468; | |
Last_Type_Attribute_Name : constant Name_Id := N + 468; | |
Last_Entity_Attribute_Name : constant Name_Id := N + 468; | |
Last_Attribute_Name : constant Name_Id := N + 468; | |
-- Names of recognized locking policy identifiers | |
-- Note: policies are identified by the first character of the | |
-- name (e.g. C for Ceiling_Locking). If new policy names are added, | |
-- the first character must be distinct. | |
First_Locking_Policy_Name : constant Name_Id := N + 469; | |
Name_Ceiling_Locking : constant Name_Id := N + 469; | |
Name_Inheritance_Locking : constant Name_Id := N + 470; | |
Last_Locking_Policy_Name : constant Name_Id := N + 470; | |
-- Names of recognized queuing policy identifiers. | |
-- Note: policies are identified by the first character of the | |
-- name (e.g. F for FIFO_Queuing). If new policy names are added, | |
-- the first character must be distinct. | |
First_Queuing_Policy_Name : constant Name_Id := N + 471; | |
Name_FIFO_Queuing : constant Name_Id := N + 471; | |
Name_Priority_Queuing : constant Name_Id := N + 472; | |
Last_Queuing_Policy_Name : constant Name_Id := N + 472; | |
-- Names of recognized task dispatching policy identifiers | |
-- Note: policies are identified by the first character of the | |
-- name (e.g. F for FIFO_WIthinn_Priorities). If new policy names | |
-- are added, the first character must be distinct. | |
First_Task_Dispatching_Policy_Name : constant Name_Id := N + 473; | |
Name_FIFO_Within_Priorities : constant Name_Id := N + 473; | |
Last_Task_Dispatching_Policy_Name : constant Name_Id := N + 473; | |
-- Names of recognized checks for pragma Suppress | |
First_Check_Name : constant Name_Id := N + 474; | |
Name_Access_Check : constant Name_Id := N + 474; | |
Name_Accessibility_Check : constant Name_Id := N + 475; | |
Name_Discriminant_Check : constant Name_Id := N + 476; | |
Name_Division_Check : constant Name_Id := N + 477; | |
Name_Elaboration_Check : constant Name_Id := N + 478; | |
Name_Index_Check : constant Name_Id := N + 479; | |
Name_Length_Check : constant Name_Id := N + 480; | |
Name_Overflow_Check : constant Name_Id := N + 481; | |
Name_Range_Check : constant Name_Id := N + 482; | |
Name_Storage_Check : constant Name_Id := N + 483; | |
Name_Tag_Check : constant Name_Id := N + 484; | |
Name_All_Checks : constant Name_Id := N + 485; | |
Last_Check_Name : constant Name_Id := N + 485; | |
-- Names corresponding to reserved keywords, excluding those already | |
-- declared in the attribute list (Access, Delta, Digits, Mod, Range). | |
Name_Abort : constant Name_Id := N + 486; | |
Name_Abs : constant Name_Id := N + 487; | |
Name_Accept : constant Name_Id := N + 488; | |
Name_And : constant Name_Id := N + 489; | |
Name_All : constant Name_Id := N + 490; | |
Name_Array : constant Name_Id := N + 491; | |
Name_At : constant Name_Id := N + 492; | |
Name_Begin : constant Name_Id := N + 493; | |
Name_Body : constant Name_Id := N + 494; | |
Name_Case : constant Name_Id := N + 495; | |
Name_Constant : constant Name_Id := N + 496; | |
Name_Declare : constant Name_Id := N + 497; | |
Name_Delay : constant Name_Id := N + 498; | |
Name_Do : constant Name_Id := N + 499; | |
Name_Else : constant Name_Id := N + 500; | |
Name_Elsif : constant Name_Id := N + 501; | |
Name_End : constant Name_Id := N + 502; | |
Name_Entry : constant Name_Id := N + 503; | |
Name_Exception : constant Name_Id := N + 504; | |
Name_Exit : constant Name_Id := N + 505; | |
Name_For : constant Name_Id := N + 506; | |
Name_Function : constant Name_Id := N + 507; | |
Name_Generic : constant Name_Id := N + 508; | |
Name_Goto : constant Name_Id := N + 509; | |
Name_If : constant Name_Id := N + 510; | |
Name_In : constant Name_Id := N + 511; | |
Name_Is : constant Name_Id := N + 512; | |
Name_Limited : constant Name_Id := N + 513; | |
Name_Loop : constant Name_Id := N + 514; | |
Name_New : constant Name_Id := N + 515; | |
Name_Not : constant Name_Id := N + 516; | |
Name_Null : constant Name_Id := N + 517; | |
Name_Of : constant Name_Id := N + 518; | |
Name_Or : constant Name_Id := N + 519; | |
Name_Others : constant Name_Id := N + 520; | |
Name_Out : constant Name_Id := N + 521; | |
Name_Package : constant Name_Id := N + 522; | |
Name_Pragma : constant Name_Id := N + 523; | |
Name_Private : constant Name_Id := N + 524; | |
Name_Procedure : constant Name_Id := N + 525; | |
Name_Raise : constant Name_Id := N + 526; | |
Name_Record : constant Name_Id := N + 527; | |
Name_Rem : constant Name_Id := N + 528; | |
Name_Renames : constant Name_Id := N + 529; | |
Name_Return : constant Name_Id := N + 530; | |
Name_Reverse : constant Name_Id := N + 531; | |
Name_Select : constant Name_Id := N + 532; | |
Name_Separate : constant Name_Id := N + 533; | |
Name_Subtype : constant Name_Id := N + 534; | |
Name_Task : constant Name_Id := N + 535; | |
Name_Terminate : constant Name_Id := N + 536; | |
Name_Then : constant Name_Id := N + 537; | |
Name_Type : constant Name_Id := N + 538; | |
Name_Use : constant Name_Id := N + 539; | |
Name_When : constant Name_Id := N + 540; | |
Name_While : constant Name_Id := N + 541; | |
Name_With : constant Name_Id := N + 542; | |
Name_Xor : constant Name_Id := N + 543; | |
-- Names of intrinsic subprograms | |
-- Note: Asm is missing from this list, since Asm is a legitimate | |
-- convention name. So is To_Adress, which is a GNAT attribute. | |
First_Intrinsic_Name : constant Name_Id := N + 544; | |
Name_Divide : constant Name_Id := N + 544; | |
Name_Enclosing_Entity : constant Name_Id := N + 545; | |
Name_Exception_Information : constant Name_Id := N + 546; | |
Name_Exception_Message : constant Name_Id := N + 547; | |
Name_Exception_Name : constant Name_Id := N + 548; | |
Name_File : constant Name_Id := N + 549; | |
Name_Import_Address : constant Name_Id := N + 550; | |
Name_Import_Largest_Value : constant Name_Id := N + 551; | |
Name_Import_Value : constant Name_Id := N + 552; | |
Name_Is_Negative : constant Name_Id := N + 553; | |
Name_Line : constant Name_Id := N + 554; | |
Name_Rotate_Left : constant Name_Id := N + 555; | |
Name_Rotate_Right : constant Name_Id := N + 556; | |
Name_Shift_Left : constant Name_Id := N + 557; | |
Name_Shift_Right : constant Name_Id := N + 558; | |
Name_Shift_Right_Arithmetic : constant Name_Id := N + 559; | |
Name_Source_Location : constant Name_Id := N + 560; | |
Name_Unchecked_Conversion : constant Name_Id := N + 561; | |
Name_Unchecked_Deallocation : constant Name_Id := N + 562; | |
Name_To_Pointer : constant Name_Id := N + 563; | |
Last_Intrinsic_Name : constant Name_Id := N + 563; | |
-- Reserved words used only in Ada 95 | |
First_95_Reserved_Word : constant Name_Id := N + 564; | |
Name_Abstract : constant Name_Id := N + 564; | |
Name_Aliased : constant Name_Id := N + 565; | |
Name_Protected : constant Name_Id := N + 566; | |
Name_Until : constant Name_Id := N + 567; | |
Name_Requeue : constant Name_Id := N + 568; | |
Name_Tagged : constant Name_Id := N + 569; | |
Last_95_Reserved_Word : constant Name_Id := N + 569; | |
subtype Ada_95_Reserved_Words is | |
Name_Id range First_95_Reserved_Word .. Last_95_Reserved_Word; | |
-- Miscellaneous names used in semantic checking | |
Name_Raise_Exception : constant Name_Id := N + 570; | |
-- Additional reserved words and identifiers used in GNAT Project Files | |
-- Note that Name_External is already previously declared | |
Name_Ada_Roots : constant Name_Id := N + 571; | |
Name_Binder : constant Name_Id := N + 572; | |
Name_Binder_Driver : constant Name_Id := N + 573; | |
Name_Body_Suffix : constant Name_Id := N + 574; | |
Name_Builder : constant Name_Id := N + 575; | |
Name_Compiler : constant Name_Id := N + 576; | |
Name_Compiler_Driver : constant Name_Id := N + 577; | |
Name_Compiler_Kind : constant Name_Id := N + 578; | |
Name_Compute_Dependency : constant Name_Id := N + 579; | |
Name_Cross_Reference : constant Name_Id := N + 580; | |
Name_Default_Linker : constant Name_Id := N + 581; | |
Name_Default_Switches : constant Name_Id := N + 582; | |
Name_Dependency_Option : constant Name_Id := N + 583; | |
Name_Exec_Dir : constant Name_Id := N + 584; | |
Name_Executable : constant Name_Id := N + 585; | |
Name_Executable_Suffix : constant Name_Id := N + 586; | |
Name_Extends : constant Name_Id := N + 587; | |
Name_Externally_Built : constant Name_Id := N + 588; | |
Name_Finder : constant Name_Id := N + 589; | |
Name_Global_Configuration_Pragmas : constant Name_Id := N + 590; | |
Name_Gnatls : constant Name_Id := N + 591; | |
Name_Gnatstub : constant Name_Id := N + 592; | |
Name_Implementation : constant Name_Id := N + 593; | |
Name_Implementation_Exceptions : constant Name_Id := N + 594; | |
Name_Implementation_Suffix : constant Name_Id := N + 595; | |
Name_Include_Option : constant Name_Id := N + 596; | |
Name_Language_Processing : constant Name_Id := N + 597; | |
Name_Languages : constant Name_Id := N + 598; | |
Name_Library_Dir : constant Name_Id := N + 599; | |
Name_Library_Auto_Init : constant Name_Id := N + 600; | |
Name_Library_GCC : constant Name_Id := N + 601; | |
Name_Library_Interface : constant Name_Id := N + 602; | |
Name_Library_Kind : constant Name_Id := N + 603; | |
Name_Library_Name : constant Name_Id := N + 604; | |
Name_Library_Options : constant Name_Id := N + 605; | |
Name_Library_Reference_Symbol_File : constant Name_Id := N + 606; | |
Name_Library_Src_Dir : constant Name_Id := N + 607; | |
Name_Library_Symbol_File : constant Name_Id := N + 608; | |
Name_Library_Symbol_Policy : constant Name_Id := N + 609; | |
Name_Library_Version : constant Name_Id := N + 610; | |
Name_Linker : constant Name_Id := N + 611; | |
Name_Local_Configuration_Pragmas : constant Name_Id := N + 612; | |
Name_Locally_Removed_Files : constant Name_Id := N + 613; | |
Name_Metrics : constant Name_Id := N + 614; | |
Name_Naming : constant Name_Id := N + 615; | |
Name_Object_Dir : constant Name_Id := N + 616; | |
Name_Pretty_Printer : constant Name_Id := N + 617; | |
Name_Project : constant Name_Id := N + 618; | |
Name_Separate_Suffix : constant Name_Id := N + 619; | |
Name_Source_Dirs : constant Name_Id := N + 620; | |
Name_Source_Files : constant Name_Id := N + 621; | |
Name_Source_List_File : constant Name_Id := N + 622; | |
Name_Spec : constant Name_Id := N + 623; | |
Name_Spec_Suffix : constant Name_Id := N + 624; | |
Name_Specification : constant Name_Id := N + 625; | |
Name_Specification_Exceptions : constant Name_Id := N + 626; | |
Name_Specification_Suffix : constant Name_Id := N + 627; | |
Name_Switches : constant Name_Id := N + 628; | |
-- Other miscellaneous names used in front end | |
Name_Unaligned_Valid : constant Name_Id := N + 629; | |
-- ---------------------------------------------------------------- | |
First_2005_Reserved_Word : constant Name_Id := N + 630; | |
Name_Interface : constant Name_Id := N + 630; | |
Name_Overriding : constant Name_Id := N + 631; | |
Name_Synchronized : constant Name_Id := N + 632; | |
Last_2005_Reserved_Word : constant Name_Id := N + 632; | |
subtype Ada_2005_Reserved_Words is | |
Name_Id range First_2005_Reserved_Word .. Last_2005_Reserved_Word; | |
-- Mark last defined name for consistency check in Snames body | |
Last_Predefined_Name : constant Name_Id := N + 632; | |
subtype Any_Operator_Name is Name_Id range | |
First_Operator_Name .. Last_Operator_Name; | |
------------------------------ | |
-- Attribute ID Definitions -- | |
------------------------------ | |
type Attribute_Id is ( | |
Attribute_Abort_Signal, | |
Attribute_Access, | |
Attribute_Address, | |
Attribute_Address_Size, | |
Attribute_Aft, | |
Attribute_Alignment, | |
Attribute_Asm_Input, | |
Attribute_Asm_Output, | |
Attribute_AST_Entry, | |
Attribute_Bit, | |
Attribute_Bit_Order, | |
Attribute_Bit_Position, | |
Attribute_Body_Version, | |
Attribute_Callable, | |
Attribute_Caller, | |
Attribute_Code_Address, | |
Attribute_Component_Size, | |
Attribute_Compose, | |
Attribute_Constrained, | |
Attribute_Count, | |
Attribute_Default_Bit_Order, | |
Attribute_Definite, | |
Attribute_Delta, | |
Attribute_Denorm, | |
Attribute_Digits, | |
Attribute_Elaborated, | |
Attribute_Emax, | |
Attribute_Enum_Rep, | |
Attribute_Epsilon, | |
Attribute_Exponent, | |
Attribute_External_Tag, | |
Attribute_First, | |
Attribute_First_Bit, | |
Attribute_Fixed_Value, | |
Attribute_Fore, | |
Attribute_Has_Access_Values, | |
Attribute_Has_Discriminants, | |
Attribute_Identity, | |
Attribute_Img, | |
Attribute_Integer_Value, | |
Attribute_Large, | |
Attribute_Last, | |
Attribute_Last_Bit, | |
Attribute_Leading_Part, | |
Attribute_Length, | |
Attribute_Machine_Emax, | |
Attribute_Machine_Emin, | |
Attribute_Machine_Mantissa, | |
Attribute_Machine_Overflows, | |
Attribute_Machine_Radix, | |
Attribute_Machine_Rounds, | |
Attribute_Machine_Size, | |
Attribute_Mantissa, | |
Attribute_Max_Size_In_Storage_Elements, | |
Attribute_Maximum_Alignment, | |
Attribute_Mechanism_Code, | |
Attribute_Mod, | |
Attribute_Model_Emin, | |
Attribute_Model_Epsilon, | |
Attribute_Model_Mantissa, | |
Attribute_Model_Small, | |
Attribute_Modulus, | |
Attribute_Null_Parameter, | |
Attribute_Object_Size, | |
Attribute_Partition_ID, | |
Attribute_Passed_By_Reference, | |
Attribute_Pool_Address, | |
Attribute_Pos, | |
Attribute_Position, | |
Attribute_Range, | |
Attribute_Range_Length, | |
Attribute_Round, | |
Attribute_Safe_Emax, | |
Attribute_Safe_First, | |
Attribute_Safe_Large, | |
Attribute_Safe_Last, | |
Attribute_Safe_Small, | |
Attribute_Scale, | |
Attribute_Scaling, | |
Attribute_Signed_Zeros, | |
Attribute_Size, | |
Attribute_Small, | |
Attribute_Storage_Size, | |
Attribute_Storage_Unit, | |
Attribute_Stream_Size, | |
Attribute_Tag, | |
Attribute_Target_Name, | |
Attribute_Terminated, | |
Attribute_To_Address, | |
Attribute_Type_Class, | |
Attribute_UET_Address, | |
Attribute_Unbiased_Rounding, | |
Attribute_Unchecked_Access, | |
Attribute_Unconstrained_Array, | |
Attribute_Universal_Literal_String, | |
Attribute_Unrestricted_Access, | |
Attribute_VADS_Size, | |
Attribute_Val, | |
Attribute_Valid, | |
Attribute_Value_Size, | |
Attribute_Version, | |
Attribute_Wchar_T_Size, | |
Attribute_Wide_Wide_Width, | |
Attribute_Wide_Width, | |
Attribute_Width, | |
Attribute_Word_Size, | |
-- Attributes designating renamable functions | |
Attribute_Adjacent, | |
Attribute_Ceiling, | |
Attribute_Copy_Sign, | |
Attribute_Floor, | |
Attribute_Fraction, | |
Attribute_Image, | |
Attribute_Input, | |
Attribute_Machine, | |
Attribute_Max, | |
Attribute_Min, | |
Attribute_Model, | |
Attribute_Pred, | |
Attribute_Remainder, | |
Attribute_Rounding, | |
Attribute_Succ, | |
Attribute_Truncation, | |
Attribute_Value, | |
Attribute_Wide_Image, | |
Attribute_Wide_Wide_Image, | |
Attribute_Wide_Value, | |
Attribute_Wide_Wide_Value, | |
-- Attributes designating procedures | |
Attribute_Output, | |
Attribute_Read, | |
Attribute_Write, | |
-- Entity attributes (includes type attributes) | |
Attribute_Elab_Body, | |
Attribute_Elab_Spec, | |
Attribute_Storage_Pool, | |
-- Type attributes | |
Attribute_Base, | |
Attribute_Class); | |
------------------------------------ | |
-- Convention Name ID Definitions -- | |
------------------------------------ | |
type Convention_Id is ( | |
-- The conventions that are defined by the RM come first | |
Convention_Ada, | |
Convention_Intrinsic, | |
Convention_Entry, | |
Convention_Protected, | |
-- The remaining conventions are foreign language conventions | |
Convention_Assembler, -- also Asm, Assembly | |
Convention_C, -- also Default, External | |
Convention_COBOL, | |
Convention_CPP, | |
Convention_Fortran, | |
Convention_Java, | |
Convention_Stdcall, -- also DLL, Win32 | |
Convention_Stubbed); | |
-- Note: Convention C_Pass_By_Copy is allowed only for record | |
-- types (where it is treated like C except that the appropriate | |
-- flag is set in the record type). Recognizion of this convention | |
-- is specially handled in Sem_Prag. | |
for Convention_Id'Size use 8; | |
-- Plenty of space for expansion | |
subtype Foreign_Convention is | |
Convention_Id range Convention_Assembler .. Convention_Stdcall; | |
----------------------------------- | |
-- Locking Policy ID Definitions -- | |
----------------------------------- | |
type Locking_Policy_Id is ( | |
Locking_Policy_Inheritance_Locking, | |
Locking_Policy_Ceiling_Locking); | |
--------------------------- | |
-- Pragma ID Definitions -- | |
--------------------------- | |
type Pragma_Id is ( | |
-- Configuration pragmas | |
Pragma_Ada_83, | |
Pragma_Ada_95, | |
Pragma_Ada_05, | |
Pragma_C_Pass_By_Copy, | |
Pragma_Compile_Time_Warning, | |
Pragma_Component_Alignment, | |
Pragma_Convention_Identifier, | |
Pragma_Detect_Blocking, | |
Pragma_Discard_Names, | |
Pragma_Elaboration_Checks, | |
Pragma_Eliminate, | |
Pragma_Explicit_Overriding, | |
Pragma_Extend_System, | |
Pragma_Extensions_Allowed, | |
Pragma_External_Name_Casing, | |
Pragma_Float_Representation, | |
Pragma_Initialize_Scalars, | |
Pragma_Interrupt_State, | |
Pragma_License, | |
Pragma_Locking_Policy, | |
Pragma_Long_Float, | |
Pragma_No_Run_Time, | |
Pragma_No_Strict_Aliasing, | |
Pragma_Normalize_Scalars, | |
Pragma_Polling, | |
Pragma_Persistent_Data, | |
Pragma_Persistent_Object, | |
Pragma_Profile, | |
Pragma_Profile_Warnings, | |
Pragma_Propagate_Exceptions, | |
Pragma_Queuing_Policy, | |
Pragma_Ravenscar, | |
Pragma_Restricted_Run_Time, | |
Pragma_Restrictions, | |
Pragma_Restriction_Warnings, | |
Pragma_Reviewable, | |
Pragma_Source_File_Name, | |
Pragma_Source_File_Name_Project, | |
Pragma_Style_Checks, | |
Pragma_Suppress, | |
Pragma_Suppress_Exception_Locations, | |
Pragma_Task_Dispatching_Policy, | |
Pragma_Universal_Data, | |
Pragma_Unsuppress, | |
Pragma_Use_VADS_Size, | |
Pragma_Validity_Checks, | |
Pragma_Warnings, | |
-- Remaining (non-configuration) pragmas | |
Pragma_Abort_Defer, | |
Pragma_All_Calls_Remote, | |
Pragma_Annotate, | |
Pragma_Assert, | |
Pragma_Asynchronous, | |
Pragma_Atomic, | |
Pragma_Atomic_Components, | |
Pragma_Attach_Handler, | |
Pragma_Comment, | |
Pragma_Common_Object, | |
Pragma_Complex_Representation, | |
Pragma_Controlled, | |
Pragma_Convention, | |
Pragma_CPP_Class, | |
Pragma_CPP_Constructor, | |
Pragma_CPP_Virtual, | |
Pragma_CPP_Vtable, | |
Pragma_Debug, | |
Pragma_Elaborate, | |
Pragma_Elaborate_All, | |
Pragma_Elaborate_Body, | |
Pragma_Export, | |
Pragma_Export_Exception, | |
Pragma_Export_Function, | |
Pragma_Export_Object, | |
Pragma_Export_Procedure, | |
Pragma_Export_Value, | |
Pragma_Export_Valued_Procedure, | |
Pragma_External, | |
Pragma_Finalize_Storage_Only, | |
Pragma_Ident, | |
Pragma_Import, | |
Pragma_Import_Exception, | |
Pragma_Import_Function, | |
Pragma_Import_Object, | |
Pragma_Import_Procedure, | |
Pragma_Import_Valued_Procedure, | |
Pragma_Inline, | |
Pragma_Inline_Always, | |
Pragma_Inline_Generic, | |
Pragma_Inspection_Point, | |
Pragma_Interface_Name, | |
Pragma_Interrupt_Handler, | |
Pragma_Interrupt_Priority, | |
Pragma_Java_Constructor, | |
Pragma_Java_Interface, | |
Pragma_Keep_Names, | |
Pragma_Link_With, | |
Pragma_Linker_Alias, | |
Pragma_Linker_Options, | |
Pragma_Linker_Section, | |
Pragma_List, | |
Pragma_Machine_Attribute, | |
Pragma_Main, | |
Pragma_Main_Storage, | |
Pragma_Memory_Size, | |
Pragma_No_Return, | |
Pragma_Obsolescent, | |
Pragma_Optimize, | |
Pragma_Optional_Overriding, | |
Pragma_Pack, | |
Pragma_Page, | |
Pragma_Passive, | |
Pragma_Preelaborate, | |
Pragma_Priority, | |
Pragma_Psect_Object, | |
Pragma_Pure, | |
Pragma_Pure_Function, | |
Pragma_Remote_Call_Interface, | |
Pragma_Remote_Types, | |
Pragma_Share_Generic, | |
Pragma_Shared, | |
Pragma_Shared_Passive, | |
Pragma_Source_Reference, | |
Pragma_Stream_Convert, | |
Pragma_Subtitle, | |
Pragma_Suppress_All, | |
Pragma_Suppress_Debug_Info, | |
Pragma_Suppress_Initialization, | |
Pragma_System_Name, | |
Pragma_Task_Info, | |
Pragma_Task_Name, | |
Pragma_Task_Storage, | |
Pragma_Thread_Body, | |
Pragma_Time_Slice, | |
Pragma_Title, | |
Pragma_Unchecked_Union, | |
Pragma_Unimplemented_Unit, | |
Pragma_Unreferenced, | |
Pragma_Unreserve_All_Interrupts, | |
Pragma_Volatile, | |
Pragma_Volatile_Components, | |
Pragma_Weak_External, | |
-- The following pragmas are on their own, out of order, because of | |
-- the special processing required to deal with the fact that their | |
-- names match existing attribute names. | |
Pragma_AST_Entry, | |
Pragma_Interface, | |
Pragma_Storage_Size, | |
Pragma_Storage_Unit, | |
-- The value to represent an unknown or unrecognized pragma | |
Unknown_Pragma); | |
----------------------------------- | |
-- Queuing Policy ID definitions -- | |
----------------------------------- | |
type Queuing_Policy_Id is ( | |
Queuing_Policy_FIFO_Queuing, | |
Queuing_Policy_Priority_Queuing); | |
-------------------------------------------- | |
-- Task Dispatching Policy ID definitions -- | |
-------------------------------------------- | |
type Task_Dispatching_Policy_Id is ( | |
Task_Dispatching_FIFO_Within_Priorities); | |
-- Id values used to identify task dispatching policies | |
----------------- | |
-- Subprograms -- | |
----------------- | |
procedure Initialize; | |
-- Called to initialize the preset names in the names table. | |
function Is_Attribute_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of a recognized attribute | |
function Is_Entity_Attribute_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of a recognized entity attribute, | |
-- i.e. an attribute reference that returns an entity. | |
function Is_Procedure_Attribute_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of a recognized attribute that | |
-- designates a procedure (and can therefore appear as a statement). | |
function Is_Function_Attribute_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of a recognized attribute | |
-- that designates a renameable function, and can therefore appear in | |
-- a renaming statement. Note that not all attributes designating | |
-- functions are renamable, in particular, thos returning a universal | |
-- value cannot be renamed. | |
function Is_Type_Attribute_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of a recognized type attribute, | |
-- i.e. an attribute reference that returns a type | |
function Is_Check_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of a recognized suppress check | |
-- as required by pragma Suppress. | |
function Is_Convention_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of one of the recognized | |
-- language conventions, as required by pragma Convention, Import, | |
-- Export, Interface. Returns True if so. Also returns True for a | |
-- name that has been specified by a Convention_Identifier pragma. | |
-- If neither case holds, returns False. | |
function Is_Locking_Policy_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of a recognized locking policy | |
function Is_Operator_Symbol_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of an operator symbol | |
function Is_Pragma_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of a recognized pragma. Note | |
-- that pragmas AST_Entry, Storage_Size, and Storage_Unit are recognized | |
-- as pragmas by this function even though their names are separate from | |
-- the other pragma names. | |
function Is_Queuing_Policy_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of a recognized queuing policy | |
function Is_Task_Dispatching_Policy_Name (N : Name_Id) return Boolean; | |
-- Test to see if the name N is the name of a recognized task | |
-- dispatching policy. | |
function Get_Attribute_Id (N : Name_Id) return Attribute_Id; | |
-- Returns Id of attribute corresponding to given name. It is an error to | |
-- call this function with a name that is not the name of a attribute. | |
function Get_Convention_Id (N : Name_Id) return Convention_Id; | |
-- Returns Id of language convention corresponding to given name. It is an | |
-- to call this function with a name that is not the name of a convention, | |
-- or one previously given in a call to Record_Convention_Identifier. | |
function Get_Check_Id (N : Name_Id) return Check_Id; | |
-- Returns Id of suppress check corresponding to given name. It is an error | |
-- to call this function with a name that is not the name of a check. | |
function Get_Locking_Policy_Id (N : Name_Id) return Locking_Policy_Id; | |
-- Returns Id of locking policy corresponding to given name. It is an error | |
-- to call this function with a name that is not the name of a check. | |
function Get_Pragma_Id (N : Name_Id) return Pragma_Id; | |
-- Returns Id of pragma corresponding to given name. Returns Unknown_Pragma | |
-- if N is not a name of a known (Ada defined or GNAT-specific) pragma. | |
-- Note that the function also works correctly for names of pragmas that | |
-- are not in the main list of pragma Names (AST_Entry, Storage_Size, and | |
-- Storage_Unit (e.g. Name_Storage_Size returns Pragma_Storage_Size). | |
function Get_Queuing_Policy_Id (N : Name_Id) return Queuing_Policy_Id; | |
-- Returns Id of queuing policy corresponding to given name. It is an error | |
-- to call this function with a name that is not the name of a check. | |
function Get_Task_Dispatching_Policy_Id | |
(N : Name_Id) | |
return Task_Dispatching_Policy_Id; | |
-- Returns Id of task dispatching policy corresponding to given name. | |
-- It is an error to call this function with a name that is not the | |
-- name of a check. | |
procedure Record_Convention_Identifier | |
(Id : Name_Id; | |
Convention : Convention_Id); | |
-- A call to this procedure, resulting from an occurrence of a pragma | |
-- Convention_Identifier, records that from now on an occurrence of | |
-- Id will be recognized as a name for the specified convention. | |
private | |
pragma Inline (Is_Attribute_Name); | |
pragma Inline (Is_Entity_Attribute_Name); | |
pragma Inline (Is_Type_Attribute_Name); | |
pragma Inline (Is_Check_Name); | |
pragma Inline (Is_Locking_Policy_Name); | |
pragma Inline (Is_Operator_Symbol_Name); | |
pragma Inline (Is_Queuing_Policy_Name); | |
pragma Inline (Is_Pragma_Name); | |
pragma Inline (Is_Task_Dispatching_Policy_Name); | |
end Snames; |