Компилятор компиляторов

Компилятор компиляторов

Компилятор компиляторов — программа, воспринимающая синтаксическое или семантическое описание языка программирования и генерирующая компилятор для этого языка[1].

Синтаксис выражается в виде БНФ или её производной и должен удовлетворять правилам того метода синтаксического анализа, который будет использоваться в генерируемом компиляторе.

Семантика языка обычно описывается путём ассоциирования процедуры генерации кода с каждой синтаксической конструкцией, причём необходимая процедура вызывается всякий раз, когда соответствующая конструкция распознаётся программой синтаксического анализа. Таким образом, пользователю компилятора компиляторов в любом случае нужно разработать исполняющие структуры и выбрать способ преобразования каждой входной синтаксической конструкции в операции выходного языка или в машинные операции, после чего нужно написать собственно процедуры генерации кода. Следовательно, компилятор компиляторов — это полезное средство, помогающее писать компиляторы, но не более того.

Строго говоря, генератор программы синтаксического анализа представляет собой часть компилятора компиляторов, однако оба термина часто используются как синонимы.

Примечания

  1. ↑ Толковый словарь по вычислительным системам = Dictionary of Computing / Под ред. В. Иллингуорта и др.: Пер. с англ. А. К. Белоцкого и др.; Под ред. Е. К. Масловского. — М.: Машиностроение, 1990. — 560 с. — 70 000 (доп,) экз. — ISBN 5-217-00617-X (СССР), ISBN 0-19-853913-4 (Великобритания)

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Компилятор компиляторов" в других словарях:

  • Компилятор — Эта статья включает описание термина «Компиляция»; см. также другие значения. Компилятор  программа или техническое средство, выполняющее компиляцию.[1][2][3] Компиляция  трансляция программы, составленной на исходном языке высокого… …   Википедия

  • компилятор — а, м. compilateur <, лат. compilator. Автор компиляции, лицо, занимающееся компиляцией (заимствованием материалов, изложением результатов чужих трудов без самостоятельной обработки источников). БАС 1. Собирающий из разных сочинений в одно;… …   Исторический словарь галлицизмов русского языка

  • Оптимизирующий компилятор — Эта статья предлагается к удалению. Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/24 декабря 2012. Пока процесс обсужден …   Википедия

  • Кросс-компилятор — (англ. cross compiler)  компилятор, производящий исполняемый код для платформы, отличной от той, на которой исполняется сам кросс компилятор. Так …   Википедия

  • Компиляторы — Компилятор  Программа или техническое средство, выполняющее компиляцию.[1][2] Машинная программа, используемая для компиляции.[3][2] Транслятор, выполняющий преобразование программы, составленной на исходном языке, в объектный модуль …   Википедия

  • Компиляция (программирование) — Компилятор  Программа или техническое средство, выполняющее компиляцию.[1][2] Машинная программа, используемая для компиляции.[3][2] Транслятор, выполняющий преобразование программы, составленной на исходном языке, в объектный модуль …   Википедия

  • Список пакетов GNU — Это список программного обеспечения, разрабатываемого Free Software Foundation как часть проекта GNU  UNIX подобной операционной системы состоящей целиком из свободного программного обеспечения. Большая часть из этих пакетов также… …   Википедия

  • CC — или cc может означать: Содержание 1 Организации 2 Технология 3 …   Википедия

  • Бутстрэппинг (программирование) — Бутстрэппинг (англ. bootstrapping) термин, используемый в программировании для описания метода создания компилятора языка программирования на языке, для которого компилятор предназначен. Значительная часть языков программирования являются… …   Википедия

  • Yacc — yacc  компьютерная программа, служащая стандартным генератором синтаксических анализаторов (парсеров) в Unix системах. Название является сокращением от «Yet Another Compiler Compiler» («ещё один компилятор компиляторов»). Yacc генерирует… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
… Нажмите правой клавишей мыши и выберите «Копировать ссылку»