![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Задачи. 63. Представить в ПОЛИЗе следующие выражения:
63. Представить в ПОЛИЗе следующие выражения: а) a+b-c b) a*b+c/a c) a/(b+c)*a d) (a+b)/(c+a*b) e) a and b or c f) not a or b and a g) x+y=x/y h ) (x*x+y*y < 1) and (x > 0)
64. Для следующих выражений в ПОЛИЗе дать обычную инфиксную запись: а ) ab*c b) abc*/ c) ab+c* d) ab+bc-/a+ e) a not b and not f) abca and or and g ) 2x+2x*<
65. Используя стек, вычислить следующие выражения в ПОЛИЗе: а) xy*xy/+ при x = 8, y = 2; b) a2+b/b4*+ при a = 4, b = 3; c) ab not and a or not при a = b = true; d) xy*0 > y2x- < and при x = y = 1.
66. Записать в ПОЛИЗе следующие операторы языка Си и, используя стек, выполнить их при указанных начальных значениях переменных: а) if (x!= y) x = x+1; при x = 3; b) if (x > y) x = y; else y = x; при x = 5, y = 7; c) while (b > a) {b = b-a;}; при a = 3, b = 7; d) do {x = y; y = 2;} while (y > 9); при y = 2; e) S = 0; for (i = 1; i <= k; i = i + 1) {S = S + i*i;} при k = 3; f) switch (k) { case 1: a = not a; break; case 2: b = a or not b; case 3: a = b; } при k = 2, a = b = false.
67. Используя стек, выполнить следующие действия, записанные в ПОЛИЗе, при x = 9, y = 15 (считаем,что элементы ПОЛИЗа перенумерованы с 1). z, x, y, *,:=, x, y, <>, 30,!F, x, y, <, 23,!F, y, y, x, -,:=, 6,!, x, x, y, -,:=, 6,!, z, z, x, /,:= Описать заданные действия на Си, не используя оператор goto.
68. Записать в ПОЛИЗе следующие операторы Паскаля: a) for I:= E1 to E2 do S b) case E of c1: S1; c2: S2; .... cn: Sn end; c) repeat S1; S2;...;Sn until B;
69. Записать в ПОЛИЗе следующие фрагменты программ на Паскале:
a) case k of 1: begin a:=not(a or b and c); b:=a and c or b end; 2: begin a:=a and (b or not c); b:= not a end; 3: begin a:=b or c or not a; b:==b and c or a end end b) S:=0; for i:=1 to N do begin d:=i*2; a:=a+d*((i-1)*N+5) S:=-a*d+S end c) c:=a*b; while a<>b do if a<b then b:=b-a else a:=a-b; c:=c/a
70. Написать грамматику для выражений, содержащих переменные, знаки операций +, -, *, / и скобки (), где операции должны выполняться строго слева направо, но приоритет скобок сохраняется. Определить действия по переводу таких выражений в ПОЛИЗ.
71. Изменить приоритет операций отношения в М - языке (сделать его наивысшим). Построить соответствующую грамматику, отражающую этот приоритет. Написать синтаксический анализатор, обеспечить контроль типов, задать перевод в ПОЛИЗ.
72. Написать КС-грамматику, аналогичную данной, E ® T {+T} T ® F {*F} F ® (E) | i с той лишь разницей, что в новом языке будет допускаться унарный минус перед идентификатором, имеющий наивысший приоритет (например, В созданную грамматику вставить действия по переводу такого выражения в ПОЛИЗ. Для каждой используемой процедуры привести ее текст на Cи.
73. Дана грамматика, описывающая выражения:
E ® TE’ E’ ® +TE’ | e T ® FT’ T’ ® *FT’ | e F ® PF’ F’ ® ^PF’ | e P ® (E) | i
Включить в эту грамматику действия по переводу этих выражений в ПОЛИЗ. Для каждой используемой процедуры привести ее текст на Си.
74. Написать грамматику для выражений, содержащих переменные, знаки операций +, -, *, /, ** и скобки () с обычным приоритетом операций и скобок. Включить в эту грамматику действия по переводу этих выражений в префиксную запись (операции предшествуют операндам). Предложить интерпретатор префиксной записи выражений.
75. В грамматику, описывающую выражения, включить действия по переводу выражений из инфиксной формы (операция между операндами) в функциональную запись. Например, а+b ==> + (a, b) a+b*c ==> + (a, * (b, c))
76. Построить регулярную грамматику для языка L1, вставить в нее действия по переводу L1 в L2. L1 = {1m 0n | n,m>0} L2 = {1m-n | если m>n; 0 | если m<n; e | если m=n} (Эта задача аналогична задаче выдачи сообщений об ошибке в балансе скобок).
77. Построить регулярную грамматику для языка L1, вставить в нее действия по переводу цепочек языка L1 в соответствующие цепочки языка L2. L1 = {1n 0m 1m 0n | m,n > 0} L2 = {1m 0n+m | m,n > 0}
78. Построить регулярную грамматику для языка L1, вставить в нее действия по переводу цепочек языка L1 в соответствующие цепочки языка L2. L1 = {bi | bi =(i)2, т.е. bi -это двоичное представление числа i Î N} L2 = {(bi+1)R | bi+1=(i+1)2, wR - перевернутая цепочка w}
79. Построить грамматику, описывающую целые двоичные числа (допускаются незначащие нули). Вставить в нее действия по переводу этих целых чисел в четверичную систему счисления.
ЛИТЕРАТУРА 1. Д.Грис. Конструирование компиляторов для цифровых вычислительных машин. - М., Мир, 1975. 2. Ф.Льюис, Д.Розенкранц, Р.Стирнз. Теоретические основы проектирования компиляторов. - М., Мир, 1979. 3. А.Ахо, Дж.Ульман. Теория синтаксического анализа, перевода и компиляции. - Т. 1,2. - М., Мир, 1979. 4. Ф.Вайнгартен. Трансляция языков программирования. - М., Мир, 1977. 5. И.Л.Братчиков. Синтаксис языков программирования. - М., Наука, 1975. 6. С.Гинзбург. Математическая теория контекстно-свободных языков. - М., Мир, 1970. 7. Дж.Фостер. Автоматический синтаксический анализ. - М., Мир, 1975. 8. В.Н.Лебедев. Введение в системы программирования. - М., Статистика, 1975. СОДЕРЖАНИЕ ЭЛЕ МЕ НТЫ ТЕОРИИ ФОРМАЛЬНЫХ ЯЗЫКОВ И ГРАММАТИК... Введение...................................................................................................................... Основные понятия и определения........................................................................ Классификация грамматик и языков по Хомскому......................................... Примеры грамматик и языков................................................................................ Задача разбора............................................................................................................ Преобразования грамматик.................................................................................. Задачи......................................................................................................................... ЭЛЕМЕНТЫ ТЕОРИИ ТРАНСЛЯЦИИ........................................................... Введение.................................................................................................................... Описание модельного языка.................................................................................. Лексический анализ............................................................................................... О недетерминированном разборе........................................................................ Задачи лексического анализа................................................................................ Лексический анализатор для М-языка................................................................. Задачи...................................................................................................................... 30 Синтаксический и семантический анализ....................................................... Метод рекурсивного спуска.................................................................................. О применимости метода рекурсивного спуска.................................................. Синтаксический анализатор для М-языка......................................................... О семантическом анализе..................................................................................... Семантический анализатор для М-языка........................................................... Задачи...................................................................................................................... Генерация внутреннего представления программ......................................... Язык внутреннего представления программы................................................... Синтаксически управляемый перевод................................................................. Генератор промежуточной программы для М-языка....................................... Интерпретатор ПОЛИЗа для модельного языка.............................................. Задачи...................................................................................................................... ЛИТЕРАТУРА......................................................................................................... СОДЕРЖАНИЕ........................................................................................................
Дата добавления: 2015-06-27; Просмотров: 1119; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |