Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SPO_shpory.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.65 Mб
Скачать

55. Грамматики с ограничениями на правила.

Конкретно такого вопроса в лекциях нет. Возможно надо просто перечислить существующие грамматики, описанные в 53 и 54 вопросе.

56.Устройства управления с конечной памятью.

Распознователь – схематизированный алгоритм, определяющий некоторые множества. Автомат состоит из 3-х частей:

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

Входная головка – в каждой момент времени читает одну ячейку, за 1 шаг может сдвинуться на 1 ячейку влево, вправо, либо stop.

Устройство управления с конечной памятью- программа, управляющая поведением Распознователя, аналог конечного автомата. Определит перемещение вх. Головки и работу памяти на каждом шаге. Переводит за шаг из одного состояния в другое.

Конфигурация распознователя – мгновенный снимок:

Состояние устройства управления

Содержание вх. ленты

Содержимое памяти

Начальная конфигурация:

Устройство управления находиться в заданном начальном состоянии, вх. Головка читает самый левый символ на вх. Ленте, память имеет заранее установленное начальное содержимое.

Заключительная конфигурация:

Устройство управления в одном из состояний, принадлежащих заранее выделенному множеству заключительных состояний. Входная головка обозревает пр. конц. Маркер. Если маркер отсутствует, то входная головка сошла с конца входной ленты.

57. Методы лексического анализа

Прямой и непрямой. Непрямой лексический анализ (л/а) – л/а с возвратами, заключающийся в последовательной проверке версий о классах лексем. Если проверка текущей версии не подтверждается, то происходит откат назад по цепочке символов и осуществляется проверка следующей версии. Прямой л/а позволяет определить значение лексемы без откатов назад по цепочке.

Организация непрямого л/а

Непрямой л/а состоит из отдельных автоматов, каждый из которых распознает одну заданную лексему. Все автоматы имеют одинаковую структуру и отличаются только внутренним состоянием. Общая структура на рис 4.8

Он имеет входную головку, которая читает символ с входной ленты. Символы анализируются блоком управления входной головки и передаются активному автомату. Затем входная головка смещается на 1 символ вправо. Автоматы связаны между собой в последовательную цепь, что определяет порядок передачи управления между ними в случае, если активный автомат отвергает приписанную лексему. Последовательность автоматов в цепи определяет возможность преимущества одних лексем перед другими. Наличие приоритета связано с тем, что некоторые лексемы имеют сходные начальные подцепочки и одна из лексем может включать другую. Например, действительное число может начинаться с цепочки цифр, с нее же может начинаться и целое число. Существуют различные группы лексем, требующие приоритетной расстановки распознавателей. Они образуют группы автоматов, выстроенные в соответствии с приоритетом. Порядок размещения отдельных групп обычно не явл. Существенным. Анализ очередной лексемы начинается с запуска первого автомата. Он читает символ Аi → распознавание лексемы →читается n символов, т.е Аi+n – текущий символ. Если версия о лексеме подтверждается, то сканер выдает ее и работа завершается. Его последующий запуск начинается с Аi+n , которые вновь передается первому автомату. Если автомат не может распознать лексему, то выдается сигнал отказа, кот подается в БУ входной головки и реализуется след. по приоритету автомат. БУ осуществляет возврат входной головки символа Аi и передает его новому активному автомату. Это осуществляется до тех пор пока лексема не будет распознана. Если ни один из автоматов не может распознать лексему, то передается обработчику ошибок, кот. пытается нейтрализовать ошибку и выдает лексему ошибки. Сдвигается на Аi+1 перед повторным запуском л/а

Достоинства:

  1. Прозрачность обще-регулярной структуры, кот. легко изменить и наращивать.

  2. Простота каждого отдельного автомата, распознающего каждую отдельную структуру.

  3. Применимость подходов в разнообразных языках, независимо в выделениях тех или иных лексем.

Недостатки:

Низкая скорость распознавания связана с постоянными возвратами входной головки. Этот недостаток можно теоретически исправить, если перестроить структуру, так чтобы все автоматы работали одновременно. Общая структура на рис 4.9

Каждый из распознавателей имеет свою головку. Перед запуском л/а все они читают один и тот же символ. После запуска, каждый из распознавателей анализирует входную цепочку, принимая ил отвергая ее. Распознанные лексемы и нераспознанные передаются арбитру, кот. определяет нужную выходную лексему в соответствии с избранной схемой их приоритетов. Перед завершением цикла распознавания текущей лексемы, входные головки выравниваются по головке автомата породившую (распознавшую) лексему. Если все автоматы выдают отказ, арбитр сформировывает на выходе ошибочную лексему и выравнивание головок будет в соответствии с выбранным (на 1 символ вправо) для исправления ошибок. Реально таких систем еще нет. Низкий уровень полезных вычислений.

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