Amsterdam Compiler Kit

From Wikipedia, the free encyclopedia

Amsterdam Compiler Kit
Developed by Andrew Tanenbaum and Ceriel Jacobs
Latest release 6.0pre3 / April 29, 2007 (2007-04-29); 413 days ago
OS Minix and Unix-like
Genre Retargetable compiler
License BSD licenses
Website http://tack.sourceforge.net/

The Amsterdam Compiler Kit (ACK) is a fast, lightweight and retargetable compiler suite and toolchain written by Andrew Tanenbaum and Ceriel Jacobs, and is Minix's 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. It has frontends for C, Pascal, Modula-2, Occam, and BASIC.

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.

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 cannot, however, link EM code to native machine code without translating the EM binary first.)

Contents

[edit] Target Processors

[edit] See also

[edit] References

[edit] External links