Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОБЗОРНАЯ ЛЕКЦИЯ ПО КУРСУ ЯП и МТ.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
141.53 Кб
Скачать

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

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

Основная литература

  1. А.Ахо, Р.Сети, Д.Ульман, Компиляторы: принципы, технологии, инструменты.-М: Издат.дом «Вильямс», 2003. – 768с.

  2. Опалева, Э. А.  Языки программирования и методы трансляции: учеб. пособие для вузов / Э. А. Опалева, В. П. Самойленко. - CПб. : БХВ - Санкт-Петербург, 2005. - 480 с.

  3. Гордеев, А.В.       Системное программное обеспечение / А.В. Гордеев, А.Ю. Молчанов. - CПб. : Питер, 2001. - 736 с. 

  4. Бен-Ари М. Языки программирования. Практический сравнительный анализ. – М.: Мир, 2000. – 366с

  5. Свердлов С. З. Введение в методы трансляции. Вологда, Русь, 1994

  6. Р.Компаниец, Е.Маньков, Н.Филатов, Системное программирование: основы построения трансляторов, Корона-Принт, СПб, 2000

1 Описание языка программирования

Вопросы разработки, использования и реализации языка программирования тесно связаны с проблемой точного описания (определения) языка. Для определения языка требуется задать множество основных символов языка и описать его синтаксис и семантику.

Синтаксис языка определяет правила составления конкретных программ как цепочек, состоящих из основных символов языка.

Семантика задает смысловые значения конструкций языка, а также интерпретацию различных синтаксических конструкций языковым процессором.

Лексема

2 Введение в трансляцию

Различают несколько видов трансляторов: компиляторы, интерпретаторы, конверторы (рисунок 1).

Компилятор, обрабатывая исходную программу, создает эквивалентную программу на машинном языке, которая называется также объектной программой, или объектным кодом. Объектный код как правило записывается в файл, но не обязательно представляет собой готовую к исполнению программу. Для программы, состоящей из многих модулей, может образовываться много объектных файлов. Объектные файлы объединяются в исполняемый модуль с помощью специальной программы-компоновщика, которая входит в состав системы программирования.

Интерпретатор, распознавая как и компилятор, исходную программу, не формирует машинный код в явном виде. Для каждой операции, которая может потребоваться при исполнении исходной программы, в программе-интерпретаторе заранее заготовлена машинная команда или команды. «Узнав» очередную операцию в исходной программе, интерпретатор выполняет соответствующие команды, потом – следующие, и так всю программу. Интерпретатор – это переводчик и исполнитель исходной программы.

Существую трансляторы, переводящие программу не в машинный код, а на другой язык. Такие трансляторы иногда называют конверторами.

Транслятор в общем случае связан с тремя языками:

  1. входной язык – с которого выполняется перевод

  2. целевой (объектный) язык – на который выполняется перевод

  3. инструментальный язык – на котором написан сам транслятор

  4. Трансляторы удобно изображать в виде Т-диаграмм, которые предложил (Х.Брэтман) в 1961 г. Cлева на такой диаграмме записывается исходный язык, справа – объектный, снизу – инструментальный.

Бейсик

IBM PC

Этапы трансляции