Amsterdam Compiler Kit
Amsterdam Compiler Kit (ACK) — межплатформенный набор компиляторов и инструментов, написанный Эндрю Таненбаумом и Серилом Якобсом, с 2005 года поддерживаемый Дэвидом Гивеном[1]. ИсторияИзвестность ACK обусловлена тем фактом, что в начале 1980-х годов это была одна из первых переносимых систем компиляции, разработанная для поддержки нескольких исходных языков и целевых платформ[2][3]. ACK был известен как собственный инструментарий компилятора операционной системы MINIX до тех пор, пока пользовательское пространство MINIX не было в значительной степени заменено на NetBSD (MINIX 3.2.0), а Clang не был принят в качестве системного компилятора. Изначально ACK представлял собой программное обеспечение с закрытым исходным кодом (распространялся в откомпилированном виде вместе с MINIX), но в апреле 2003 года он был выпущен под лицензией BSD с открытым исходным кодом. Принцип работыМаксимальная переносимость достигается за счет использования промежуточного языка с использованием байт-кода, называемого EM. Каждый языковой фронтенд создает объектные файлы EM, которые затем обрабатываются несколькими общими оптимизаторами, прежде чем быть переведенными бэкендом в машинный код. ACK поставляется с универсальным компоновщиком и библиотекарем, способным манипулировать файлами в собственном формате ACK на основе a.out. ACK работает с файлами, содержащими как код EM, так и собственный машинный код, однако код EM не может быть связан с собственным машинным кодом без предварительного перевода двоичного файла EM. Языки программированияПроцессоры
Версия 6.0 поддерживает только архитектуры i86 и i386, но присутствует поддержка арифметики чисел с плавающей запятой, если доступен FPU, а также архитектуру 8080[4]. Платформы
Версия 6.0 поддерживает только следующие платформы: См. такжеПримечания
Ссылки
|