The Amsterdam Compiler Kit

6.0 pre3 BSD License    
2.5/5 16
The Amsterdam Compiler Kit is a fast, lightweight and retargetable compiler suite and toolchain.




The Amsterdam Compiler Kit or in short just ACK, is a fast, lightweight and retargetable compiler suite and toolchain written by Andrew Tanenbaum and Ceriel Jacobs, and was Minix' native toolchain. The ACK was originally closed-source software (that allowed binaries to be distributed for Minix as a special case), but in April 2003 it was released under a BSD open source license.

The ACK achieves maximum portability by using an intermediate byte-code language called EM. Each language front-end produces EM object files, which are then processed through a number of generic optimisers before being translated by a back-end into native machine code.

Unlike gcc's intermediate language, EM is a real programming language and could be implemented in hardware; a number of the language front-ends have libraries implemented in EM assembly. EM is a relatively high-level stack-based machine, and one of the tools supplied with ACK is an interpreter capable of executing EM binaries directly, with a high degree of safety checking. See the em document referenced below for more information.

ACK comes with a generic linker and librarian capable of manipulating files in the ACK's own a.out-based format; it will work on files containing EM code as well as native machine code. (You can not, however, link EM code to native machine code without translating the EM binary first.)


To install the ACK, you need to download the source package and compile it.

Version 5.6 compiles cleanly on Linux, but it has had little testing so far. The installation instructions are complex but straightforward provided you follow the instructions. Please read the README; it provides a detailed walk-through of the compilation process, telling you what to type at each stage.

What's New in This Release:

Support has been added for generating CP/M binaries using the 8080 code generator.
The various optimisers have been beaten into shape, and it's now possible to use them on all platforms; a basic peephole optimiser has been set up for the 8080.
The floating point system has been confirmed working on the pc86 and linux386 platforms.
ANSI compatibility has been improved, binary sizes have been reduced, and there are many bugfixes everywhere.
Last updated on May 1st, 2007

0 User reviews so far.