Студопедия

КАТЕГОРИИ:


Архитектура-(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

с той лишь разницей, что в новом языке будет допускаться унарный минус перед идентификатором, имеющий наивысший приоритет (например,
a*-b+-c допускается и означает a*(-b)+(-c).

В созданную грамматику вставить действия по переводу такого выражения в ПОЛИЗ. Для каждой используемой процедуры привести ее текст на 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; Просмотров: 1082; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.07 сек.