Страницы

Восток. Генератор JavaScript кода

Сообщения о трансляторе переехали в отдельный блог.

Сделан ещё один шаг в направлении многоцелевого транслятора Оберона - была добавлена возможность генерации кода в JavaScript. Обеспечена возможность прохождения простых тестов, но для трансляции самого транслятора генератор кода предстоит доработать.

Генератор JavaScript кода был был переделан из генератора Java кода, который в свою очередь был переделан из генератора C кода. Так что артефакты переделок продолжают накапливаться.

Модуль Оберона отображается на безымянную функцию, автоматическое исполнение которой приводит к появлению объекта модуля в специальном объекте o7, который, также, хранит дополнительные функции для более удобной поддержки языка. Как и для Java, переменные примитивных типов, участвующие как фактические параметры-переменные преобразовываются в одноэлементные массивы. Локальные и безымянные записи в духе прототипного ООП отображаются на функции-конструкторы. Для присваивания значения записей генерируются необходимые функции. Для кодирования типа CHAR используются целые числа.

Обновление: достигнута возможность самотрансляции

Комментариев нет:

Отправить комментарий