В процессе разработки компилятора, мы составили вот такие схемы, помогающие на примере понять, какую форму принимает символьная таблица в тех или иных случаях.
Видимые на схемах конструкции существуют только во время компиляции.
Они аналогичны тем, которые создаются в
Project Oberon, и, наверное, очень сходны с теми, которые используются в BlackBox и Ofront.
На схемах рассматриваются следующие аспекты:
1) предопределённые типы,
2) объявление переменной, типа, процедуры,
3) импорт модуля, содержащего процедуру.
С ходом развития проекта и с кодом компилятора можно ознакомиться здесь:
https://github.com/kekcleader/oberonНапомню, что цель проекта — создать кроссплатформенный компилятор Оберона в машинный код с подробной документацией (пособием разработчика).
Для разработки компилятора можно использовать
специальный образ виртуальной машины (Debian, 32 бита):
Здесь подробное описание:
https://github.com/kekcleader/oberon/wikiОбсуждение образа виртуальной машины есть на данном форуме:
здесь.