2006 Экзамен (1134851), страница 2
Текст из файла (страница 2)
4. Для грамматики G = {{S, A}, {a, b}, {S Ab, A aA | a}, S} построить эквивалентную LL(1)-грамматику. Для полученной грамматики построить LL(1)-анализатор.
5. Для оператора присваивания a = b[c[2 + j] + 1] сгенерировать оптимальный код методом сопоставления образцов.
Вариант 14
1. Для регулярного выражения (ab|b)*(a|e)c* над алфавитом T = {a, b, c} построить эквивалентный детерминированный конечный автомат.
2. Является ли грамматика G = {{S, A, B}, {a, b, c}, {S aS | AB, A Bc, B Ba | b}, S} LR(1)-грамматикой? Построить детерминированный правый анализатор. Продемонстрировать работу анализатора на цепочке aabcbb.
3. Для арифметического выражения [(A * (B + C)) - D * E] * (F - M * H + G) с помощью алгоритма Сети-Ульмана сгенерировать программу и изобразить атрибутированное дерево.
4. Построить приведенную грамматику, эквивалентную грамматике G = {{S, A, B, C}, {a, b, c}, {S aSb | Abb | , A aBCb | bAb, B AB, C a | c}, S}
5. Для оператора присваивания a = b[3 + с[2]] + i сгенерировать оптимальный код методом сопоставления образцов.
Вариант 15
1. Для регулярного выражения (0)*(1|e)(1|01)* над алфавитом T = {0, 1} построить эквивалентный детерминированный конечный автомат.
2. Является ли грамматика G = {{S, A}, {a,b}, {S aAb, A aaA | }, S} LR(1)-грамматикой? Построить детерминированный правый анализатор. Продемонстрировать работу анализатора на цепочке aaaab.
3. Для логического выражения not (C or D and not (F and not E)) сгенерировать код на командах перехода и изобразить атрибутированное дерево.
4. Для грамматики G = {{S}, {a, b}, {S Sa | Sb | aa | ab}, S} построить эквивалентную LL(1)-грамматику. Для полученной грамматики построить LL(1)-анализатор.
5. Для оператора присваивания a = c[c[1 + j] + b[2]] сгенерировать оптимальный код методом сопоставления образцов.
Вариант 16
1. Для регулярного выражения (ab|bb)*(a|e)(ba)* над алфавитом T = {a, b} построить эквивалентный детерминированный конечный автомат.
2. Является ли грамматика G = {{S, A}, {a, b, c}, {S aAS | b, A Aa | c}, S} LR(1)-грамматикой? Построить детерминированный правый анализатор. Продемонстрировать работу анализатора на цепочке acaaac.
3. Для арифметического выражения [(A * B) + (C + D) * E] / (H * K + M) с помощью алгоритма Сети-Ульмана сгенерировать программу и изобразить атрибутированное дерево.
4. Построить приведенную грамматику, эквивалентную грамматике G = {{S, A, C}, {a, b}, {S b | C, C aC | AC, A aA | Aa | a}, S}.
5. Для оператора присваивания a = b[i[4 + j] + 5] + 1 сгенерировать оптимальный код методом сопоставления образцов.