Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Amsterdam Compiler Kit

From Wikipedia, the free encyclopedia
Retargetable charger suite
Amsterdam Compiler Kit
Original authorsAndrew Tanenbaum, Ceriel Jacobs
DeveloperDavid Given
Initial releaseearly 1980s
Stable release
6.2+ / April 17, 2025; 10 months ago (2025-04-17)
Written inC
Operating systemMinix,Unix-like
TypeRetargetable compiler
LicenseBSD licenses
Websitetack.sf.net Edit this on Wikidata
Repository

TheAmsterdam Compiler Kit (ACK) is aretargetable compiler suite andtoolchain written byAndrew Tanenbaum andCeriel Jacobs, since 2005 maintained byDavid Given.[1] It has frontends for the followingprogramming languages:C,Pascal,Modula-2,BASIC, andOccam.

History

[edit]

The ACK's notability stems from the fact that in the early 1980s it was one of the first portable compilation systems designed to support multiple source languages and target platforms.[2][3]

The ACK was known asMINIX's native compiler toolchain until the MINIXuserland was largely replaced by that ofNetBSD (MINIX 3.2.0) andClang was adopted as the system compiler.

It was originally closed-source software, initially distributed by Tanenbaum himself,[4] later through UniPress Software and Transmediair Utrecht as distributors in the Americas and Europe respectively. The distribution of compilerbinaries for MINIX was a special case in this arrangement.[5] In April 2003, it was released under theBSD licenses.

Working principle

[edit]

Maximum portability is achieved by using anintermediate language usingbytecode, called EM-1[6] or EM[citation needed]. Each language front-end produces EMobject files, which are then processed through several generic optimisers before being translated by a back-end into nativemachine code.

ACK comes with a generic linker and librarian capable of manipulating files in the ACK's owna.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.

Target processors

[edit]

ACK backends can produce native machine code for a wide range of CPUs, even starting with small 8 bit CPUs.

* Version 6.0

See also

[edit]

References

[edit]
  1. ^"The Amsterdam Compiler Kit". 2005. Time line on official website.
  2. ^Tanenbaum, Andrew S; van Staveren, H.; Keizer, E.G.; Stevenson, J.W. (1983)."A Practical Tool Kit For Making Portable Compilers".Communications of the ACM.26 (9):654–660.doi:10.1145/358172.358182.hdl:1871/2605.S2CID 1217657.
  3. ^A.V. Aho, R. Sethi & J.D. Ullman (1986).Compilers: Principles, Techniques, and Tools ("The Dragon Book"). Addison-Wesley. p. 511.ISBN 0-201-10088-6.
  4. ^"The Amsterdam Compiler Kit".The Australian UNIX Users Group Newsletter. July 1984. p. 17. Retrieved21 October 2025.
  5. ^Tanenbaum, Andrew S. (1988).MINIX for the IBM PC, XT, and AT. Prentice Hall. pp. xv. Retrieved21 October 2025.
  6. ^FOLDOC."EM-1"
Dialects
Compilers
Current
Discontinued
API
Microcomputer
Comparisons
Designer
Related to
ALGOL (1958)
Modula-2 (1977)
Ada (1983)
Oberon (1986)
Modula-3 (1988)
Oberon-2 (1991)
Component Pascal (1991)
Features
Standard library
Implementations
Compilers
IDEs
Comparison with
other languages
Descendant
languages
Designer


Stub icon

Thisfree and open-source software article is astub. You can help Wikipedia byadding missing information.

Retrieved from "https://en.wikipedia.org/w/index.php?title=Amsterdam_Compiler_Kit&oldid=1323372297"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp