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, es decir, Ada 2012, Ada 2005, Ada 95 y Ada 83. Originalmente, su nombre era un acrónimo de GNU N YU A da T ranslator , pero ese nombre ya no se aplica. El front-end y el entorno de ejecución están escritos en Ada .
Historia
El proyecto GNAT comenzó en 1992 cuando la Fuerza Aérea de los Estados Unidos le otorgó a la Universidad de Nueva York (NYU) un contrato para construir un compilador libre para Ada con el fin de ayudar con el proceso de estandarización de Ada 9X. El contrato de 3 millones de dólares requería [ cita requerida ] el uso de la GNU GPL para todo el desarrollo y asignaba los derechos de autor a la Free Software Foundation . La primera validación oficial de GNAT ocurrió en 1995.
En 1994 y 1996, los autores originales de GNAT [ aclaración necesaria ] [ ¿quiénes? ] fundaron dos empresas hermanas, Ada Core Technologies en la ciudad de Nueva York y ACT-Europe (posteriormente AdaCore SAS) en París, para continuar brindando soporte comercial y de desarrollo de GNAT. Las dos empresas siempre funcionaron 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 agregaron 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 pasar el 100% de las pruebas ACATS Ada incluidas en el conjunto de pruebas de GCC. En GCC 4.0, las plataformas más exóticas también pudieron pasar el 100% de las pruebas ACATS.
Licencia
El compilador está licenciado bajo los términos de la GNU GPL 3+ con excepción de biblioteca de ejecución GCC. [3]
Todas las versiones anteriores a la 3.15p inclusive tienen licencia GMGPL, que ofrece excepciones de tiempo de ejecución similares. La licencia GMGPL es 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 es parte de la mayoría de las distribuciones principales de Linux o BSD y está incluido en las fuentes principales de GCC.
GNAT Pro es una versión compatible de GNAT de AdaCore .
Además de FSF GNAT y GNAT Pro de AdaCore, AdaCore lanza 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 tienen las excepciones de tiempo de ejecución eliminadas, esto requiere que el software que está 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 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 gratuitas y de código abierto Mono y Portable.NET.
Véase también
- APSE : una especificación para un entorno de programación que respalde el desarrollo de software en Ada
- Estudio de programación GNAT
- Colección de compiladores GNU : compilador gratuito 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 crítica para la seguridad
- SPARK : un lenguaje de programación que consta de un subconjunto altamente 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
- ^ "Lanzamientos de GCC - Proyecto GNU".
- ^ "Notas de la versión de GNAT". AdaCore .
- ^ ab "Excepción de la biblioteca de tiempo de ejecución de GCC" . Consultado el 28 de febrero de 2013 .
- ^ GNAT Pro Insider Otoño/Invierno 2014-2015, pág. 1
- ^ Archivo de la lista de correo CVS del GCC "Nuevo idioma: Ada"
- ^ "Comparación de GNAT Pro". AdaCore . Consultado el 17 de agosto de 2021 .
Lectura adicional
- Miranda, Javier; Schonberg, Edmond (junio de 2004). GNAT: El compilador GNU Ada. Archivado desde el original el 7 de julio de 2011. Consultado el 6 de junio de 2008 .
- Schonberg; Banner, Bernard (1994). "El proyecto GNAT". Actas de la conferencia sobre 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 del CCG
- Instrucciones de instalación de FSF GNAT para las principales plataformas
- El Proyecto GNU Ada: más versiones FSF de GNAT
- Política Ada de Debian: empaquetado de GNAT y otros programas Ada en Debian
- Escríbalo en Ada: ejecútelo en la máquina virtual de Java