Ada source within GPS |
|
Developer(s) | AdaCore and the GNU Project |
---|---|
Stable release | GNAT Pro 6.4.1 (2011-02-16) [1] GNAT GPL 2011 (2011-06-16) GNAT GAP 2011 (idem) |
Operating system | GNU/Linux, Solaris/SPARC, Microsoft Windows, Apple Mac OSX, plus others as supported by GNAT-FSF within GCC |
Type | Compiler |
License | GNU GPL (compiler; GNAT GPL's runtime) GMGPL (GNAT Pro's & GNAT-FSF's runtime) |
Website | GNAT Pro GNAT GPL GNAT GAP |
GNAT is a free-software compiler for the Ada programming language which forms part of the GNU Compiler Collection. It supports all versions of the language, i.e. Ada 2005, Ada 95 and Ada 83; it allows already some constructs of Ada 2012 (i.e. pre/postconditions or conditional expressions). Originally its name was an acronym that stood for GNU NYU Ada Translator, but that name no longer applies. The front-end and run-time are written in Ada.
JGNAT is a GNAT version that compiles from the Ada programming language to Java bytecode. GNAT for dotNET is a GNAT version that compiles from the Ada programming language to Common Language Infrastructure for the .NET Framework and the free and open source implementations Mono and Portable.NET.
Contents |
The project started in 1992 when the United States Air Force awarded New York University (NYU) a contract to build an open source compiler for Ada to help with the Ada 9X standardization process. The 3-million-dollar contract required the use of the GNU GPL for all development, and assigned the copyright to the Free Software Foundation. The first official validation of GNAT happened in 1995.
In 1994 and 1996, the original authors of GNAT founded two sister companies, Ada Core Technologies in New York City and ACT-Europe in Paris, to provide continuing development and commercial support of GNAT. Both companies were integrated and renamed to AdaCore in 2004.
GNAT was initially released separately from the main GCC sources. On October 2, 2001 the GNAT sources were contributed to the GCC CVS repository. The last version to be released separately was GNAT 3.15p, based on GCC 2.8.1, on October 2, 2002. Starting with GCC 3.4, on major platforms the official GCC release is able to pass 100% of the ACATS Ada tests included in the GCC testsuite. In GCC 4.0, more exotic platforms are also able to pass 100% of ACATS.
As of June 2011, the latest version of the compiler is licensed under the terms of the GNU General Public License. The "GNAT GPL Edition" of the runtime is licensed under the GNU General Public License while the "GNAT Pro Edition" is under the GNAT Modified General Public License. All versions leading up to and including 3.15p are licensed under the GMGPL. GNAT-FSF is included within the GNU Compiler Collection with the GMGPL license governing the runtime, it corresponds to the GNAT-GPL version of the previous year (about 9 months apart). At version 4.4, the runtime was relicensed under the GPL version 3 with the GCC Runtime Library Exception.[1] GNAT-FSF is part of most major GNU/Linux or BSD distributions.
The GMGPL license in either GNAT Pro runtime or GNAT-FSF runtime permits software that is licensed under a license that is incompatible with the GPL to be linked with the output of Ada standard generic libraries that are supplied with GNAT without breaching the license agreement. Conversely, the GPL license of either GNAT GPL runtime or GNAT GAP runtime requires software that is linked with the standard libraries to be a GPL-compatible license to avoid being in breach of the license agreement.