GNAT
# GNAT

GNAT ist der Ada-Compiler des GNU-Projektes. Ursprünglich war der Name ein Akronym für GNU NYU Ada Translator, dies gilt heute allerdings nicht mehr. Eine Besonderheit von GNAT ist, dass sowohl das Frontend als auch die Laufzeitbibliotheken vollständig in Ada geschrieben sind. Als Backend nutzt GNAT Komponenten der GNU Compiler Collection, deren Bestandteile daher zur Laufzeit verfügbar sein müssen.

Der Compiler wird unter den Bedingungen der GNU General Public License (GPL) vertrieben. Die Laufzeitbibliotheken unterliegen einem dualen Lizenzierungsmodell. Entweder findet die GPL (GNAT GPL Edition von AdaCore), oder die GNAT Modified General Public License (GCC, GNAT Pro), neuerdings die GCC Runtime Library Exception Anwendung. GNAT ist über die offiziellen Repositorys aller größeren Linux-Distributionen verfügbar, ebenso über die FreeBSD-Ports.

## Kompilierung auf JVM

jGNAT war eine GNAT-Version, welche JVM-Bytecode aus Ada-Quellen erzeugt. Ihre Entwicklung stockte, wurde aber 2008 von AdaCore wieder aufgenommen und zur Ada-Java Interfacing Suite (AJIS) weiterentwickelt und mit zusätzlichen Funktionen zum Interfacing mit Java ausgestattet. Sie wird in der GPL-Edition von GNAT Libre 2009 unter GPL auch zur Entwicklung von FLOSS zur Verfügung stehen. 2013 ist die GPL-Edition für die JVM auf Windows herausgegeben worden.

## Geschichte

Das Projekt startete im Jahr 1992, als die United States Air Force die New York University (NYU) beauftragte, einen quelloffenen und frei verfügbaren Compiler zu entwickeln, um die Standardisierung der Ada-9x-Spezifikation zu unterstützen. Der Drei-Millionen-Dollar-Vertrag mit der Universität verlangte eine Publikation des Quellcodes unter GNU GPL und die Abgabe der Rechte an die Free Software Foundation. Im Jahr 1995 wurde GNAT erstmals validiert und war damit die erste freie Referenzimplementierung von Ada 95.

In den Jahren 1994 und 1996 gründeten die ursprünglichen GNAT-Entwickler zwei Firmen, Core Technologies in New York City und ACT-Europe in Paris, um GNAT fortlaufend weiterzuentwickeln und kommerzielle Unterstützung für Firmen anzubieten. Im Jahr 2004 fusionierten die beiden Unternehmen und firmieren seitdem als AdaCore.

Die GNAT-Quelltexte wurden anfangs getrennt von den GCC-Quellen bereitgestellt. Erst seit dem 2. Oktober 2001 sind die GNAT-Programmteile im GCC-CVS-Repository enthalten. Die letzte eigenständige GNAT-Veröffentlichung war GNAT 3.15p, welche auf GCC 2.8.1 aufsetzte und am 2. Oktober 2002 das Licht der Öffentlichkeit erblickte. Angefangen bei GCC 3.4, erreichten alle folgenden Versionen der GNU Compiler Collection 100 % des Ada-Standardisierungstests ACATS auf den offiziell unterstützten Architekturen. Ab GCC 4.0 gelang es sogar mehreren exotischen Architekturversionen 100 % im ACATS zu erreichen.

