1.4. Ошибки

1.4.1. Трансляторы. Синтаксис и семантика

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

Так как текст записанной на Паскале программы не понятен компьютеру, то требуется перевести ею на машинный язык. Такой перевод программы с языка программирования на язык машинных кодов называется трансляцией (translation — перевод), а выполняется он специальными программами — трансляторами.

Существует три вида трансляторов: интерпретаторы, компиляторы и ассемблеры.

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

Компилятор преобразует (транслирует) всю программу в модуль на машинном языке, после этого программа записывается в память компьютера и лишь потом исполняется.

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

Ассемблеры переводят программу, записанную на языке ассемблера (автокода), в программу на машинном языке.

Любой транслятор решает следующие основные задачи:

• анализирует транслируемую программу, в частности определяет, содержит ли она синтаксические ошибки;

• генерирует выходную программу (ее часто называют объектной или рабочей) на языке команд ЭВМ (в некоторых случаях транслятор генерирует выходную программу на промежуточном языке, например, на языке ассемблера);

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

В отличие от естественных языков, таких как русский, английский и др., язык программирования имеет очень ограниченное количество "слов", по­нятных компилятору, и строгие правила записи команд. Совокупность этих требований образует синтаксис языка программирования, а смысл команд и других конструкций языка — его семантику.

 предыдущая         меню        вверх         следующая

Hosted by uCoz