Нисходящие распознаватели КС-языков Метод рекурсивного спуска Дано: Построить: распознаватель грамматики методом рекурсивного спуска.

Презентация:



Advertisements
Похожие презентации
Рекурсия Презентация разработана учителем информатики лицея 124 г.Барнаула Воловиковой Л.Л.
Advertisements

М.Ю. Харламов, ВНУ им. В.Даля, Восходящие распознаватели выполняют построение дерева вывода снизу вверх (от листьев к корню). Результатом их работы.
Рекурсивные алгоритмы Домашнее задание. ДЕМО 2015 Подготовиться к самостоятельной работе (6.1, 6.2, 8, 11)
Работа с файлами.. Процедура Assign(var f; name : String); Связывает внешний файл с именем name и переменную файлового типа f. Все дальнейшие операции.
Множества. Внутреннее представление.. Механизм внутреннего представления Каждое значение базового типа представляется одним битом. В память заносится.
Алгоритмические структуры 1.Линейный 2.Ветвление 3.Цикл.
Сортировка методом слияний Рекурсивная сортировка методом слияний.
Задачи синтаксического анализа установить, имеет ли цепочка лексем структуру, заданную синтаксисом языка, т.е. решить задачу разбора по заданной грамматике,
Обработка массивов Сортировка. Сортировка массивов «…создается впечатление, что можно построить целый курс программирования, выбирая примеры только из.
Задача Разбить предложение по словам. В предложении могут быть знаки «.», «!», «?» и «,»
Заглавные и строчные латинские буквы цифры 0…9 специальные символы + - * / = > <., : ^ () {} [] $ #
Клунейко Вероника Ученица 10 класса. Символьный тип (Сhar) простой тип данных, предназначенный для хранения одного символа в определённой кодировке.Основным.
Использование частных случаев в условиях. Флаг в задачах Задача. Определить место первого четного элемента в массиве.
Программирование на языке Паскаль. Часть II К. Поляков, Поиск в массиве 1 Задача – найти в массиве элемент, равный X, или установить, что его.
Обработка символов строки. Дано слово. Переставить первые три и последние три буквы, сохранив порядок их следования.
Ветвления Ветвления с одним действием If условие then действие 1 If условие then действие 1 Else действие 2; Else действие 2;Или If условие then действие.
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
Доступ к элементам массива Изменение элементов массива.
РЕКУРСИЯ РЕКУРРЕНТНЫЕ СООТНОШЕНИЯ У попа была собака - он ее любил. Она съела кусок мяса - он ее убил. Вырыл ямку - закопал, Взял дощечку – написал: У.
Процедуры и функции обработки строк Шутилина Л.А.
Транксрипт:

Нисходящие распознаватели КС-языков Метод рекурсивного спуска Дано: Построить: распознаватель грамматики методом рекурсивного спуска

Обозначения: СH – текущий символ исходной строки; gc – процедура считывания очередного символа исходной строки в СH; Err - процедура обработки ошибок, возвращающая по коду сообщение об ошибке.

Процедуры разбора S AB procedure S; begin A; B; if CH<> then ERR end;

Процедуры разбора A cA | a procedure A; begin if CH= a then gc else if CH= c then begin gc; A end else Err end;

Процедуры разбора B bA procedure B; begin if CH= b then begin gc; А end else Err end;

Достаточные условия применимости метода рекурсивного спуска 1) A, где (V T V N )*; 2) A a 1 1 | a 2 2 |…| a n n, где a i V T для каждого i=1, 2,…, n; a i a j для i j, i (V T V N )*

L a | a,L или L a{,a} Устранение рекурсии правил procedure L; begin if CH<>a then Err else gc; while CH=, do begin gc; if CH<>a then Err else gc end end;