Исключение левой рекурсии
Формулировка задания Исключить левую рекурсию из КС-грамматики G = <T, N, S, R>. Задание. 2.2.4.6
Решение: 1. I=1; Заменим выражения стоящие слева от фигурной скобки на выражения, написанные справа от фигурной скобки 2. i=2 Повторим предыдущий шаг для i=2;
3. i=3; Преобразования не требуются.
Новая грамматика, эквивалентная исходной:
Исключение левой рекурсии
Исключить левую рекурсию из КС-грамматики G = < T, N, S, R >. 2.2.4.1. T = { a, b, с }, N = { S, A }, R = { S ® SaA, S ® AA, S ® b, A ® ASa, A ® Ab, A ® c }; 1. i=1 S ® SaA; S ® AA, S ® b после замены S ® AA, S ® b, S ® AAS’, S ® bS’, S’ ® aA, S’ ® aA S’ 2. i=2, j=1 правил вида A2®A1a нет. j=i-1 3. j=1, i=2 A ® ASa, A ® Ab, A ® c После замены A ® c, A ® cА’, A’ ® Sa, A’ ® b, A’ ® SaA’, A’ ® bA’ R’={ S ® AA, S ® b, S ® AAS’, S ® bS’, S’ ® aA, S’ ® aA S’, A ® c, A ® cА’, A’ ® Sa, A’ ® b, A’ ® SaA’, A’ ® bA }, N’={S,A,S’A’}
Грамматика без левой рекурсии - G’={T,N’,S,R’}
Исключение левой рекурсии Исключить левую рекурсию из КС-грамматики G = < T, N, S, R >. 2.2.4.1. T = { a, b, с }, N = { S, A }, R = { S ® SaA, S ® AA, S ® b, A ® ASa, A ® Ab, A ® c }; i=1 S ® SaA; S ® AA, S ® b после замены S ® AA, S ® b, S ® AAS’, S ® bS’, S’ ® aA, S’ ® aA S’ i=2, j=1 правил вида A2®A1a нет. j=i-1 j=1, i=2 A ® ASa, A ® Ab, A ® c После замены A ® c, A ® cА’, A’ ® Sa, A’ ® b, A’ ® SaA’, A’ ® bA’ R’={ S ® AA, S ® b, S ® AAS’, S ® bS’, S’ ® aA, S’ ® aA S’, A ® c, A ® cА’, A’ ® Sa, A’ ® b, A’ ® SaA’, A’ ® bA }, N’={S,A,S’A’}
Грамматика без левой рекурсии - G’={T,N’,S,R’}
Построение детерминированного конечного автомата по автоматной грамматике Формулировка задания Построить детерминированный конечный автомат по автоматной грамматике G = < T, N, S, R >. Определить язык, допускаемый конечным автоматом. Задание. 3.2.1.3.
Решение: Исключим e - правила из грамматики. Запишем грамматику недетерминированного конечного автомата: K = ({S, A, B, C, D, E}, {0, 1},
Преобразуем недетерминированный конечный автомат в детерминированный:
K’ = ({P0, P1, P2, P3, P4}, {1,0}, Граф переходов полученного детерминированного автомата
Функции переходов
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|