Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Богданов В. С.. Лексический анализатор

.pdf
Скачиваний:
7
Добавлен:
15.11.2022
Размер:
100.08 Кб
Скачать

Разработать программу построения функций предшествования по матрице предшествования.

8. Написать синтаксический анализатор на основе рекурсивного спуска, обрабатывающий выражения языка с нижеприведенной грамматикой

E ® TG

G ® +TG êl

T ® FU

U ® хFU êl F ® (E) ê

áидентификаторñ.

В пунктах 9–11 используя приведенный фрагмент языка, являющегося подмножеством Паскаля и множество правил грамматики, приведенной выше, составить грамматику, описывающую данный фрагмент и для нее спроектировать модули синтаксического анализатора и транслятор, используя один из методов (рекурсивного спуска, операторного предшествования, прямые методы трансляции).

9. program NOMER _9; label:10;

var K, J: integer; S: real; begin

read (S); I S = Ø.Ø then goto 1 Ø;

for J : = 1 to 20 do begin

S: = S + J; K :=J end;

10: urite (S) end.

10. program NOMER_10; label 1;

var A, B, C, D: real; I; integer;

Begin

1: real (A, B, C); for I: = Ø to 5Ø Lo

D: = (A *A – 1/C) * B + 20;

If D * D áñ 10.5 then goto 1

else write (D, A, B);

if D á = 20 then goto 1; end.

Примечание. Для вычисления выражения использовать метод Дейкстры. 11. program NOMER_11;

11

label: 20*, 10; var I: integer; X, Y; real, begin

x: = 2.81; Y: + 5.53;

20:if X + 20.0 á = X * 1.5 then goto 10;

for I: = 1 to 50 Lo

Y: = Y * (X + 1.Ø – I); read (X< Y);

goto 2Ø;

10; write (X, Y) end.

12.Описать алгоритмы перевода конструкций языка Турбо-Паскаль в ассемблерный год

1.Оператор присваивания.

2.Указатель функции.

3.Операторы процедуры и циклические.

Примечание. Использовать возможности системы Турбо-Паскаль (Lebugger).

13.Описать алгоритмы перевода и представить фрагменты на языке ассемблера, используя возможности системы Турбо-Паскаля, для следующих элементов языка.

2.1.Описания констант, переменных массивов;

2.2.Операторов ввода-вывода;

2.3. Операторов цикла.

Примечание. Использовать отладчик.

14. Разработать интерпретатор для команд и работы с каталогами и файлами для некоторой ОС. Формат команд такой же, как в MS DOS.

12

Библиографический список

1.Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. Питер, 2001, 786 с.

2.Лебедев В.Н. Введение в системы программирования. М.: Статистика, 1975. 312 с.

3.Хопгуд Ф. Методы компиляции. М.: Мир, 1982.

4.Хантер Р. Проектирование и конструирование компиляторов: Пер. с англ./ Предисл. В.М. Савинкова. М.: Финансы и статистика, 1984. 232 с.

5.Зелковец М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения: Пер. с англ. М.: Мир, 1982. 368 с.

6.Теория языков программирования и методы трансляции. Методические указания / Рязан. Гос. радиотехн. Акад.; Сост. В.С. Богданов, Рязань, 2003. 48 с (№ 3435).

13

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]