Файл: Конспект лекций введение.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.11.2023

Просмотров: 80

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


переменные i, n: integer;

h: real;

начало

читать(n);

h=0;

цикл i от n до 1 с шагом –1

выполнять

h=h+1/i;

вывести(h)

конец.

21. Разработать двухпроходный транслятор с исходного языка на язык Си:

программа А;

переменные k:целые;

t, eps, sx, s: вещественные;

начало

читать(eps,sx);

s=0; k=1; t=1;

пока |t|>eps выполнять

{ k:=k+2;

t:=-t*sx/(k*(k-1));

s:=s+t

};

вывести(h)

конец.

22. Разработать трехпроходный транслятор с исходного языка на язык Си:

программа z;

переменные i:целые;

x: вещественные;

начало

читать(i); читать(x);

пока (i<4) и (i>0) выполнять

{

если i

=0 то x:=0;

=1 то x:=sin(x);

=2 то x:=exp(x);

=3 то x:=cos(x);

=4 то x:=ln(x)

все;

вывести(x);

}

конец.

23. Разработать однопроходный транслятор с исходного языка на язык Паскаль:

integer i,j

real c,p

do 2 i=1,10

do 2 j=1,10

c=a+i*j

if (c.ge.1.and.c.le.10) p=p*c

2 continue

stop

end

24. Разработать двухпроходный транслятор с исходного языка на язык Паскаль:

integer f,i,n

accept *,n

f=1

i=1

do 1 i=1,n,1

f=f*i

  1. continue

type *,f

stop

end

25. Разработать трехпроходный транслятор с исходного языка на язык Паскаль:

программа xy;

переменные k,l:целые;

sx,sy,x, y: вещественные;

начало

sx=0;

sy=0;

цикл k от 0 до 5 шаг 1 выполнять

{

sx:=sy+x;

sy:=0;

цикл l от 1 до 10 шаг 1 выполнять

sy:=sy+y

};

вывести(sx,sy)

конец.

26. Разработать однопроходный транслятор с исходного языка на язык Си:

программа l;

переменные i,n,f:целые;

начало

читать(n);

f=1; i=1;

пока i<=n выполнять

{ f:=-f*i;

i:=i+1

};

вывести(f)

конец.

27. Разработать двухпроходный транслятор с исходного языка на язык ПЛ-1:

программа с;

переменные i:целые;

a, b, h, m, n, d, x: вещественные;

начало

читать(a,b);

h=(b-a)/10;

цикл (i=0; i<=10; i++)

{ x:=a+h*i;

m:=(2*h*h-4)/(2*h);

n:=(2-h)/(2+h);

d:=m*h*h-m*n;

вывести(h)

};

конец.

28. Разработать трехпроходный транслятор с исходного языка на язык ПЛ-1:

main()

{

int i,j;

double a,b;

scanf("%le%le",&a,&b);

s1=0;

s2=0;

for (i=0; i<=10; i=i+2)

{

s1=s2+a;

s2=0;

for (j=0; j<=20; i++)

s2=s2+b;

}

printf ("\n%le%le",s1,s2)

}

29. Разработать однопроходный транслятор с исходного языка на язык Си:

программа g;

переменные i: integer;

u, v, min, max: real;

начало

читать(u,v); min:=0; max:=10;

цикл i от 1 до 10 с шагом 1 выполнять

