Восходящие распознаватели языков

Грамматики предшествования

Грамматики простого предшествования

Определение грамматики простого предшествования

Определение Приведенная КС-грамматика G (VN, VT, P, S) называется грамматикой простого предшествования, если выполняются следующие условия.

1) Для каждой упорядоченной пары терминальных и нетерминальных символов выполняется не более чем одно из трех отношений предшествования:

а) BiBj (" Bi, Bj Î V), если и только если существует правило A ® xBiBjy Î P, где x, y Î V *;

б) BiBj (" Bi, Bj Î V), если и только если существует правило A ® xBiDy Î P и вывод D Þ* Bjz, где A, D Î VN, x, y, z Î V *;

в) Bi ×> Bj (" Bi, Bj Î V), если и только если существует правило A ® xCBjy и вывод С Þ* zBi или существует правило A ® xCDy Î P и вывод С Þ* zBi и D Þ* Bjw, где A, C, D Î VN, x, y, z, w Î V *.

2) Различные правила в грамматике имеют разные правые части.

Определение Отношения =×, <×, ×> называют отношениями простого предшествования для символов грамматики.

В основе распознавателя для грамматик простого предшествования лежит правосторонний разбор строки языка. Исходной сентенциальной формой является заданная строка языка, а целевой – начальный символ грамматики. На каждом шаге разбора в исходной цепочке символов пытаются выделить подцепочку, совпадающую с правой частью некоторого правила вывода грамматики, и заменить ее нетерминалом, стоящим в левой части этого правила. Данная операция называется сверткой к нетерминалу, а заменяемая подстрока – основой сентенции. Описанный процесс разбора соответствует построению дерева вывода цепочки снизу вверх (от листьев к корню).

Метод предшествования основан на том факте, что отношения между двумя соседними символами распознаваемой строки соответствуют трем следующим вариантам:

- Bi = × Bi +1, если символы Bi и Bi +1 принадлежат основе;

- Bi < × Bi +1, если Bi +1 – крайний левый символ некоторой основы;

- Bi ×> Bi +1, если Bi – крайний правый символ некоторой основы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: