Перевод поста Writing a Simple DSL Compiler with Delphi (7. AST Compiler).
Эта статья представляет собой описание компилятора AST используемого для проекта моего языка программирования. Если вы только начинаете читать эту серию, то я бы рекомендовал вам начать с этого поста. Как минимум вы должны прочитать предыдущий пост Intermezzo так как он разъясняет некоторые части компилятора которых я не касаюсь здесь.
В каркасе моего игрушечного компилятора, компилятор (или codegen
, как он называется внутри) — часть кода которая реализует интерфейс ISimpleDSLCodegen
. Этот интерфейс предоставляет только одну функцию, Generate
, которая принимает абстрактное синтаксическое дерево и преобразует его в объект, который реализует интерфейс ISimpleDSLProgram
, который позволяет вам вызывать любую функцию скомпилированной программы по имени.
Читать далее Написание простого DSL компилятора на Delphi (7. Компилятор AST)