Программы, которые выполняются на ЭВМ с использованием компиляторов обычно проходит следующие этапы обработки:
Редактор текста => Исходный текст программы => Компиляторы => Объектный код программы => Обработка редактора связей (<= Библиотеки, объектные коды других модулей) => Исполняемая программа => Загрузчик => Выполнение.
Редактор текста – программа, предназначенная для подготовки файлов, содержащих тексты программы (любая программа, не добавляющая своих собственных команд). Например, Блокнот.
Однако предпочтительно использовать специализированные текстовые редакторы, которые осуществляют цветовое выделение команда и могут сами проверять синтаксис конструкции.
Результатом использования редактора текстов является текстовый файл, содержащий текст программы. Этот текст называется исходным.
Для выполнения программы на ЭВМ ее исходный код должен быть обработан компилятором.
Компилятор осуществляет перевод программы на машинный код и проверяет синтаксис.
Если обнаружены синтаксические ошибки, то выдаются диагностические сообщения и процесс трансляции прекращается.
Если ошибки не обнаружены, то формируется объектный код программы, записываемый на магнитный диск.
Полученный код программы для выполнения не пригоден, это связанно с тем, что объектный код содержит ссылки на другие модули, необходимые для его выполнения.
Эти ссылки называются внешними. Для разрешения этих ссылок объектный код обрабатывается редактором внешних связей или компоновщиком. Эта программа подключает к исходному объектному коду, коды необходимые для выполнения модуля и тем самым разрешает внешние ссылки.
|
Для этого он использует имеющиеся библиотеки и объектные модули других ранее транслированных частей программы. В результате создается исполняемая программа готовая к выполнению. Она записывается в файл называемый исполняемым файлом программы. Этот файл с помощью программы загрузчика может быть помещена в память ЭВМ и запустится на выполнение.
Однажды созданная исполняемая программа может быть многократно выполнена на компьютере или перемещаться с одного компьютера на другой.
Следует отметить, что исполняемые программы обычно характеризуются быстродействием.
В систему программирования языков компилирующего типа так же входит программа отладчик (Debugger)
Отладчик – программа, предназначенная для упрощения поиска в программе семантических ошибок.
Все ошибки делятся на:
- синтаксические
Обычно обнаруживаются компилятором или интерпретатором и связаны с синтаксическими ошибками в исходном тексте.
- семантические
Связанны с ошибками в алгоритме решаемой задачи или с неправильной конструкцией используемого ЯП. Они выявляются на стадии выполнения программы и выражаются в получении неверных результатов, в зацикливании программы или возникновения аварийных ситуаций (деление на ноль, квадратный корень из отрицательного числа и т.д.)
Поиск таких ошибок является самой сложной и трудоемкой задачей. Для упрощения используется отладчик.
Обычно отладчик поддерживает следующие функции:
* Трассировка программы – пошаговое выполнение программы позволяющая программисту точно отследить команды в порядке их выполнения.
|
* Задавать контрольные точки остановок. Позволяет приостановить программу при достижении заданного места в ее исходном тексте. Программист может посмотреть текущее значение переменных и продолжить выполнение программы.
* Осуществлять проверку и измерение данных. Позволяет так же приостановить программу, просмотреть значения переменных и, при необходимости, изменить их значение.
Библиотекарь.
Объектные модули можно хранить в отдельных файлах, а можно поместить в один файл – библиотекарь. Часто вместе с компилятором поставляются библиотекари причем каждая программа реализует часто используемый алгоритм и программа может при необходимости из своей программы обращаться к подпрограмме: библиотеке.
Используя библиотек позволяет автоматизировать и упростить решение задач.
Библиотекарь – это специальная программа которая позволяет из объектных модулей формировать библиотеки и управлять ее содержимым.
Библиотекарь обычно позволяет:
- создавать библиотеку;
- просмотр содержимого;
- включить новый модуль или удалить существующий.
Профилировщик.
Профилировщик- спец. Программа, которая позволяет оценить эффективность разработанной программы. Она отображает ориентировочное время выполнения для каждой процедуры или команды программы, позволяет понять причину не эффективности программы.
6. Интерпретатор.
При использовании АЯ интерпретирующего типа порядок обработки программы выглядит так:
Программа => Интерпретатор => Результат.
Для выполнения программы записанной на ЯП программирования интерпретирующего типа на компьютере должен быть установлен интерпретатор с этого языка. Интерпретатор – специальная программа которая обеспечивает выполнение на ЭВМ исходных текстов программы или вводимых операторов.
Использование интерпретатора имеет плюсы и минусы.
- программы выполняются намного медленнее чем исполняемые программы
+ отсутствие необходимости в системе программирования
- увеличение скорости отладки программы, т.к. человек и машина имеют дело с одним и тем же текстом программы