Проектирование трансляторов языков программирования. Схема работы компилятора. (Глава 1) презентация

Содержание

Цели и задачи курса Познакомится с базовыми идеями и методами, используемыми при создании трансляторов, а также получить практические навыки построения простейших компиляторов.

Слайд 1Проектирование трансляторов
к.т.н., доцент, зам. зав. кафедры ИТиПИ
Бальченко Ирина Владимировна
ауд. 55
ГЛАВА

1

Слайд 2Цели и задачи курса
Познакомится с базовыми идеями и методами, используемыми при

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


Слайд 3Модули


Слайд 4Литература




Волкова И.А., Руденко Т.В. “Формальные грамматики и языки. Элементы теории трансляции”: учебное

пособие. – М.:МГУ, 1999 – 62 с.




Слайд 5Теория развития компиляторов развивалась в течение последних 70 лет. Процесс создания

новых компиляторов не прекращается, это связано с:

развитием технологии вычислительных систем
с необходимостью решения более сложных разнообразных прикладных задач.


Слайд 7Существуют языки:
логики (Prolog1970, программа представляет собой набор целей и правил, которые

будут выполняться для достижения цели)
функциональные (Lisp, оперируют функциями высокого порядка, не данными!!!)
параллельного программирования (MPI)
объектные языки (Java, С#)
запросов (SQL)
четвертого поколения 4GL (используют естественные языки или визуальные конструкции)
мета-языки PNF (язык предназначен для описания другого языка).

Слайд 8Основные понятия и определения
Транслятор – обслуживающая программа, преобразующая исходную программу на

входном языке программирования в рабочую программу на результирующем языке.
Компилятор – транслятор, преобразующий исходную программу в эквивалентную ей программу на машинном языке или языке ассемблера.



Слайд 9Основные понятия и определения
Ассемблер – системная обслуживающая программа, преобразующая символические конструкции

в команды машинного языка.
Машинный код - набор кодов операций, выполняемых определенной машиной.



Слайд 10Основные понятия и определения
Интерпретатор – программа или устройство, осуществляющая последовательную интерпретацию

и выполнение исходной программы.
Интерпретатор не порождает объектную программу, распознает и сразу выполняет.
Граница между компиляцией и интерпретацией в трансляторе может перемещаться от входного языка (чистый интерпретатор) до машинного языка (чистый компилятор).


Слайд 11Основные понятия и определения
Если выходной язык компилятора является машинным языком для

компьютера с другой архитектурой, нежели тот, в котором работает компилятор, то такой компилятор называется кросс компилятором, а сама система – кросс система.
Эмулятор – программа или программно-техническое средство, обеспечивающая возможность без перепрограммирования выполнять на данной ЭВМ программу, использующую коды или способы выполнения операций, отличные от данной ЭВМ.


Слайд 12Основные понятия и определения
Перекодировщик – программа или программное устройство, переводящее программы,

написанные на машинном языке одной ЭВМ в машинный язык другой ЭВМ. (пример, компилятора).
Препроцессор (макропроцессор) – программа, обеспечивающая замену одной последовательности символов в другую последовательность.
Перемещаемая программа – программа (или часть программы) которая может быть загружена в любую область памяти. Обычно такая программа разделяется на управляющие секции, и все требуемые адреса выражаются относительно начала соответствующей секции. Компилятор или ассемблер создает таблицу всех таких обращений к памяти, а программа-загрузчик преобразует их в абсолютные адреса.

Слайд 13Основные технические средства, используемые в комплексе с компиляторами
Текстовый редактор – служит

для создания исходных текстов
Компоновщик – позволяет объединять несколько объектных модулей, библиотеки прикладных программ, которые содержат в себе уже откомпилированные объектные модули и объединены в единое целое
Загрузчик – обеспечивает подготовку готовой программы к выполнению (часть ОС).
Отладчик


Слайд 14Общая схема работы компилятора


Слайд 15Процесс прохода. Разнопроходные компиляторы
Проход – это процесс последовательного чтения компилятором данных

из внешней памяти, их обработка, и помещение результата работы во внешнюю память.

Различают одно-, двух-, трех- проходные компиляторы.


Слайд 16Трехпроходный компилятор


Слайд 17Двухпроходный компилятор


Слайд 18Однопроходный компилятор


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика