|
|
The topic of this article may not meet Wikipedia's general notability guideline. Please help to establish notability by adding reliable, secondary sources about the topic. If notability cannot be established, the article is likely to be merged, redirected, or deleted. (August 2011) |
| This article relies on references to primary sources or sources affiliated with the subject, rather than references from independent authors and third-party publications. Please add citations from reliable sources. (August 2011) |
| Developer(s) | Andrew Tanenbaum, Ceriel Jacobs |
|---|---|
| Stable release | 6.0pre4 / August 8, 2010 |
| Written in | C |
| Operating system | Minix, Unix-like |
| Type | 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 an open source BSD license. It has frontends for programming languages C, Pascal, Modula-2, Occam, and BASIC.
The ACK achieves maximum portability by using an intermediate language using bytecode, called EM. Each language front-end produces EM object files, which are then processed through several generic optimisers before being translated by a back-end into native machine code.
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. However, EM code cannot be linked to native machine code without translating the EM binary first.
* Version 6.0
| This free software-related article is a stub. You can help Wikipedia by expanding it. |
|
|||||||||||||||||||
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)