Задачи к главе 5
Задача № 5. 1. Дана: cfg G = (VN, VT, P, S), где VN ={E}, VТ ={a, +, *}, P = {(1) E +EE, (2) E *EE, (3) E a}. Построить pda, распознающий L = L(G).
Задача № 5. 1. Решение: Положим npda M = (Q, , q, Z 0 , ), где Q = {q}, = {a, +, *}, = {E}, Z 0 = E, (1) (q, + , E) = {(q, EE)}, (2) (q, a , E) = {(q, )}. (3) (q, * , E) = {(q, EE)}, (4) Например, (q, +a*aa, E) (q, a*aa, EE) (5) (q, *aa, E) (q, aa, EE) (q, a, E) (q, , ). (6) Итак, +a*aa N(M).
Задача № 5. 2. Построить cfg, порождающую язык, распознаваемый pda M, построенным в предыдущей задаче: M = (Q, , q, Z 0 , ), где Q = {q}, = {a, +, *}, = {E}, Z 0 = E, (1) (q, + , E) = {(q, EE)}, (2) (q, * , E) = {(q, EE)}, (3)(3) (q, a , E) = {(q, )}.
Задача № 5. 2. Решение: Положим G = (VN, VT, P, S), где VN = {S, [q. Eq]}, VT = {a, +, *}, P = { (1) S [q. Eq], (2) [q. Eq] +[q. Eq], (3) [q. Eq] *[q. Eq], (4) [q. Eq] a}. Заменяя нетерминал [q. Eq] просто на E и отбрасывая правило (1), получаем исходную cfg G: (1) E +EE, (2) E *EE, (3) E a.
Задача № 5. 3* Построить магазинный автомат, распознающий язык L = { (ww)+ w = 1 n 0, n > 0}. Пояснение. Цепочки w, составляющие одну пару, одинаковы.
Задача № 5. 4* Построить магазинный автомат, распознающий язык L = { ww. R w {0, 1}*}.
Задача № 5. 5* Построить магазинный автомат, распознающий язык L = { wcw. R w {0, 1}*}.