Разработка формальных грамматик

  • 07 сент. 2011 г.
  • 790 Слова
Задание 0.
Дайте краткую характеристику следующего метода создания компиляторов -
компиляция "на лету".

Программа транслируется в некоторый промежуточный код, азатем этот промежуточный код выполняет. Пример: Microsoft Intermediate Language (MSIL) для NET Framework.
Задание 1.
Дайте определение и краткую характеристику следующих понятий:- транслятор;
- компилятор;- интерпретатор;
- генератор.

Транслятор – программа, которая реализует преобразованиепрограммы, написанной на одном языке программирования, в идентичную программу на другом языке (с языка высокого уровня на машинный язык или ассемблер).

Компилятор – транслятор, который транслируетисходный модуль полностью, а затем выполняет его сразу после компиляции или спустя некоторое время. Компилятор использует больше ресурсов по сравнению с интерпретатором.

Интерпретатор –транслятор, в котором программа транслируется по частям, чаще всего пооператорно. Для нового запуска программы нужно заново транслировать код программы.

Генератор – транслятор, в котором входным языкомявляется язык проблемного уровня.
Задание 2.
Определите тип грамматики по Хомскому, правила которой имеют вид:
A->aAb | aB | bA | b B->a | aB
Объясните, почему вы пришли ктакому выводу.

Автоматная грамматика (третьего типа) содержит правила вида:

Грамматика не является автоматной, т.к. правило A->aAb не является автоматным.

Контекстно-свободнаяграмматика (второго типа) содержит правила вида:

Т.к. все правила имеют такой вид, то эта грамматика контекстно свободная.
Задание 3.
Определите язык, порождаемый грамматикой:...
tracking img