GNAT
Encyclopedia
GNAT is a free-software
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 Force
United 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 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....

. 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

  • AdaGIDE
    AdaGIDE
    AdaGIDE is an integrated development environment that is designed for use with the GNAT Ada programming language on the Microsoft Windows platform....

  • GCC
    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...

    • GCJ
    • gfortran
      GFortran
      gfortran 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...

  • PolyORB
    PolyORB
    PolyORB 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 Studio
    GNAT Programming Studio
    GNAT 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

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK