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

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
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 About This Guide
kono
parents:
diff changeset
4 ~~~~~~~~~~~~~~~~
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 .. only:: PRO
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 For ease of exposition, 'GNAT Pro' will be referred to simply as
kono
parents:
diff changeset
9 'GNAT' in the remainder of this document.
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 This guide describes the use of GNAT,
kono
parents:
diff changeset
12 a compiler and software development
kono
parents:
diff changeset
13 toolset for the full Ada programming language.
kono
parents:
diff changeset
14 It documents the features of the compiler and tools, and explains
kono
parents:
diff changeset
15 how to use them to build Ada applications.
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, but you can override with a
kono
parents:
diff changeset
20 compiler switch (:ref:`Compiling_Different_Versions_of_Ada`)
kono
parents:
diff changeset
21 to explicitly specify the language version.
kono
parents:
diff changeset
22 Throughout this manual, references to 'Ada' without a year suffix
kono
parents:
diff changeset
23 apply to all Ada 95/2005/2012 versions of the language.
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 What This Guide Contains
kono
parents:
diff changeset
26 ========================
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 This guide contains the following chapters:
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 * :ref:`Getting_Started_with_GNAT` describes how to get started compiling
kono
parents:
diff changeset
31 and running Ada programs with the GNAT Ada programming environment.
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 * :ref:`The_GNAT_Compilation_Model` describes the compilation model used
kono
parents:
diff changeset
34 by GNAT.
kono
parents:
diff changeset
35
kono
parents:
diff changeset
36 * :ref:`Building_Executable_Programs_With_GNAT` describes how to use the
kono
parents:
diff changeset
37 main GNAT tools to build executable programs, and it also gives examples of
kono
parents:
diff changeset
38 using the GNU make utility with GNAT.
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 * :ref:`GNAT_Utility_Programs` explains the various utility programs that
kono
parents:
diff changeset
41 are included in the GNAT environment
kono
parents:
diff changeset
42
kono
parents:
diff changeset
43 * :ref:`GNAT_and_Program_Execution` covers a number of topics related to
kono
parents:
diff changeset
44 running, debugging, and tuning the performace of programs developed
kono
parents:
diff changeset
45 with GNAT
kono
parents:
diff changeset
46
kono
parents:
diff changeset
47 Appendices cover several additional topics:
kono
parents:
diff changeset
48
kono
parents:
diff changeset
49 * :ref:`Platform_Specific_Information` describes the different run-time
kono
parents:
diff changeset
50 library implementations and also presents information on how to use
kono
parents:
diff changeset
51 GNAT on several specific platforms
kono
parents:
diff changeset
52
kono
parents:
diff changeset
53 * :ref:`Example_of_Binder_Output_File` shows the source code for the binder
kono
parents:
diff changeset
54 output file for a sample program.
kono
parents:
diff changeset
55
kono
parents:
diff changeset
56 * :ref:`Elaboration_Order_Handling_in_GNAT` describes how GNAT helps
kono
parents:
diff changeset
57 you deal with elaboration order issues.
kono
parents:
diff changeset
58
kono
parents:
diff changeset
59 * :ref:`Inline_Assembler` shows how to use the inline assembly facility
kono
parents:
diff changeset
60 in an Ada program.
kono
parents:
diff changeset
61
kono
parents:
diff changeset
62
kono
parents:
diff changeset
63
kono
parents:
diff changeset
64 What You Should Know before Reading This Guide
kono
parents:
diff changeset
65 ==============================================
kono
parents:
diff changeset
66
kono
parents:
diff changeset
67 .. index:: Ada 95 Language Reference Manual
kono
parents:
diff changeset
68
kono
parents:
diff changeset
69 .. index:: Ada 2005 Language Reference Manual
kono
parents:
diff changeset
70
kono
parents:
diff changeset
71 This guide assumes a basic familiarity with the Ada 95 language, as
kono
parents:
diff changeset
72 described in the International Standard ANSI/ISO/IEC-8652:1995, January
kono
parents:
diff changeset
73 1995.
kono
parents:
diff changeset
74 It does not require knowledge of the features introduced by Ada 2005
kono
parents:
diff changeset
75 or Ada 2012.
kono
parents:
diff changeset
76 Reference manuals for Ada 95, Ada 2005, and Ada 2012 are included in
kono
parents:
diff changeset
77 the GNAT documentation package.
kono
parents:
diff changeset
78
kono
parents:
diff changeset
79
kono
parents:
diff changeset
80 Related Information
kono
parents:
diff changeset
81 ===================
kono
parents:
diff changeset
82
kono
parents:
diff changeset
83 For further information about Ada and related tools, please refer to the
kono
parents:
diff changeset
84 following documents:
kono
parents:
diff changeset
85
kono
parents:
diff changeset
86 * :title:`Ada 95 Reference Manual`, :title:`Ada 2005 Reference Manual`, and
kono
parents:
diff changeset
87 :title:`Ada 2012 Reference Manual`, which contain reference
kono
parents:
diff changeset
88 material for the several revisions of the Ada language standard.
kono
parents:
diff changeset
89
kono
parents:
diff changeset
90 * :title:`GNAT Reference_Manual`, which contains all reference material for the GNAT
kono
parents:
diff changeset
91 implementation of Ada.
kono
parents:
diff changeset
92
kono
parents:
diff changeset
93 * :title:`Using the GNAT Programming Studio`, which describes the GPS
kono
parents:
diff changeset
94 Integrated Development Environment.
kono
parents:
diff changeset
95
kono
parents:
diff changeset
96 * :title:`GNAT Programming Studio Tutorial`, which introduces the
kono
parents:
diff changeset
97 main GPS features through examples.
kono
parents:
diff changeset
98
kono
parents:
diff changeset
99 * :title:`Debugging with GDB`,
kono
parents:
diff changeset
100 for all details on the use of the GNU source-level debugger.
kono
parents:
diff changeset
101
kono
parents:
diff changeset
102 * :title:`GNU Emacs Manual`,
kono
parents:
diff changeset
103 for full information on the extensible editor and programming
kono
parents:
diff changeset
104 environment Emacs.
kono
parents:
diff changeset
105
kono
parents:
diff changeset
106
kono
parents:
diff changeset
107 A Note to Readers of Previous Versions of the Manual
kono
parents:
diff changeset
108 ====================================================
kono
parents:
diff changeset
109
kono
parents:
diff changeset
110 In early 2015 the GNAT manuals were transitioned to the
kono
parents:
diff changeset
111 reStructuredText (rst) / Sphinx documentation generator technology.
kono
parents:
diff changeset
112 During that process the :title:`GNAT User's Guide` was reorganized
kono
parents:
diff changeset
113 so that related topics would be described together in the same chapter
kono
parents:
diff changeset
114 or appendix. Here's a summary of the major changes realized in
kono
parents:
diff changeset
115 the new document structure.
kono
parents:
diff changeset
116
kono
parents:
diff changeset
117 * :ref:`The_GNAT_Compilation_Model` has been extended so that it now covers
kono
parents:
diff changeset
118 the following material:
kono
parents:
diff changeset
119
kono
parents:
diff changeset
120 - The ``gnatname``, ``gnatkr``, and ``gnatchop`` tools
kono
parents:
diff changeset
121 - :ref:`Configuration_Pragmas`
kono
parents:
diff changeset
122 - :ref:`GNAT_and_Libraries`
kono
parents:
diff changeset
123 - :ref:`Conditional_Compilation` including :ref:`Preprocessing_with_gnatprep`
kono
parents:
diff changeset
124 and :ref:`Integrated_Preprocessing`
kono
parents:
diff changeset
125 - :ref:`Generating_Ada_Bindings_for_C_and_C++_headers`
kono
parents:
diff changeset
126 - :ref:`Using_GNAT_Files_with_External_Tools`
kono
parents:
diff changeset
127
kono
parents:
diff changeset
128 * :ref:`Building_Executable_Programs_With_GNAT` is a new chapter consolidating
kono
parents:
diff changeset
129 the following content:
kono
parents:
diff changeset
130
kono
parents:
diff changeset
131 - :ref:`The_GNAT_Make_Program_gnatmake`
kono
parents:
diff changeset
132 - :ref:`Compiling_with_GCC`
kono
parents:
diff changeset
133 - :ref:`Binding_with_gnatbind`
kono
parents:
diff changeset
134 - :ref:`Linking_with_gnatlink`
kono
parents:
diff changeset
135 - :ref:`Using_the_GNU_make_Utility`
kono
parents:
diff changeset
136
kono
parents:
diff changeset
137 * :ref:`GNAT_Utility_Programs` is a new chapter consolidating the information about several
kono
parents:
diff changeset
138 GNAT tools:
kono
parents:
diff changeset
139
kono
parents:
diff changeset
140 .. only:: PRO or GPL
kono
parents:
diff changeset
141
kono
parents:
diff changeset
142 - :ref:`The_File_Cleanup_Utility_gnatclean`
kono
parents:
diff changeset
143 - :ref:`The_GNAT_Library_Browser_gnatls`
kono
parents:
diff changeset
144 - :ref:`The_Cross-Referencing_Tools_gnatxref_and_gnatfind`
kono
parents:
diff changeset
145 - :ref:`The_Ada_to_HTML_Converter_gnathtml`
kono
parents:
diff changeset
146 - :ref:`The_Ada-to-XML_Converter_gnat2xml`
kono
parents:
diff changeset
147 - :ref:`The_Coding_Standard_Verifier_gnatcheck`
kono
parents:
diff changeset
148 - :ref:`The_GNAT_Metrics_Tool_gnatmetric`
kono
parents:
diff changeset
149 - :ref:`The_GNAT_Pretty-Printer_gnatpp`
kono
parents:
diff changeset
150 - :ref:`The_Body_Stub_Generator_gnatstub`
kono
parents:
diff changeset
151 - :ref:`The_Unit_Test_Generator_gnattest`
kono
parents:
diff changeset
152
kono
parents:
diff changeset
153 .. only:: FSF
kono
parents:
diff changeset
154
kono
parents:
diff changeset
155 - :ref:`The_File_Cleanup_Utility_gnatclean`
kono
parents:
diff changeset
156 - :ref:`The_GNAT_Library_Browser_gnatls`
kono
parents:
diff changeset
157 - :ref:`The_Cross-Referencing_Tools_gnatxref_and_gnatfind`
kono
parents:
diff changeset
158 - :ref:`The_Ada_to_HTML_Converter_gnathtml`
kono
parents:
diff changeset
159
kono
parents:
diff changeset
160 * :ref:`GNAT_and_Program_Execution` is a new chapter consolidating the following:
kono
parents:
diff changeset
161
kono
parents:
diff changeset
162 - :ref:`Running_and_Debugging_Ada_Programs`
kono
parents:
diff changeset
163 - :ref:`Code_Coverage_and_Profiling`
kono
parents:
diff changeset
164 - :ref:`Improving_Performance`
kono
parents:
diff changeset
165 - :ref:`Overflow Check Handling in GNAT <Overflow_Check_Handling_in_GNAT>`
kono
parents:
diff changeset
166 - :ref:`Performing Dimensionality Analysis in GNAT <Performing_Dimensionality_Analysis_in_GNAT>`
kono
parents:
diff changeset
167 - :ref:`Stack_Related_Facilities`
kono
parents:
diff changeset
168 - :ref:`Memory_Management_Issues`
kono
parents:
diff changeset
169
kono
parents:
diff changeset
170 * :ref:`Platform_Specific_Information` is a new appendix consolidating the following:
kono
parents:
diff changeset
171
kono
parents:
diff changeset
172 - :ref:`Run_Time_Libraries`
kono
parents:
diff changeset
173 - :ref:`Microsoft_Windows_Topics`
kono
parents:
diff changeset
174 - :ref:`Mac_OS_Topics`
kono
parents:
diff changeset
175
kono
parents:
diff changeset
176 * The *Compatibility and Porting Guide* appendix has been moved to the
kono
parents:
diff changeset
177 :title:`GNAT Reference Manual`. It now includes a section
kono
parents:
diff changeset
178 *Writing Portable Fixed-Point Declarations* which was previously
kono
parents:
diff changeset
179 a separate chapter in the :title:`GNAT User's Guide`.
kono
parents:
diff changeset
180
kono
parents:
diff changeset
181
kono
parents:
diff changeset
182 Conventions
kono
parents:
diff changeset
183 ===========
kono
parents:
diff changeset
184 .. index:: Conventions, typographical
kono
parents:
diff changeset
185
kono
parents:
diff changeset
186 .. index:: Typographical conventions
kono
parents:
diff changeset
187
kono
parents:
diff changeset
188 Following are examples of the typographical and graphic conventions used
kono
parents:
diff changeset
189 in this guide:
kono
parents:
diff changeset
190
kono
parents:
diff changeset
191 * ``Functions``, ``utility program names``, ``standard names``,
kono
parents:
diff changeset
192 and ``classes``.
kono
parents:
diff changeset
193
kono
parents:
diff changeset
194 * ``Option flags``
kono
parents:
diff changeset
195
kono
parents:
diff changeset
196 * :file:`File names`
kono
parents:
diff changeset
197
kono
parents:
diff changeset
198 * ``Variables``
kono
parents:
diff changeset
199
kono
parents:
diff changeset
200 * *Emphasis*
kono
parents:
diff changeset
201
kono
parents:
diff changeset
202 * [optional information or parameters]
kono
parents:
diff changeset
203
kono
parents:
diff changeset
204 * Examples are described by text
kono
parents:
diff changeset
205
kono
parents:
diff changeset
206 ::
kono
parents:
diff changeset
207
kono
parents:
diff changeset
208 and then shown this way.
kono
parents:
diff changeset
209
kono
parents:
diff changeset
210 * Commands that are entered by the user are shown as preceded by a prompt string
kono
parents:
diff changeset
211 comprising the ``$`` character followed by a space.
kono
parents:
diff changeset
212
kono
parents:
diff changeset
213 * Full file names are shown with the '/' character
kono
parents:
diff changeset
214 as the directory separator; e.g., :file:`parent-dir/subdir/myfile.adb`.
kono
parents:
diff changeset
215 If you are using GNAT on a Windows platform, please note that
kono
parents:
diff changeset
216 the '\\' character should be used instead.