annotate gcc/ada/doc/gnat_rm/about_this_guide.rst @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 .. _About_This_Guide:
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 ****************
kono
parents:
diff changeset
4 About This Guide
kono
parents:
diff changeset
5 ****************
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 .. only:: PRO
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 For ease of exposition, 'GNAT Pro' will be referred to simply as
kono
parents:
diff changeset
10 'GNAT' in the remainder of this document.
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 This manual contains useful information in writing programs using the
kono
parents:
diff changeset
13 GNAT compiler. It includes information on implementation dependent
kono
parents:
diff changeset
14 characteristics of GNAT, including all the information required by
kono
parents:
diff changeset
15 Annex M of the Ada language standard.
kono
parents:
diff changeset
16
kono
parents:
diff changeset
17 GNAT implements Ada 95, Ada 2005 and Ada 2012, and it may also be
kono
parents:
diff changeset
18 invoked in Ada 83 compatibility mode.
kono
parents:
diff changeset
19 By default, GNAT assumes Ada 2012,
kono
parents:
diff changeset
20 but you can override with a compiler switch
kono
parents:
diff changeset
21 to explicitly specify the language version.
kono
parents:
diff changeset
22 (Please refer to the *GNAT User's Guide* for details on these switches.)
kono
parents:
diff changeset
23 Throughout this manual, references to 'Ada' without a year suffix
kono
parents:
diff changeset
24 apply to all the Ada versions of the language.
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 Ada is designed to be highly portable.
kono
parents:
diff changeset
27 In general, a program will have the same effect even when compiled by
kono
parents:
diff changeset
28 different compilers on different platforms.
kono
parents:
diff changeset
29 However, since Ada is designed to be used in a
kono
parents:
diff changeset
30 wide variety of applications, it also contains a number of system
kono
parents:
diff changeset
31 dependent features to be used in interfacing to the external world.
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 .. index:: Implementation-dependent features
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 .. index:: Portability
kono
parents:
diff changeset
36
kono
parents:
diff changeset
37 Note: Any program that makes use of implementation-dependent features
kono
parents:
diff changeset
38 may be non-portable. You should follow good programming practice and
kono
parents:
diff changeset
39 isolate and clearly document any sections of your program that make use
kono
parents:
diff changeset
40 of these features in a non-portable manner.
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 What This Reference Manual Contains
kono
parents:
diff changeset
43 ===================================
kono
parents:
diff changeset
44
kono
parents:
diff changeset
45 This reference manual contains the following chapters:
kono
parents:
diff changeset
46
kono
parents:
diff changeset
47 * :ref:`Implementation_Defined_Pragmas`, lists GNAT implementation-dependent
kono
parents:
diff changeset
48 pragmas, which can be used to extend and enhance the functionality of the
kono
parents:
diff changeset
49 compiler.
kono
parents:
diff changeset
50
kono
parents:
diff changeset
51 * :ref:`Implementation_Defined_Attributes`, lists GNAT
kono
parents:
diff changeset
52 implementation-dependent attributes, which can be used to extend and
kono
parents:
diff changeset
53 enhance the functionality of the compiler.
kono
parents:
diff changeset
54
kono
parents:
diff changeset
55 * :ref:`Standard_and_Implementation_Defined_Restrictions`, lists GNAT
kono
parents:
diff changeset
56 implementation-dependent restrictions, which can be used to extend and
kono
parents:
diff changeset
57 enhance the functionality of the compiler.
kono
parents:
diff changeset
58
kono
parents:
diff changeset
59 * :ref:`Implementation_Advice`, provides information on generally
kono
parents:
diff changeset
60 desirable behavior which are not requirements that all compilers must
kono
parents:
diff changeset
61 follow since it cannot be provided on all systems, or which may be
kono
parents:
diff changeset
62 undesirable on some systems.
kono
parents:
diff changeset
63
kono
parents:
diff changeset
64 * :ref:`Implementation_Defined_Characteristics`, provides a guide to
kono
parents:
diff changeset
65 minimizing implementation dependent features.
kono
parents:
diff changeset
66
kono
parents:
diff changeset
67 * :ref:`Intrinsic_Subprograms`, describes the intrinsic subprograms
kono
parents:
diff changeset
68 implemented by GNAT, and how they can be imported into user
kono
parents:
diff changeset
69 application programs.
kono
parents:
diff changeset
70
kono
parents:
diff changeset
71 * :ref:`Representation_Clauses_and_Pragmas`, describes in detail the
kono
parents:
diff changeset
72 way that GNAT represents data, and in particular the exact set
kono
parents:
diff changeset
73 of representation clauses and pragmas that is accepted.
kono
parents:
diff changeset
74
kono
parents:
diff changeset
75 * :ref:`Standard_Library_Routines`, provides a listing of packages and a
kono
parents:
diff changeset
76 brief description of the functionality that is provided by Ada's
kono
parents:
diff changeset
77 extensive set of standard library routines as implemented by GNAT.
kono
parents:
diff changeset
78
kono
parents:
diff changeset
79 * :ref:`The_Implementation_of_Standard_I/O`, details how the GNAT
kono
parents:
diff changeset
80 implementation of the input-output facilities.
kono
parents:
diff changeset
81
kono
parents:
diff changeset
82 * :ref:`The_GNAT_Library`, is a catalog of packages that complement
kono
parents:
diff changeset
83 the Ada predefined library.
kono
parents:
diff changeset
84
kono
parents:
diff changeset
85 * :ref:`Interfacing_to_Other_Languages`, describes how programs
kono
parents:
diff changeset
86 written in Ada using GNAT can be interfaced to other programming
kono
parents:
diff changeset
87 languages.
kono
parents:
diff changeset
88
kono
parents:
diff changeset
89 * :ref:`Specialized_Needs_Annexes`, describes the GNAT implementation of all
kono
parents:
diff changeset
90 of the specialized needs annexes.
kono
parents:
diff changeset
91
kono
parents:
diff changeset
92 * :ref:`Implementation_of_Specific_Ada_Features`, discusses issues related
kono
parents:
diff changeset
93 to GNAT's implementation of machine code insertions, tasking, and several
kono
parents:
diff changeset
94 other features.
kono
parents:
diff changeset
95
kono
parents:
diff changeset
96 * :ref:`Implementation_of_Ada_2012_Features`, describes the status of the
kono
parents:
diff changeset
97 GNAT implementation of the Ada 2012 language standard.
kono
parents:
diff changeset
98
kono
parents:
diff changeset
99 * :ref:`Obsolescent_Features` documents implementation dependent features,
kono
parents:
diff changeset
100 including pragmas and attributes, which are considered obsolescent, since
kono
parents:
diff changeset
101 there are other preferred ways of achieving the same results. These
kono
parents:
diff changeset
102 obsolescent forms are retained for backwards compatibility.
kono
parents:
diff changeset
103
kono
parents:
diff changeset
104 * :ref:`Compatibility_and_Porting_Guide` presents some guidelines for
kono
parents:
diff changeset
105 developing portable Ada code, describes the compatibility issues that
kono
parents:
diff changeset
106 may arise between GNAT and other Ada compilation systems (including those
kono
parents:
diff changeset
107 for Ada 83), and shows how GNAT can expedite porting applications
kono
parents:
diff changeset
108 developed in other Ada environments.
kono
parents:
diff changeset
109
kono
parents:
diff changeset
110 * :ref:`gnu_fdl` contains the license for this document.
kono
parents:
diff changeset
111
kono
parents:
diff changeset
112 .. index:: Ada 95 Language Reference Manual
kono
parents:
diff changeset
113
kono
parents:
diff changeset
114 .. index:: Ada 2005 Language Reference Manual
kono
parents:
diff changeset
115
kono
parents:
diff changeset
116 This reference manual assumes a basic familiarity with the Ada 95 language, as
kono
parents:
diff changeset
117 described in the
kono
parents:
diff changeset
118 :title:`International Standard ANSI/ISO/IEC-8652:1995`.
kono
parents:
diff changeset
119 It does not require knowledge of the new features introduced by Ada 2005 or
kono
parents:
diff changeset
120 Ada 2012.
kono
parents:
diff changeset
121 All three reference manuals are included in the GNAT documentation
kono
parents:
diff changeset
122 package.
kono
parents:
diff changeset
123
kono
parents:
diff changeset
124 Conventions
kono
parents:
diff changeset
125 ===========
kono
parents:
diff changeset
126 .. index:: Conventions, typographical
kono
parents:
diff changeset
127
kono
parents:
diff changeset
128 .. index:: Typographical conventions
kono
parents:
diff changeset
129
kono
parents:
diff changeset
130 Following are examples of the typographical and graphic conventions used
kono
parents:
diff changeset
131 in this guide:
kono
parents:
diff changeset
132
kono
parents:
diff changeset
133 * ``Functions``, ``utility program names``, ``standard names``,
kono
parents:
diff changeset
134 and ``classes``.
kono
parents:
diff changeset
135
kono
parents:
diff changeset
136 * ``Option flags``
kono
parents:
diff changeset
137
kono
parents:
diff changeset
138 * :file:`File names`
kono
parents:
diff changeset
139
kono
parents:
diff changeset
140 * ``Variables``
kono
parents:
diff changeset
141
kono
parents:
diff changeset
142 * *Emphasis*
kono
parents:
diff changeset
143
kono
parents:
diff changeset
144 * [optional information or parameters]
kono
parents:
diff changeset
145
kono
parents:
diff changeset
146 * Examples are described by text
kono
parents:
diff changeset
147
kono
parents:
diff changeset
148 ::
kono
parents:
diff changeset
149
kono
parents:
diff changeset
150 and then shown this way.
kono
parents:
diff changeset
151
kono
parents:
diff changeset
152 * Commands that are entered by the user are shown as preceded by a prompt string
kono
parents:
diff changeset
153 comprising the ``$`` character followed by a space.
kono
parents:
diff changeset
154
kono
parents:
diff changeset
155 Related Information
kono
parents:
diff changeset
156 ===================
kono
parents:
diff changeset
157
kono
parents:
diff changeset
158 See the following documents for further information on GNAT:
kono
parents:
diff changeset
159
kono
parents:
diff changeset
160 * :title:`GNAT User's Guide for Native Platforms`,
kono
parents:
diff changeset
161 which provides information on how to use the
kono
parents:
diff changeset
162 GNAT development environment.
kono
parents:
diff changeset
163
kono
parents:
diff changeset
164 * :title:`Ada 95 Reference Manual`, the Ada 95 programming language standard.
kono
parents:
diff changeset
165
kono
parents:
diff changeset
166 * :title:`Ada 95 Annotated Reference Manual`, which is an annotated version
kono
parents:
diff changeset
167 of the Ada 95 standard. The annotations describe
kono
parents:
diff changeset
168 detailed aspects of the design decision, and in particular contain useful
kono
parents:
diff changeset
169 sections on Ada 83 compatibility.
kono
parents:
diff changeset
170
kono
parents:
diff changeset
171 * :title:`Ada 2005 Reference Manual`, the Ada 2005 programming language standard.
kono
parents:
diff changeset
172
kono
parents:
diff changeset
173 * :title:`Ada 2005 Annotated Reference Manual`, which is an annotated version
kono
parents:
diff changeset
174 of the Ada 2005 standard. The annotations describe
kono
parents:
diff changeset
175 detailed aspects of the design decision.
kono
parents:
diff changeset
176
kono
parents:
diff changeset
177 * :title:`Ada 2012 Reference Manual`, the Ada 2012 programming language standard.
kono
parents:
diff changeset
178
kono
parents:
diff changeset
179 * :title:`DEC Ada, Technical Overview and Comparison on DIGITAL Platforms`,
kono
parents:
diff changeset
180 which contains specific information on compatibility between GNAT and
kono
parents:
diff changeset
181 DEC Ada 83 systems.
kono
parents:
diff changeset
182
kono
parents:
diff changeset
183 * :title:`DEC Ada, Language Reference Manual`, part number AA-PYZAB-TK, which
kono
parents:
diff changeset
184 describes in detail the pragmas and attributes provided by the DEC Ada 83
kono
parents:
diff changeset
185 compiler system.