GNAT
Encyclopedia
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.
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.
. 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. 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.
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
for the Ada programming language
Ada (programming language)
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages...
which forms part of the GNU Compiler Collection
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...
. 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
Java bytecode
Java bytecode is the form of instructions that the Java virtual machine executes. Each bytecode opcode is one byte in length, although some require parameters, resulting in some multi-byte instructions. Not all of the possible 256 opcodes are used. 51 are reserved for future use...
.
GNAT for dotNET is a GNAT version that compiles from the Ada programming language to Common Language Infrastructure
Common Language Infrastructure
The Common Language Infrastructure is an open specification developed by Microsoft and standardized by ISO and ECMA that describes the executable code and runtime environment that form the core of the Microsoft .NET Framework and the free and open source implementations Mono and Portable.NET...
for the .NET Framework and the free and open source implementations Mono and Portable.NET.
History
The project started in 1992 when the United States Air ForceUnited States Air Force
The United States Air Force is the aerial warfare service branch of the United States Armed Forces and one of the American uniformed services. Initially part of the United States Army, the USAF was formed as a separate branch of the military on September 18, 1947 under the National Security Act of...
awarded New York University
New York University
New York University is a private, nonsectarian research university based in New York City. NYU's main campus is situated in the Greenwich Village section of Manhattan...
(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
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
for all development, and assigned the copyright to the Free Software Foundation
Free Software Foundation
The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to create, distribute and modify computer software...
. 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
AdaCore
AdaCore is a computer software company that provides open source software tools and expertise for the development of mission-critical, safety-critical, and security-critical software...
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
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...
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.
License
As of June 2011, the latest version of the compiler is licensed under the terms of the GNU General Public LicenseGNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
. The "GNAT GPL Edition" of the runtime is licensed under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
while the "GNAT Pro Edition" is under the GNAT Modified General Public License
GNAT Modified General Public License
The GNAT Modified General Public License is a version of the GNU General Public License specifically modified for the generic feature found in the Ada programming language.The modification is as follows:...
. All versions leading up to and including 3.15p are licensed under the GMGPL. GNAT-FSF is included within the GNU Compiler Collection
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...
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. 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.
See also
- AdaGIDEAdaGIDEAdaGIDE is an integrated development environment that is designed for use with the GNAT Ada programming language on the Microsoft Windows platform....
- GCCGNU Compiler CollectionThe GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...
- GCJ
- gfortranGFortrangfortran is the name of the GNU Fortran compiler, which is part of the GNU Compiler Collection . gfortran has replaced the g77 compiler, which stopped development before GCC version 4.0. It includes support for the Fortran 95 language and is compatible with most language extensions supported by...
- PolyORBPolyORBPolyORB is a middleware licensed using the GNAT Modified General Public License.PolyORB provides a uniform solution to build distributed applications relying either on middleware standards such as CORBA, the Ada 95 Distributed System Annex, SOAP, Web Services, or to implement application-specific...
- GNAT Programming StudioGNAT Programming StudioGNAT Programming Studio is a free multi-language integrated development environment by AdaCore. GPS uses compilers from the GNU Compiler Collection, taking its name from GNAT, the GNU compiler for the Ada programming language.GPS is cross-platform, running on Linux, Microsoft Windows and Solaris...
External links
- History of the GNAT Project
- GNAT in the GCC wiki
- The GNU Ada Project — more public versions of GNAT
- Debian Ada Policy — packaging of GNAT and other Ada programs in DebianDebianDebian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...
- Write It in Ada — Run It on the Java Virtual Machine