Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekcii_po_Savuskinu.doc
Скачиваний:
4
Добавлен:
24.09.2019
Размер:
486.4 Кб
Скачать

Алгоритм рекурсивного спуска.

Методика заключается в том, что у нас есть грамматика. Берем правило грамматики Хомского, группируем их по группам. Для каждой группы пишем программу - обработчик. Каждый нетерминальный символ грамматики порождает специальную программу обработчик.

Тело программы – обработчика строится по правой части и вызывается по средствам вызова обработчика.

Пример:

Обработчик Р

Обработчик S

Если текущий символ = . , то выход

Иначе

Если текущий символ = ; , то Обработчик Р

Иначе ошибка

Условимся, что у нас есть некоторая процедура, которая строит дерево.

Программа «Дерево»

r1

r2 r3 r4 r1=Дерево(r2,r3,r4)

Усовершенствованный вариант обработчика Р, с построением дерева. На выходе будет выходной параметр.

Обр.Р(var r) var-т.к.выходной параметр;

Обр.S(r1) r1-выходной показатель;

Если текущий символ=. то r=Дерево(r1,”.”);

Выход

Иначе, если текущий символ=; то Обр.Р(r2);

r=Дерево(r1,”;”,r2);

Выход

Иначе ОШИБКА

  1. Семантика языков программирования. Понятия:

1.Перевод с одного формата языка на другой.

2.Схема синтаксически управляемого (СУ) перевода.

3.Атрибутная грамматика, как результат обобщения схем синтаксически управляемого (СУ) перевода.

2 Класса:

1.Интерпретирующая семантика.

2.Компилирующая семантика.

Интерпретирующая семантика – это некоторая функция, которая любую программу/набор данных отображает в виде результата:

Компилирующая семантика:

Интерпретирующую семантику задает интерпретатор.

Объектный код

Исходный текст

Внутреннее представление

ПОЛИЗ(польс.инверсная запись)

Триады

Системы внутреннего Ассемблер

представления

Семантика лексических единиц.

Таблица символов.

Лексическая

единица

Тип лекс.един.

Числовой

тип

Кол-во

Измерений

Размер

Кол-во

байт

Всего байт

Адрес

a

Ид.

Int

0

2

2

.

b

Ид.

Real

1

10

4

40

.

0,5

Const

real

0

2

2

.


Память

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]