{ если u>v то

{

если u>max то max:=u;

если v
иначе

{

если v>max то max:=v;

если u
}

вывести(max,min);

}

конец.

30. Разработать двухпроходный транслятор с исходного языка на язык Си:


real h

integer i,n

accept *,n

h=1

do 2 i=n,1,-1

h=h+1/i

2 continue

type *,f

stop

end

31. Разработать трехпроходный транслятор с исходного языка на язык Си:

real s

integer i,n

accept *,n

s=1

do 3 i=1,n,2

s=s*i/(i+1)

3 continue

type *,s

stop

end

32. Разработать однопроходный транслятор с исходного языка на язык Си:

программа xz;

переменные k, i, n:целые;

s, x: вещественные;

начало

читать(x,n);

s=0;

цикл i=1 до n шаг 1 выполннять

{ k:=2*i+1;

s:=s+cos(k*x)/k;

}

вывести(s);

конец.
0>0>0>0>


Примечание: Приведенный в задании пример программы определяет структуру программы на исходном языке; тип и структуру операторов исходного языка.

Количество идентификаторов, операторов, порядок их следования может быть любым.

Разрабатываемый транслятор должен распознавать орфографические (неописанный идентификатор и повторное описание идентификатора) и синтаксические ошибки, а также выдавать сообщения о них.

Варианты заданий отличаются используемым методом синтаксического анализа

СПИСОК ЛИТЕРАТУРЫ
1.  Ахо, А. Компиляторы: принципы, технологии и инструменты / А. Ахо, Р. Сети, Дж. Ульман. – Москва : Издательский дом «Вильямс», 2001.

2.  Ахо, А. Теория синтаксического анализа, перевода и компиляции / А. Ахо, Дж. Ульман. – Т. 1, 2. Москва : Мир, 1976.

3.  Бек, Л. Введение в системное программирование / Л. Бек. – Москва : Миp, 1988.

4.  Грис, Д. Koнcтруировaниe компиляторов для цифровых вычислительных машин / Д. Грис. – Москва : Мир, 1975.

5.  Маккиман, У. Генератор компиляторов / У. Маккиман, Дж. Хорнинг, Д. Уортман. – Москва : Статистика, 1980.

6.  Рейуорд-Смит, В. Дж. Теория формальных языков. Вводный курс / В. Дж. Рейуорд-Смит. М : Радио и связь, 1988.

7.  Разработка компиляторов : лабор. работы / Сост. И. Л. Коробова– Тамбов : Тамб. гос. техн. ун-т, 1997. –28 с.

8.  Проектирование трансляторов : метод.указания / Сост. :
И. Л. Коробова
, Д. В. Абрамов. – Тамбов : Изд-во Тамб. гос. техн. ун-та, 2000. –28 с.

9.  Основы разработки трансляторов в САПР : учебное пособие / И. Л. Коробова, И. А. Дьяков, Ю. В. Литовка. – Тамбов : Изд-во ТГТУ, 2007. 80 с.

ОГЛАВЛЕНИЕ


ВВЕДЕНИЕ …………………………………………………………....




Лекция 1. ТЕОРИЯ ФОРМАЛЬНЫХ ГРАММАТИК И ЯЗЫКОВ




1. Грамматика ……………………………………………………...




2. Формальные определения грамматики языка ………………...




3. Классификация грамматик ………………..……………………




4. Синтаксические деревья ………………..………………………




Лекция 2. ТЕОРИЯ ТРАНСЛЯЦИИ ………………..………………..




1. Лексический анализ ………………..………………..………….




2. Синтаксический анализ ………………..……………………….




3. Метод рекурсивного спуска ………………..………………….




4. Метод операторного предшествования ……………………….




5. Внутреннее представление программы ……………………….




6. Генерация кода ………………..………………..………………




Лекция 3. ОРГАНИЗАЦИЯ ТАБЛИЦ СИМВОЛОВ




1. Способы организации таблиц символов




2. Метод цепочек




Лекция 4. ОПТИМИЗАЦИЯ КОДА.




1. Удаление общих подвыражений




2. Удаление инвариантов цикла




Лекция 5. ОРГАНИЗАЦИЯ ДИАЛОГА В ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ




1. Проектирование интерактивных систем




2. Диалог на основе выбора из меню




3. Диалог типа «вопрос-ответ»




4. Диалог типа «заполнение бланка»




5. Диалог типа «прямой режим»




6. Средства помощи и поддержки




ВАРИАНТЫ ЗАДАНИЙ К ЛАБОРАТОРНЫМ РАБОТАМ




КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ "ЛИНГВИСТИЧВСКИЕ СРЕДСТВА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ".




КОНТРОЛЬНЫЕ ВОПРОСЫ



СПИСОК ЛИТЕРАТУРЫ






Учебное издание
КОробова И. Л.

ТЕОРИЯ ТРАНСЛЯЦИИ
Конспект лекций
Редактор Т. М. Глинкина
Инженер по компьютерному макетированию И. В. Евсеева

Подписано к изданию 00.00.2014.

Заказ № 00
Издательско-полиграфический центр ФГБОУ ВПО «ТГТУ»

392000, г. Тамбов, ул. Советская, д. 106, к. 14

Телефон (4752) 63-81-08

E -mail: izdatelstvo@admin.tstu.ru