Оберон-клуб «ВЄДАsoft» https://zx.oberon.org/forum/ |
|
Amiga и модульные языки (Modula, Oberon) https://zx.oberon.org/forum/viewtopic.php?f=29&t=234 |
Страница 1 из 1 |
Автор: | Zorko [ 26 ноя 2012, 20:16 ] |
Заголовок сообщения: | Amiga и модульные языки (Modula, Oberon) |
Недавно с интересом узнал, что в своё время для компьютера Amiga много писали на модульных языках. Существовал даже Amiga Modula & Oberon Klub (AMOK), который зарелизил более сотни с лишним флоппи дисков с исходниками на Модуле и Обероне. Всё это доступно для скачивания. Некоторые исходники оттуда я скомпилировал практически без изменений в GPCP, Ofront и BlackBox Component Builder. Ссылка, из которой я сам узнал об AMOK Транслятором Оберона для сборки этих исходников значится Amiga-Oberon v3.11, F. Siebert / A+L AG. В исходниках присутствуют очень интересные расширения языка Oberon-2, о которых я может чуть позже расскажу подробнее. Сейчас пока по самым верхушкам: При описании констант разрешено использовать функции из модуля SYSTEM: Код: "OBERON"
Опции компилятора внутри комментариев (как в Turbo Pascal). Препроцессор с условными директивами: Код: "OBERON"
Возможность явно разрешить компилятору не копировать при передаче параметров строковые массивы (необходимость этого расширения отпала в языке Компонентный Паскаль с появлением IN/OUT-параметров): Код: "OBERON"
Явное освобождение указателей (на месте авторов я бы вынес это расширение в SYSTEM.DISPOSE): Код: "OBERON"
А вот ALLOCATE наоборот вынесен в SYSTEM.ALLOCATE (не разобрался чем отличается от NEW; вероятнее всего, ALLOCATE и DISPOSE — это явное выделение и освобождение памяти, а NEW — только для работы со сборщиком мусора): Код: "OBERON"
Секция деинициализации модуля (также присутствует в языке КП): Код: "OBERON"
Наряду с ключевым словом RECORD присутствует также слово STRUCT (не разобрался, чем отличается от RECORD): Код: "OBERON"
Нетрассируемые указатели: Код: "OBERON"
На закуску наиболее понравившееся мне расширение: типизированные константные массивы. По-моему, этого средства сильно не хватает Оберон-языкам, что заставляет эмулировать константные массивы через кодовые процедуры, читать из файлов, ресурсов и проч. Имею сильное желание подать эту идею авторам GPCP: Код: "OBERON"
|
Автор: | sage [ 11 фев 2013, 13:42 ] |
Заголовок сообщения: | Re: Amiga и модульные языки (Modula, Oberon) |
Там-же и исходники компилятора Oberon-A ftp://ftp.uni-stuttgart.de/pub/systems/ ... k/amok104/ |
Страница 1 из 1 | Часовой пояс: UTC + 2 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |