Лучшие вопросы
Таймлайн
Чат
Перспективы
Amsterdam Compiler Kit
Из Википедии, свободной энциклопедии
Remove ads
Amsterdam Compiler Kit (ACK) — межплатформенный набор компиляторов и инструментов, написанный Эндрю Таненбаумом и Серилом Якобсом, с 2005 года поддерживаемый Дэвидом Гивеном[2].
Remove ads
История
Известность ACK обусловлена тем фактом, что в начале 1980-х годов это была одна из первых переносимых систем компиляции, разработанная для поддержки нескольких исходных языков и целевых платформ[3][4].
ACK был известен как собственный инструментарий компилятора операционной системы MINIX до тех пор, пока пользовательское пространство MINIX не было в значительной степени заменено на NetBSD (MINIX 3.2.0), а Clang не был принят в качестве системного компилятора.
Изначально ACK представлял собой программное обеспечение с закрытым исходным кодом (распространялся в откомпилированном виде вместе с MINIX), но в апреле 2003 года он был выпущен под лицензией BSD с открытым исходным кодом.
Remove ads
Принцип работы
Максимальная переносимость достигается за счет использования промежуточного языка с использованием байт-кода, называемого EM. Каждый языковой фронтенд создает объектные файлы EM, которые затем обрабатываются несколькими общими оптимизаторами, прежде чем быть переведенными бэкендом в машинный код.
ACK поставляется с универсальным компоновщиком и библиотекарем, способным манипулировать файлами в собственном формате ACK на основе a.out. ACK работает с файлами, содержащими как код EM, так и собственный машинный код, однако код EM не может быть связан с собственным машинным кодом без предварительного перевода двоичного файла EM.
Remove ads
Языки программирования
Процессоры
- 6502
- 6800 (только язык ассемблера)
- 6805 (только язык ассемблера)
- 6809 (только язык ассемблера)
- ARM
- 8080
- Z80
- Z8000
- i86
- i386
- 68000
- 68020
- 68040
- NS32016
- S2650 (только язык ассемблера)
- SPARC
- VAX4
- PDP-11
Версия 6.0 поддерживает только архитектуры i86 и i386, но присутствует поддержка арифметики чисел с плавающей запятой, если доступен FPU, а также архитектуру 8080[5].
Платформы
- 6502 — BBC Microcomputer
- ARM — Acorn Archimedes
- i80 — Hermac, Nascom
- Z80 — Hermac, Nascom, ограниченная поддержка CP/M
- Z8000 — без ОС
- i86 — PC/IX
- i386 — Xenix v3, Xenix SysV
- 68000 — 16 bit: MinixST; 32-bit: SunOS, Mantra, PMDS
- 68020 — SysV
- NS32016 — без ОС
- SPARC — Solaris, SunOS
- VAX4 — 4.2BSD
- PDP11 — Version 7 Unix
Версия 6.0 поддерживает только следующие платформы:
Remove ads
См. также
Примечания
Ссылки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads