Оглавление
Компилятор-составитель
-
Обзор метакомпиляторов Шорре
- Метакомпиляторы Шорре – это функциональные языки программирования, использующие синтаксические уравнения для анализа грамматики.
- Синтаксическое уравнение – это скомпилированная тестовая функция, возвращающая успех или неудачу.
- Метакомпиляторы имеют основное правило, которое представляет собой тестовую функцию, вызывающую объявления и тестовые правила.
- Наборы символов в ранних компиляторах были ограничены, использовались специальные слова-операторы для упрощения синтаксиса.
-
Метакомпиляторы и их развитие
- META I был вручную скомпилированным метакомпилятором, послужившим основой для META II.
- META II расширила правила, позволяя сопоставлять части входного потока и создавать ассемблерный код.
- TREE-META ввела операторы построения дерева для преобразования абстрактного синтаксического дерева в правила синтаксического анализа.
- CWIC, разработанный в 1968-1970 годах, представляет собой систему разработки компиляторов с тремя специализированными языками.
-
Примеры использования метакомпиляторов
- АНТЛР, Зубр GNU, Coco/R и другие инструменты используют метакомпиляторы для создания синтаксических анализаторов.
- Грамматическая студия “Эпсилон”, Генератор синтаксических анализаторов Lemon и другие инструменты также основаны на метакомпиляторах.
-
Влияние на разработку языков программирования
- Метакомпиляторы Шорре способствовали разработке предметно-ориентированных языков и снижению стоимости производства процессоров.
- Они автоматизировали нетворческие аспекты компиляции, что позволило создавать языки, соответствующие конкретным задачам.
- Пересказана только часть статьи. Для продолжения перейдите к чтению оригинала.
Полный текст статьи: