blackbox:compiler
Это старая версия документа!
Описание работы компилятора Блэкбокс
Компилятор Блэкбокса реализован на основе переносимого компилятора Оберона, который на английском описан в:
Компилятор выполнен по трехфазной схеме, с возможностью смены кодогенератора под конкретную платформу без смены парсера и AST-дерева1).
Предполагается, что смена платформы происходит путем подмены модуля DevCompilerXxx, который после успешного завершения процесса создания AST-дерева передает результат сменному бэкенду DevCPVxxx.
По модулям это расписано тут: http://obertone.ru/blackbox/dev
1)
AST — abstract syntax tree (абстрактное синтаксическое дерево). Служит хранению текста программы в промежуточном состоянии между исходным текстом и машинным кодом. Это не байт-код. Исполнять нельзя. Но AST-дерево даёт гарантию, что код программы корректный (иначе нельзя получить такое дерево), и позволяет привести к машинному коду на нужной платформе, что сильно облегчает портирование программ
blackbox/compiler.1527070655.txt.gz · Последнее изменение: (внешнее изменение)
