]>
Commit | Line | Data |
---|---|---|
70482933 RK |
1 | ------------------------------------------------------------------------------ |
2 | -- -- | |
3 | -- GNAT COMPILER COMPONENTS -- | |
4 | -- -- | |
5 | -- F N A M E -- | |
6 | -- -- | |
7 | -- S p e c -- | |
8 | -- -- | |
748086b7 | 9 | -- Copyright (C) 1992-2009, Free Software Foundation, Inc. -- |
70482933 RK |
10 | -- -- |
11 | -- GNAT is free software; you can redistribute it and/or modify it under -- | |
12 | -- terms of the GNU General Public License as published by the Free Soft- -- | |
748086b7 | 13 | -- ware Foundation; either version 3, or (at your option) any later ver- -- |
70482933 RK |
14 | -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- |
15 | -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- | |
748086b7 JJ |
16 | -- or FITNESS FOR A PARTICULAR PURPOSE. -- |
17 | -- -- | |
18 | -- As a special exception under Section 7 of GPL version 3, you are granted -- | |
19 | -- additional permissions described in the GCC Runtime Library Exception, -- | |
20 | -- version 3.1, as published by the Free Software Foundation. -- | |
21 | -- -- | |
22 | -- You should have received a copy of the GNU General Public License and -- | |
23 | -- a copy of the GCC Runtime Library Exception along with this program; -- | |
24 | -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- | |
25 | -- <http://www.gnu.org/licenses/>. -- | |
70482933 RK |
26 | -- -- |
27 | -- GNAT was originally developed by the GNAT team at New York University. -- | |
71ff80dc | 28 | -- Extensive contributions were provided by Ada Core Technologies Inc. -- |
70482933 RK |
29 | -- -- |
30 | ------------------------------------------------------------------------------ | |
31 | ||
32 | -- This package, together with its child package Fname.UF define the | |
33 | -- association between source file names and unit names as defined | |
34 | -- (see package Uname for definition of format of unit names). | |
35 | ||
39f4e199 | 36 | with Namet; use Namet; |
70482933 RK |
37 | |
38 | package Fname is | |
39 | ||
40 | -- Note: this package spec does not depend on the Uname spec in the Ada | |
41 | -- sense, but the comments and description of the semantics do depend on | |
42 | -- the conventions established by Uname. | |
43 | ||
44 | --------------------------- | |
45 | -- File Name Conventions -- | |
46 | --------------------------- | |
47 | ||
48 | -- GNAT requires that there be a one to one correspondence between source | |
49 | -- file names (as used in the Osint package interface) and unit names as | |
50 | -- defined by the Uname package. This correspondence is defined by the | |
51 | -- two subprograms defined here in the Fname package. | |
52 | ||
53 | -- For full rules of file naming, see GNAT User's Guide. Note that the | |
54 | -- naming rules are affected by the presence of Source_File_Name pragmas | |
55 | -- that have been previously processed. | |
56 | ||
57 | -- Note that the file name does *not* include the directory name. The | |
58 | -- management of directories is provided by Osint, and full file names | |
59 | -- are used only for error message purposes within GNAT itself. | |
60 | ||
61 | ----------------- | |
62 | -- Subprograms -- | |
63 | ----------------- | |
64 | ||
70482933 RK |
65 | function Is_Predefined_File_Name |
66 | (Fname : File_Name_Type; | |
fbf5a39b | 67 | Renamings_Included : Boolean := True) return Boolean; |
70482933 | 68 | -- This function determines if the given file name (which must be a simple |
f53f9dd7 RD |
69 | -- file name with no directory information) is the file name for one of the |
70 | -- predefined library units (i.e. part of the Ada, System, or Interface | |
71 | -- hierarchies). Note that units in the GNAT hierarchy are not considered | |
72 | -- predefined (see Is_Internal_File_Name below). On return, Name_Buffer | |
73 | -- contains the file name. The Renamings_Included parameter indicates | |
74 | -- whether annex J renamings such as Text_IO are to be considered as | |
75 | -- predefined. If Renamings_Included is True, then Text_IO will return | |
76 | -- True, otherwise only children of Ada, Interfaces and System return True. | |
70482933 | 77 | |
fbf5a39b AC |
78 | function Is_Predefined_File_Name |
79 | (Renamings_Included : Boolean := True) return Boolean; | |
80 | -- This version is called with the file name already in Name_Buffer | |
81 | ||
70482933 RK |
82 | function Is_Internal_File_Name |
83 | (Fname : File_Name_Type; | |
2820d220 | 84 | Renamings_Included : Boolean := True) return Boolean; |
f53f9dd7 RD |
85 | -- Similar to Is_Predefined_File_Name. The internal file set is a superset |
86 | -- of the predefined file set including children of GNAT, and also children | |
87 | -- of DEC for the VMS case. | |
70482933 RK |
88 | |
89 | procedure Tree_Read; | |
90 | -- Dummy procedure (reads dummy table values from tree file) | |
91 | ||
92 | procedure Tree_Write; | |
93 | -- Writes out internal tables to current tree file using Tree_Write | |
94 | -- This is actually a dummy routine, since the relevant table is | |
95 | -- no longer used, but we retain it for now, to avoid a tree file | |
96 | -- incompatibility with the 3.13 compiler. Should be removed for | |
97 | -- the 3.14a release ??? | |
98 | ||
99 | end Fname; |