Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные ТЯПиМТ.doc
Скачиваний:
18
Добавлен:
09.11.2019
Размер:
693.76 Кб
Скачать

В И Ш Н Я К О В Ю.М.

Б А Л А Б А Е В А И.Ю.

Проектирование трансляторов

Руководство к циклу лабораторных работ по курсу «Теория языков программирования и методы трансляции»

Таганрог 2008

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Технологический институт Федерального государственного образовательного учреждения высшего профессионального образования “Южный федеральный университет”

ВИШНЯКОВ Ю.М.

БАЛАБАЕВА И.Ю.

Руководство к циклу лабораторных работ по курсу «Теория языков программирования и методы трансляции»

Проектирование трансляторов

Для студентов направления «Информатика и вычислительная техника»

010503 «Математическое обеспечение и администрирование информационных систем» (специалитет),

230105 «Программное обеспечение вычислительной техники и автоматизированных систем» (специалитет),

230100 «Информатика и вычислительная техника» (бакалавриат)

Таганрог 2008

УДК 681.3×5 (075.8)

Рецензенты:

Вишняков Ю.М., Балабаева И.Ю. Проектирование трансляторов: Руководство к циклу лабораторных работ по курсу «Теория языков программирования и методы трансляции». – Таганрог: Изд-во ТТИ ЮФУ, 2008. – __с.

Руководство к циклу лабораторных работ охватывает все аспекты проектирования трансляторов языков программирования высокого уровня: лексический анализ, синтаксический анализ, преобразование исходной программы во внутреннее представление в виде обратной польской записи и генерация объектного кода программы из внутреннего представления.

Содержание цикла лабораторных работ основано на материалах, используемых авторами в учебном процессе ТТИ ЮФУ по курсу «Теория языков программирования и методы трансляции».

Пособие предназначено для студентов направления «Информатика и вычислительная техника»: специальностей 010503 «Математическое обеспечение и администрирование информационных систем», 230105 «Программное обеспечение вычислительной техники и автоматизированных систем» и бакалавриата по направлению 230100 «Информатика и вычислительная техника».

Библиогр.: _назв.

© Ю.М. Вишняков, И.Ю. Балабаева, 2008

© ТТИ ЮФУ, 2008

Оглавление

Введение 7

1 Лабораторная работа «Построение лексического анализатора» 8

1.1 Основные понятия лексического анализа 8

1.2 Лексемы простого PL-подобного языка программирования 8

1.3 Функции и таблицы лексического анализа 11

1.4 Диаграмма состояний лексического процессора 15

2 Лабораторная работа «Перевод исходной программы в обратную польскую запись» 21

2.1 Понятие обратной польской записи 21

2.2 Алгоритм Дейкстры 21

2.3 Перевод выражений, содержащих переменные с индексами, в ОПЗ 23

2.4 Перевод в ОПЗ выражений, содержащих указатели функций 26

2.5 Перевод условных выражений в ОПЗ 29

2.6 Перевод оператора присваивания в ОПЗ 31

2.7 Перевод оператора безусловного перехода и меток в ОПЗ 33

2.8 Перевод условного оператора в ОПЗ 36

2.9 Перевод описаний переменных и процедурных блоков в ОПЗ 37

2.10 Комплексный пример перевода исходной программы в ОПЗ 42