Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемГаля Харлампиева
1 Язык высокого уровня компилятор Программа компиляторов Сделал:Студент группы:Ис-2о(очная)Воротов Валентин
2 Компилятор Компиля́тор программа или техническое средство, выполняющее компиляцию.
3 Виды компиляции Пакетная. Компиляция нескольких исходных модулей в одном пункте задания. Построчная. То же, что и интерпретация. Условная. Компиляция, при которой транслируемый текст зависит от условий, заданных в исходной программе директивами компилятора. Так, в зависимости от значения некоторой константы, можно включать или выключать трансляцию части текста программы.
4 Структура компилятора Процесс компиляции состоит из следующих этапов: Лексический анализ. На этом этапе последовательность символов исходного файла преобразуется в последовательность лексем. Синтаксический (грамматический) анализ. Последовательность лексем преобразуется в дерево разбора. Семантический анализ. Дерево разбора обрабатывается с целью установления его семантики (смысла) например, привязка идентификаторов к их декларациям, типам, проверка совместимости, определение типов выражений и т. д. Результат обычно называется «промежуточным представлением/кодом», и может быть дополненным деревом разбора, новым деревом, абстрактным набором команд или чем-то ещё, удобным для дальнейшей обработки.
5 Оптимизация. Выполняется удаление излишних конструкций и упрощение кода с сохранением его смысла. Оптимизация может быть на разных уровнях и этапах например, над промежуточным кодом или над конечным машинным кодом. Генерация кода. Из промежуточного представления порождается код на целевом языке. В конкретных реализациях компиляторов эти этапы могут быть разделены или, наоборот, совмещены в том или ином виде
6 Виды компиляторов Векторизующий. Транслирует исходный код в машинный код компьютеров, оснащённых векторным процессором.исходный кодмашинный кодвекторным процессором Гибкий. Сконструирован по модульному принципу, управляется таблицами и запрограммирован на языке высокого уровня или реализован с помощью компилятора компиляторов.модульномуязыке высокого уровня Диалоговый. См.: диалоговый транслятор. Инкрементальный. Повторно транслирует фрагменты программы и дополнения к ней без перекомпиляции всей программы. Интерпретирующий (пошаговый). Последовательно выполняет независимую компиляцию каждого отдельного оператора (команды) исходной программы. оператора
7 Компилятор компиляторов. Транслятор, воспринимающий формальное описание языка программирования и генерирующий компилятор для этого языка.Компилятор компиляторовязыка программирования Отладочный. Устраняет отдельные виды синтаксических ошибок. Резидентный. Постоянно находится в оперативной памяти и доступен для повторного использования многими задачами. Самокомпилируемый. Написан на том же языке, с которого осуществляется трансляция. Универсальный. Основан на формальном описании синтаксиса и семантики входного языка. Составными частями такого компилятора являются: ядро, синтаксический и семантический загрузчики.синтаксическийсемантический
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.