1.. _About_This_Guide: 2 3About This Guide 4~~~~~~~~~~~~~~~~ 5 6.. only:: PRO 7 8 For ease of exposition, 'GNAT Pro' will be referred to simply as 9 'GNAT' in the remainder of this document. 10 11This guide describes the use of GNAT, 12a compiler and software development 13toolset for the full Ada programming language. 14It documents the features of the compiler and tools, and explains 15how to use them to build Ada applications. 16 17GNAT implements Ada 95, Ada 2005, Ada 2012, and Ada 202x, and it may also be 18invoked in Ada 83 compatibility mode. 19By default, GNAT assumes Ada 2012, but you can override with a 20compiler switch (:ref:`Compiling_Different_Versions_of_Ada`) 21to explicitly specify the language version. 22Throughout this manual, references to 'Ada' without a year suffix 23apply to all Ada versions of the language, starting with Ada 95. 24 25What This Guide Contains 26======================== 27 28This guide contains the following chapters: 29 30* :ref:`Getting_Started_with_GNAT` describes how to get started compiling 31 and running Ada programs with the GNAT Ada programming environment. 32 33* :ref:`The_GNAT_Compilation_Model` describes the compilation model used 34 by GNAT. 35 36* :ref:`Building_Executable_Programs_With_GNAT` describes how to use the 37 main GNAT tools to build executable programs, and it also gives examples of 38 using the GNU make utility with GNAT. 39 40* :ref:`GNAT_Utility_Programs` explains the various utility programs that 41 are included in the GNAT environment 42 43* :ref:`GNAT_and_Program_Execution` covers a number of topics related to 44 running, debugging, and tuning the performace of programs developed 45 with GNAT 46 47Appendices cover several additional topics: 48 49* :ref:`Platform_Specific_Information` describes the different run-time 50 library implementations and also presents information on how to use 51 GNAT on several specific platforms 52 53* :ref:`Example_of_Binder_Output_File` shows the source code for the binder 54 output file for a sample program. 55 56* :ref:`Elaboration_Order_Handling_in_GNAT` describes how GNAT helps 57 you deal with elaboration order issues. 58 59* :ref:`Inline_Assembler` shows how to use the inline assembly facility 60 in an Ada program. 61 62 63 64What You Should Know before Reading This Guide 65============================================== 66 67.. index:: Ada 95 Language Reference Manual 68 69.. index:: Ada 2005 Language Reference Manual 70 71This guide assumes a basic familiarity with the Ada 95 language, as 72described in the International Standard ANSI/ISO/IEC-8652:1995, January 731995. 74Reference manuals for Ada 95, Ada 2005, and Ada 2012 are included in 75the GNAT documentation package. 76 77 78Related Information 79=================== 80 81For further information about Ada and related tools, please refer to the 82following documents: 83 84* :title:`Ada 95 Reference Manual`, :title:`Ada 2005 Reference Manual`, and 85 :title:`Ada 2012 Reference Manual`, which contain reference 86 material for the several revisions of the Ada language standard. 87 88* :title:`GNAT Reference_Manual`, which contains all reference material for the GNAT 89 implementation of Ada. 90 91* :title:`Using GNAT Studio`, which describes the GNAT Studio 92 Integrated Development Environment. 93 94* :title:`GNAT Studio Tutorial`, which introduces the 95 main GNAT Studio features through examples. 96 97* :title:`Debugging with GDB`, 98 for all details on the use of the GNU source-level debugger. 99 100* :title:`GNU Emacs Manual`, 101 for full information on the extensible editor and programming 102 environment Emacs. 103 104 105Conventions 106=========== 107.. index:: Conventions, typographical 108 109.. index:: Typographical conventions 110 111Following are examples of the typographical and graphic conventions used 112in this guide: 113 114* ``Functions``, ``utility program names``, ``standard names``, 115 and ``classes``. 116 117* ``Option flags`` 118 119* :file:`File names` 120 121* ``Variables`` 122 123* *Emphasis* 124 125* [optional information or parameters] 126 127* Examples are described by text 128 129 :: 130 131 and then shown this way. 132 133* Commands that are entered by the user are shown as preceded by a prompt string 134 comprising the ``$`` character followed by a space. 135 136* Full file names are shown with the '/' character 137 as the directory separator; e.g., :file:`parent-dir/subdir/myfile.adb`. 138 If you are using GNAT on a Windows platform, please note that 139 the '\\' character should be used instead. 140