[Context3/Страница проекта на sourceforge.net] [План]
[Context 2.23 beta] [Об устройстве компилятора. Часть 2]

Context 2.2 для Windows и Linux

Версия компилятора для Windows в основном соответствует версии 1.1 для DOS, но есть несколько отличий. Некоторые изменения внесены в описание языка, они достаточно естественны. Разумеется, отсутствие полной совместимости с предыдущей версией не является достоинством, но в основном изменения коснулись того, что было сделано не лучшим образом.

Прямой перевод DOS-версии 1.3 (наиболее полная версия Context) в среду Windows возможен и был частично выполнен, но это такое решение сохраняет все недостатки DOS-версии и еще больше запутывает текст компилятора. Context 2.0 - новый компилятор, но в нем использованы некоторые идеи, реализованные а DOS-версии. Интегрированный синтаксический и семантический анализатор похож на применявшийся в DOS-версиях 1.0-1.3, но генератор кода полностью отделен от него. Результат работы анализатора - синтаксические деревья для всех функций программы. Соответственно, возросли требования к объему оперативной памяти, но сегодня это несущественно.

Версия компилятора 2.01 работает в среде DOS и может быть использована для выполнения первой компиляции версий для Windows (2.02-2.12), но реально использовалась частично переведенная версия 1.3.

Изменения и дополнения в языке

Учет специфики Windows

Ограничения

Перечисленные ограничения сделаны с целью упрощения компилятора (точнее, ничего не сделано для их устранения). В будущих версиях (если они появятся) ограничения будут устранены. Также планируются:

Для работы необходим ассемблер FASM (www.flatassembler.net). Компилятор тестировался с FASM 1.49. Ранее использовался ассемблер TASM32 (V5.0) и компоновщик TLINK32 фирмы Boland. Замена ассемблера связана только с тем, что TASM32 не является свободно распространяемым продуктом.



Сайт создан в системе uCoz