ВУЗ:
Составители:
((*(СТР1)=(АВСАВВАВС)*)
(*(СТР2)=(ВС)*)
(*(СТРЗ)=(АВА)*)
(*(CTP1)(*CTP4)CTP2(*CTP5))(S2))
(1=STOP=(F))
(2=PRINT=CTP)
(*=PPINT=CTP5)
(*(CTP5 CTP3)(F1))
(*=STOP=(S)))
При интерпретации данной программы должно быть
отпечатано
А
АВВАВС
=КОНЕЦ=
F
7 Варианты заданий
7.1 Построение компилятора
Разработать и реализовать на ЯП Паскаль элементы
компилятора для MPL.
Составить 2-3 программы на MPL, отражающие возможности
языка. Выполнить выделенный этап обработки программы вручную
и с помощью разработанного элемента компилятора (создать при
этом файлы входных и выходных данных).
1) Лексический анализатор. Дать описание переменных СН,
В, ТС, огических функций let, digit, процедур GC, NULL, ADD,
PUT(t), OUT(n.k), LOOK.
2) Диаграмма состояний. В графическом режиме
проиллюстрировать выполнение лексического анализа программ на
MPL.
3) Разбор по Р-грамматике. В графическом режиме
провести построение деревьев восходящего разбора терминальных
цепочек.
4) Синтаксический анализатор. Дать описание переменных
LEX, LEXO, логических функций ID, NUM, EQ(S), ER, процедур
GL, P, D1, D, I, F,
5) Разбор по КС-грамматике. В графическом режиме
провести построение синтаксических деревьев нисходящего
разбора цепочек алфавита V V .
6) Семантический анализатор. Дать описание переменных l,
TI, процедур inst(l), outst(l), GL, dec(t), decid(l,t). Обработка
28
((*(СТР1)=(АВСАВВАВС)*) (*(СТР2)=(ВС)*) (*(СТРЗ)=(АВА)*) (*(CTP1)(*CTP4)CTP2(*CTP5))(S2)) (1=STOP=(F)) (2=PRINT=CTP) (*=PPINT=CTP5) (*(CTP5 CTP3)(F1)) (*=STOP=(S))) При интерпретации данной программы должно быть отпечатано А АВВАВС =КОНЕЦ= F 7 Варианты заданий 7.1 Построение компилятора Разработать и реализовать на ЯП Паскаль элементы компилятора для MPL. Составить 2-3 программы на MPL, отражающие возможности языка. Выполнить выделенный этап обработки программы вручную и с помощью разработанного элемента компилятора (создать при этом файлы входных и выходных данных). 1) Лексический анализатор. Дать описание переменных СН, В, ТС, огических функций let, digit, процедур GC, NULL, ADD, PUT(t), OUT(n.k), LOOK. 2) Диаграмма состояний. В графическом режиме проиллюстрировать выполнение лексического анализа программ на MPL. 3) Разбор по Р-грамматике. В графическом режиме провести построение деревьев восходящего разбора терминальных цепочек. 4) Синтаксический анализатор. Дать описание переменных LEX, LEXO, логических функций ID, NUM, EQ(S), ER, процедур GL, P, D1, D, I, F, 5) Разбор по КС-грамматике. В графическом режиме провести построение синтаксических деревьев нисходящего разбора цепочек алфавита V V . 6) Семантический анализатор. Дать описание переменных l, TI, процедур inst(l), outst(l), GL, dec(t), decid(l,t). Обработка 28