Основные задачи компиляторов
Компьютеры сами по себе способны выполнять только очень ограниченный набор операций, называемых машинными кодами. В старые времена, когда появились первые компьютеры, программы писались в машинных кодах, представляющих собой последовательности двоичных чисел, однозначно воспринимаемых компьютером. В конце 50-х кодов прошлого века появились первые языки программирования, такие как язык ассемблера и Фортран. Для того, чтобы компьютер мог понять программу, написанную на каком-то языке программирования, необходим переводчик (транслятор) такой программы в машинные коды. Отметим, что, если оператор языка ассемблера отображается при трансляции чаще всего1в одну машинную инструкцию, предложения языков более высокого уровня отображаются, вообще говоря, в несколько машинных инструкций.
Трансляторы бывают двух типов: компиляторы (compiler) и интерпретаторы (interpreter). Процесс компиляции состоит из двух частей: анализа (analysis) и синтеза (synthesis). Анализирующая часть компилятора разбивает исходную программу на составляющие ее элементы (конструкции языка) и создает промежуточное представление исходной программы. Синтезирующая часть из промежуточного представления создает новую программу, которую компьютер в состоянии понять. Такая программа называется объектной программой. Объектная программа может в дальнейшем выполняться без перетрансляции. В качестве промежуточного представления обычно используются деревья, в частности, так называемые деревья разбора. Под деревом разбора понимается дерево, каждый узел которого соответствует некоторой операции, а сыновья этого узла – операндам.
- Лекция 3. Основы компиляторов
- Основные задачи компиляторов
- Интерпретатор
- Компилятор
- Объектная программа
- Трансляция в ассемблер
- T-диаграммы
- Методики создания компилятора
- Метод раскрутки
- Кросс-транслятор
- Виртуальная машина
- Компиляция "на лету"
- Фазы компиляции
- Лексический анализ
- Синтаксический анализ
- Видозависимый анализ
- Оптимизация кода
- Генерация кода
- Внешний и внутренний интерфейсы
- Просмотры
- Техника "заплат"
- Литература к лекции