The Amsterdam Compiler Kit is a toolchain that includes a retargetable compiler suite, designed to be fast and lightweight.
One of the strengths of ACK is its ability to achieve maximum portability via an intermediate byte-code language called EM. Different language front-ends produce EM object files, which generic optimizers then process. Finally, the back-end translates the code into native machine code. Unlike gcc's intermediate language, EM is a real programming language that can be implemented in hardware. Furthermore, because EM is stack-based and relatively high-level, the interpreter included with ACK makes executing EM binaries straightforward and safe.
Acknowledging the need for developers to manipulate files in the ACK's own a.out-based format, ACK comes with a generic linker and librarian that works well with files containing either EM code or native machine code. It is important to note that EM code cannot be linked to native machine code without first translating the EM binary.
To install the ACK, simply download the source package and compile it. Although this latest version, 5.6, has had little testing on Linux, the installation instructions are quite straightforward if you follow the detailed walk-through provided in the README.
Among the new features in this latest release of ACK are support for generating CP/M binaries using the 8080 code generator, improved optimization capabilities, a fully functioning floating point system, and overall improvements in ANSI compatibility and binary size reduction. All in all, the Amsterdam Compiler Kit is an excellent choice for developers looking for a fast, portable, and reliable compiler suite and toolchain.
Version 6.0 pre3: N/A