GNAT es un compilador de software libre para el lenguaje de programación Ada , que forma parte de la Colección de Compiladores GNU (GCC). Es compatible con todas las versiones del lenguaje: Ada 2012, Ada 2005, Ada 95 y Ada 83. Originalmente, su nombre era un acrónimo de GNU NYU Ada Translator , pero este nombre ya no se utiliza. El front-end y el entorno de ejecución están escritos en Ada.
Historia
El proyecto GNAT se inició en 1992 cuando la Fuerza Aérea de los Estados Unidos adjudicó a la Universidad de Nueva York (NYU) un contrato para desarrollar un compilador libre para Ada, con el fin de contribuir al proceso de estandarización de Ada 9X. El contrato, valorado en 3 millones de dólares, exigía el uso de la licencia GNU GPL para todo el desarrollo y cedía los derechos de autor a la Free Software Foundation . La primera validación oficial de GNAT tuvo lugar en 1995.
En 1994 y 1996, los autores originales de GNAT, Robert Dewar y Edmond Schonberg, fundaron dos empresas hermanas: Ada Core Technologies en la ciudad de Nueva York y ACT-Europe (más tarde AdaCore SAS) en París, para brindar desarrollo continuo y soporte comercial a GNAT. Ambas empresas siempre operaron como una sola entidad, pero no se unificaron formalmente hasta 2012 como AdaCore. [ 4 ]
GNAT se publicó inicialmente por separado de las fuentes principales de GCC. El 2 de octubre de 2001, las fuentes de GNAT se aportaron al repositorio CVS de GCC. [ 5 ] La última versión que se publicó por separado fue GNAT 3.15p, basada en GCC 2.8.1, el 2 de octubre de 2002. A partir de GCC 3.4, en las principales plataformas, la versión oficial de GCC puede superar el 100 % de las pruebas ACATS Ada incluidas en el conjunto de pruebas de GCC. Con GCC 4.0, plataformas menos comunes también pudieron superar el 100 % de las pruebas ACATS.
Licencia
El compilador está licenciado bajo los términos de la GNU GPL 3+ con excepción de la biblioteca de tiempo de ejecución de GCC. [ 3 ]
Todas las versiones anteriores a la 3.15p, inclusive, están licenciadas bajo la GMGPL, que ofrece excepciones de tiempo de ejecución similares. La licencia GMGPL es la GNU GPL 2 con una excepción de enlace que permite que el software con licencias incompatibles con la GPL se enlace con la salida de las bibliotecas genéricas estándar de Ada que se suministran con GNAT sin infringir el acuerdo de licencia.
Versiones
FSF GNAT forma parte de la mayoría de las principales distribuciones de Linux o BSD y está incluido en el código fuente principal de GCC.
GNAT Pro es una versión compatible de GNAT de AdaCore .
Además de FSF GNAT y GNAT Pro de AdaCore, AdaCore publica versiones adicionales (GNAT-GPL, una versión pública anterior de GNAT Pro, y GNAT GAP, una versión para los programas educativos de AdaCore). [ 6 ] Estas versiones de AdaCore no tienen excepciones de tiempo de ejecución, lo que requiere que el software vinculado con las bibliotecas estándar tenga licencias compatibles con GPL para evitar infringir el acuerdo de licencia.
JGNAT era una versión de GNAT que compilaba desde el lenguaje de programación Ada a bytecode de Java . GNAT para dotNET es una versión de GNAT que compila desde el lenguaje de programación Ada a Common Language Infrastructure para .NET Framework y las implementaciones de código abierto y gratuitas Mono y Portable.NET.
Véase también
- APSE : una especificación para un entorno de programación que permite el desarrollo de software en Ada.
- Estudio de programación GNAT
- Colección de compiladores GNU : compiladores gratuitos y de código abierto para varios lenguajes de programación.
- Perfil Ravenscar : un subconjunto de las funciones de asignación de tareas de Ada diseñadas para la computación en tiempo real estricto y de alta seguridad.
- SPARK : un lenguaje de programación que consta de un subconjunto muy restringido de Ada, anotado con metainformación que describe el comportamiento deseado de los componentes y los requisitos de tiempo de ejecución individuales.
Referencias
- ↑ "Versiones de GCC - Proyecto GNU" .
- ↑ "Notas de la versión de GNAT" . AdaCore .
- 1 2 "Excepción de la biblioteca de tiempo de ejecución de GCC" . Recuperado el 28 de febrero de 2013 .
- ↑ GNAT Pro Insider Otoño/Invierno 2014–2015, pág. 1
- ↑ Archivo de la lista de correo GCC CVS "Nuevo lenguaje: Ada"
- ↑ "Comparativa de GNAT Pro" . AdaCore . Consultado el 17 de agosto de 2021 .
Lecturas adicionales
- Miranda, Javier; Schonberg, Edmond (junio de 2004). GNAT: El compilador GNU Ada . Archivado del original el 7 de julio de 2011. Recuperado el 6 de junio de 2008 .
- Schonberg; Banner, Bernard (1994). «El proyecto GNAT» . Actas de la conferencia TRI-Ada '94 . ACM. págs. 48–57 . doi : 10.1145/197694.197706 . ISBN 0897916662. Consultado el 7 de junio de 2008 .
Enlaces externos
- Historia del proyecto GNAT
- GNAT en la wiki de GCC
- Instrucciones de instalación de FSF GNAT para las principales plataformas
- El proyecto GNU Ada : más versiones de GNAT de la FSF
- Política de Debian Ada : empaquetado de GNAT y otros programas Ada en Debian
- Escríbelo en Ada y ejecútalo en la máquina virtual de Java.
- Ada (lenguaje de programación)
- Compiladores libres y de código abierto
- Software libre programado en Ada
- Software del Proyecto GNU
- Universidad de Nueva York
- Software que utiliza la excepción de enlace GPL