Articulo de referencia

Kit de compilación de Ámsterdam

El Amsterdam Compiler Kit (ACK) es un conjunto de compiladores y herramientas reorientables escritos por Andrew Tanenbaum y Ceriel Jacobs , mantenido desde 2005 por David Given ...

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

Historia

La importancia del ACK radica en que, a principios de la década de 1980, fue uno de los primeros sistemas de compilación portátiles diseñados para admitir múltiples lenguajes fuente y plataformas de destino. [ 2 ] [ 3 ]

El ACK era conocido como el conjunto de herramientas de compilación nativa de MINIX hasta que el espacio de usuario de MINIX fue reemplazado en gran medida por el de NetBSD (MINIX 3.2.0) y Clang fue adoptado como compilador del sistema.

Originalmente era software de código cerrado, distribuido inicialmente por el propio Tanenbaum, [ 4 ] posteriormente a través de UniPress Software y Transmediair Utrecht como distribuidores en América y Europa respectivamente. La distribución de los binarios del compilador para MINIX fue un caso especial en este acuerdo. [ 5 ] En abril de 2003, se publicó bajo las licencias BSD .

Principio de funcionamiento

La máxima portabilidad se logra mediante el uso de un lenguaje intermedio que utiliza bytecode , llamado EM-1 [ 6 ] o EM . Cada front-end de lenguaje produce archivos objeto EM , que luego se procesan a través de varios optimizadores genéricos antes de ser traducidos por un back-end a código máquina nativo .

ACK incluye un enlazador y un gestor de bibliotecas genéricos capaces de manipular archivos en su propio formato basado en a.out ; funciona tanto con código EM como con código máquina nativo. Sin embargo, el código EM no se puede enlazar con código máquina nativo sin traducir previamente el binario EM.

Procesadores de destino

Los sistemas backend de ACK pueden generar código máquina nativo para una amplia gama de CPU, incluso para las pequeñas CPU de 8 bits.

* Versión 6.0

Véase también

Referencias

  1. "The Amsterdam Compiler Kit" . 2005.Cronograma en el sitio web oficial.
  2. Tanenbaum, Andrew S; van Staveren, H.; Keizer, EG; Stevenson, JW (1983). "Un kit de herramientas práctico para hacer compiladores portátiles" . Communications of the 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. pág . 511. ISBN  0-201-10088-6.
  4. "The Amsterdam Compiler Kit" . Boletín del Grupo de Usuarios de UNIX de Australia . Julio de 1984. pág. 17. Consultado el 21 de octubre de 2025 . 
  5. Tanenbaum, Andrew S. (1988). MINIX para IBM PC, XT y AT . Prentice Hall. págs. xv . Recuperado el 21 de octubre de 2025 . 
  6. FOLDOC. "EM-1"