Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
GNAT
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Free-software compiler for the Ada programming language}} {{Other uses|Gnat (disambiguation)}} {{Multiple issues| {{More citations needed|date=July 2010}} {{More footnotes needed|date=July 2010}} }} {{Infobox software | name = GNAT | logo = Heckert GNU white.svg | screenshot = Gps.png | caption = Ada [[Source code|source]] within GPS | developer = [[New York University]] (NYU), [[AdaCore]] and the [[GNU Project]] | released = {{Start date and age|1995}} | latest release version = FSF GNAT 14.1 (2024-05-07)<ref>{{Cite web|url=https://www.gnu.org/software/gcc/releases.html|title=GCC Releases - GNU Project}}</ref> GNAT Pro 24 (2024)<ref>{{Cite web|url=https://docs.adacore.com/live/wave/gnat-release-notes/html/gnat_release_note/index.html|title=GNAT Release Notes|website=AdaCore}}</ref> | operating system = [[FreeBSD]], [[Linux]],<br />[[Solaris (operating system)|Solaris]]/[[SPARC]],<br />[[Microsoft Windows]],<br />[[Mac OS X]],<br />plus others as supported by FSF GNAT within GCC | genre = [[Compiler]] | license = [[GNU General Public License#Version 3|GNU GPL 3+]] with GCC Runtime Library Exception<ref name="GCC Runtime Library Exception">{{cite web | access-date = 2013-02-28 | url = https://www.gnu.org/licenses/gcc-exception.html | title = GCC Runtime Library Exception}}</ref> | website = {{URL|www.getadanow.com}} - FSF GNAT<br />{{URL|www.adacore.com/gnatpro/}} GNAT Pro }} '''GNAT''' is a [[free software|free-software]] [[compiler]] for the [[Ada (programming language)|Ada programming language]] which forms part of the [[GNU Compiler Collection]] (GCC). It supports all versions of the language, i.e. Ada 2012, Ada 2005, Ada 95 and Ada 83. Originally its name was an [[acronym]] that stood for '''''G'''NU '''N'''YU '''A'''da '''T'''ranslator'', but that name no longer applies. The front-end and run-time are written in Ada. == History == The GNAT project started in 1992 when the [[United States Air Force]] awarded [[New York University]] (NYU) a contract to build a [[free software|free]] compiler for Ada to help with the Ada 9X standardization process. The 3-million-dollar contract required{{citation_needed|date=December 2021}} the use of the [[GNU General Public License|GNU GPL]] for all development, and assigned the copyright to the [[Free Software Foundation]]. The first official validation of GNAT occurred in 1995. In 1994 and 1996, the original authors of GNAT {{clarify|date=December 2021}}{{who|date=July 2022}} founded two sister companies, '''Ada Core Technologies''' in New York City and ACT-Europe (later AdaCore SAS) in Paris, to provide continuing development and commercial support of GNAT. The two companies always operated as one entity, but did not formally unify until 2012 as AdaCore.<ref name="GNAT-Pro-Insider-2014-2015">[http://www.adacore.com/uploads/newsletter/GNAT_Pro_Insider_Autumn-Winter_2014-2015.pdf GNAT Pro Insider] Autumn/Winter 2014β2015, p.1</ref> GNAT was initially released separately from the main GCC sources. On October 2, 2001, the GNAT sources were contributed to the GCC [[Concurrent Versions System|CVS]] repository.<ref>[https://gcc.gnu.org/ml/gcc-cvs/2001-10/msg00028.html GCC CVS mailing list archive] "New language: Ada"</ref> 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 [[Ada Conformity Assessment Test Suite|ACATS]] Ada tests included in the GCC testsuite. By GCC 4.0, more exotic platforms were also able to pass 100% of the ACATS tests. == License == The compiler is licensed under the terms of the [[GNU General Public License#Version 3|GNU GPL 3+]] with GCC Runtime Library Exception.<ref name="GCC Runtime Library Exception"/> All versions leading up to and including 3.15p are licensed under the GMGPL offering similar runtime exceptions. The GMGPL license is GNU GPL 2 with a linking exception that permits software with licenses that are 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. == Versions == FSF GNAT is part of most major Linux or BSD distributions and is included in the main GCC Sources. GNAT Pro is a supported version of GNAT from [[AdaCore]]. In addition to FSF GNAT and AdaCore's GNAT Pro, AdaCore releases additional versions (GNAT-GPL, a public older version of GNAT Pro, and GNAT GAP, a version for AdaCore's educational programs).<ref>{{Cite web|title=GNAT Pro Comparison|url=https://www.adacore.com/gnatpro/comparison|access-date=2021-08-17|website=AdaCore|language=en}}</ref> These AdaCore versions have the runtime exceptions removed, this requires software that is linked with the standard libraries to have GPL-compatible licenses to avoid being in breach of the license agreement. '''JGNAT''' was a GNAT version that compiled 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. == See also == {{Portal|Free and open-source software}} * [[APSE]] β a specification for a programming environment to support software development in Ada * {{anli|GNAT Programming Studio}} * {{anli|GNU Compiler Collection}} * [[Ravenscar profile]] β a subset of the Ada tasking features designed for safety-critical hard real-time computing * [[SPARK (programming language)|SPARK]] β a programming language consisting of a highly restricted subset of Ada, annotated with meta-information describing desired component behavior and individual runtime requirements == References == {{Reflist|colwidth=30em}} == Further reading == *{{cite book |first1=Javier |last1=Miranda |first2=Edmond |last2=Schonberg |title = GNAT: The GNU Ada Compiler |date = June 2004 |url = https://www2.adacore.com/gap-static/GNAT_Book/html/index.htm |access-date = 2008-06-06 |archive-date = 2011-07-07 |archive-url = https://web.archive.org/web/20110707082206/https://www2.adacore.com/gap-static/GNAT_Book/html/index.htm |url-status = dead }} *{{cite conference |first11=Edmond |last1=Schonberg |first2=Bernard |last2=Banner | title = The GNAT project | year = 1994 | book-title = Proceedings of the conference on TRI-Ada '94 | publisher = ACM | pages = 48–57 | access-date = 2008-06-07 | doi = 10.1145/197694.197706 | isbn = 0897916662 | url = http://portal.acm.org/citation.cfm?id=197706 }} == External links == {{Wikibooks|Ada Programming|Installing|Finding and installing Ada}} * [https://web.archive.org/web/20240921122018/https://cs.nyu.edu/~schonber/gnat.html History of the GNAT Project] * [https://gcc.gnu.org/wiki/GNAT GNAT in the GCC wiki] * [http://www.getadanow.com FSF GNAT installation instructions for major platforms] * [http://gnuada.sourceforge.net The GNU Ada Project] — more FSF versions of GNAT * [http://people.debian.org/~lbrenta/debian-ada-policy.html Debian Ada Policy] — packaging of GNAT and other Ada programs in [[Debian]] * [https://web.archive.org/web/20120205000142/http://www.sigada.org/education/pages/jgnat.html Write It in Ada — Run It on the Java Virtual Machine] {{New York University}} {{DEFAULTSORT:Gnat}} [[Category:Ada (programming language)]] [[Category:Free and open source compilers]] [[Category:Free software programmed in Ada]] [[Category:GNU Project software]] [[Category:New York University]] [[Category:Software using the GPL linking exception]]
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Anli
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:Cite conference
(
edit
)
Template:Cite web
(
edit
)
Template:Clarify
(
edit
)
Template:Infobox software
(
edit
)
Template:Multiple issues
(
edit
)
Template:New York University
(
edit
)
Template:Other uses
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Who
(
edit
)
Template:Wikibooks
(
edit
)
Search
Search
Editing
GNAT
Add topic