stringtranslate.com

Kit del compilador de Ámsterdam

Amsterdam Compiler Kit (ACK) es un conjunto de compiladores y una cadena de herramientas reutilizables escritos por Andrew Tanenbaum y Ceriel Jacobs, mantenidos desde 2005 por David Given. [1] Tiene interfaces para los siguientes lenguajes de programación : C , Pascal , Modula-2 , Occam y BASIC .

Historia

La notoriedad del ACK surge del hecho de que a principios de la década de 1980 fue uno de los primeros sistemas de compilación portátiles diseñados para soportar múltiples lenguajes de origen y plataformas de destino. [2] [3]

El ACK era conocido como la cadena de herramientas del compilador nativo de MINIX hasta que el espacio de usuario de MINIX fue reemplazado en gran medida por el de NetBSD (MINIX 3.2.0) y se adoptó Clang como compilador del sistema.

Originalmente era un software de código cerrado (que permitía distribuir binarios para MINIX como un caso especial), pero en abril de 2003 se lanzó bajo las licencias BSD .

Principio de funcionamiento

La máxima portabilidad se logra mediante el uso de un lenguaje intermedio que utiliza código de bytes , llamado EM . Cada interfaz de lenguaje produce archivos de objetos EM , que luego se procesan a través de varios optimizadores genéricos antes de ser traducidos por un servidor a código de máquina nativo .

ACK viene con un enlazador genérico y un bibliotecario capaz de manipular archivos en el formato basado en a.out del ACK ; Funcionará en archivos que contengan código EM y código de máquina nativo. Sin embargo, el código EM no se puede vincular al código de máquina nativo sin traducir primero el binario EM.

Procesadores de destino

Los backends ACK pueden producir código de máquina nativo para una amplia gama de CPU, incluso comenzando con CPU pequeñas de 8 bits.

* Versión 6.0

Ver también

Referencias

  1. ^ "El kit del compilador de Amsterdam". 2005.Línea de tiempo en el sitio web oficial.
  2. ^ Tanenbaum, Andrew S; van Staveren, H.; Keizer, EG; Stevenson, JW (1983). "Un práctico kit de herramientas para crear compiladores portátiles". Comunicaciones de la ACM . 26 (9): 654–660. doi :10.1145/358172.358182. hdl : 1871/2605 . S2CID  1217657.
  3. ^ AV Aho, R. Sethi y JD Ullman (1986). Compiladores: principios, técnicas y herramientas ("El libro del dragón") . Addison-Wesley. pag. 511.ISBN 0-201-10088-6.

enlaces externos