Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры спо 2012.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
267.8 Кб
Скачать

16. Правила задающие неоднозначность грамматик

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

Однозначность – это свойство грамматики, а не языка.

Для KС языков сущ-т правила определения однозначности:

1) A -> AA | α

2) A -> A α A | β

3) A -> α A | A β | γ

4) A -> α A | α A β A | γ

Здесь А  VN α, β, γ € (VNUVT)

Если в заданной грамматике встречается хотя бы одно правило подобного вида, то доказано, что такая грамматика точно будет неоднозначной. Однако, если подобных правил во всем множестве правил грамматики нет, то это не означает, что грамматика является однозначной. Такая грамматика может быть однозначной, а может и не быть. Т.е. отсутствие правил указанного вида (всех вариантов) – это необходимое, но не достаточное условие однозначности грамматики.

17. Распознаватель

Распознаватель – это специальный алгоритм, который позволяет определять принадлежность заданной цепочки символов данному языку.

Основные компоненты:

1. лента, содержащая входную цепочку символов, и считывающая головка, обозревающая очередной символ в этой цепочке;

2. устройство управления (УУ), которое координирует работу распознавателя (имеет конечное число состояний и огромную память);

3. внешняя память, которая используется для хранения информации.

Распознаватель работает с символами своего алфавита. В процессе работы выполняются следующие операции:

- чтение очередного символа из входной цепочки;

- сдвиг входной цепочки на определенное количество символов;

- доступ к внешней памяти для записи или чтения информации;

- преобразование информации в памяти;

- изменение состояния устройства управления.

Распознаватель работает по тактам. В начале такта состояние распознавателя определяется след-ми параметрами:

- содержимым входной цепочки символов и положением считывающей головки в ней;

- состоянием УУ;

- содержимым внешней памяти.

Для распознавателя задают начальное состояние (конфигурацию) и множество конечных состояний (конфигураций).

1. Считывающая головка обозревает начальный символ входной цепочки символов;

2. Устройство управления находится в заданном начальном состоянии;

3. Внешняя память либо пустая, либо содержит строго определенную информацию.

Классификация распознавателей осуществляется по составляющим элементам:

1. по виду считывающего устройства:

- односторонние - допускают перемещение считывающей головки по ленте только в одном направлении;

- двусторонние.

2. по виду УУ:

- детерминированный - для каждой допустимой конфигурации, которая возникла на некотором шаге его работы, существует единственно возможная конфигурация, в которую распознаватель перейдёт на следующем шаге;

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

3. по виду внешней памяти:

- без внешней памяти;

- ограниченная внешняя память;

- неограниченная внешняя память.

(Если автомат без внешней памяти, то используется память УУ)

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

1. Тип 0. Язык – с фразовой структурой

Распознаватель – двусторонние недетерминированные автоматы с неограниченной внешней памятью.

2. Тип 1. КЗ языки

Распознаватель - двусторонние недетерминированные автоматы с линейноограниченной внешней памятью.

3. Тип 2. КС языки

Распознаватель – односторонние недетерминированные автоматы с магазинной памятью.

4. Тип 3. Регулярные языки

Распознаватель - односторонние недетерминированные автоматы без ВП, конечные автоматы.

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