Amsterdam Compiler Kit (ACK) является настраиваемой компилятор свита и набор инструментов , написанная Эндрю Таненбаум и Ceriel Jacobs и был MINIX родного Набора инструментов «s до MINIX пользовательского окружение не было в значительной степени заменено из NetBSD (MINIX 3.2.0) и Clang было принято как системный компилятор. ACK изначально был программным обеспечением с закрытым исходным кодом (что позволяло распространять двоичные файлы для MINIX в качестве особого случая), но в апреле 2003 года он был выпущен под лицензией BSD с открытым исходным кодом . Он имеет интерфейсы для следующих языков программирования: C , Паскаль , Модула-2 , Оккам и БЕЙСИК .
Разработчики) | Эндрю Таненбаум , Сериэль Джейкобс |
---|---|
Первый выпуск | начало 1980-х |
Стабильный выпуск | 6.0pre5 / 2 июня 2016 г . |
Репозиторий | |
Написано в | C |
Операционная система | Minix , Unix-подобный |
Тип | Перенастраиваемый компилятор |
Лицензия | Лицензии BSD |
Веб-сайт | tack |
Известность ACK проистекает из того факта, что в начале 1980-х это была одна из первых переносимых систем компиляции, разработанных для поддержки нескольких исходных языков и целевых платформ. [1] [2]
ACK обеспечивает максимальную переносимость за счет использования промежуточного языка с использованием байт-кода , называемого EM . Внешний интерфейс каждого языка создает объектные файлы EM , которые затем обрабатываются несколькими универсальными оптимизаторами, а затем переводятся серверной частью в собственный машинный код .
ACK поставляется с универсальным компоновщиком и библиотекарем, способным манипулировать файлами в собственном формате ACK, основанном на a.out ; он будет работать с файлами, содержащими код EM, а также собственный машинный код. Однако EM-код не может быть связан с машинным кодом в машинном коде без предварительной трансляции двоичного кода EM.
Целевые процессоры
- 6502
- 6800 (только ассемблер)
- 6805 (только ассемблер)
- 6809 (только ассемблер)
- РУКА
- 8080 *
- Z80
- Z8000
- Intel 8086 *
- i386
- 68000
- 68020
- 68040
- NS32016
- S2650 (только ассемблер)
- SPARC
- VAX4
- PDP-11
- Broadcom VideoCore IV (BCM2708) *
* Версия 6.0
Смотрите также
- Переносимый компилятор C
Рекомендации
- ^ Таненбаум, Эндрю S; van Staveren, H .; Кейзер, ЭГ; Стивенсон, JW (1983). «Практический набор инструментов для создания портативных компиляторов» . Коммуникации ACM . 26 (9): 654–660. DOI : 10.1145 / 358172.358182 . hdl : 1871/2605 . S2CID 1217657 .
- ^ А. В. Ахо, Р. Сетхи и Дж. Д. Ульман (1986). Составители: принципы, методы и инструменты («Книга дракона») . Эддисон-Уэсли. п. 511 . ISBN 0-201-10088-6.
Внешние ссылки
- Официальный веб-сайт