Трансляция

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

Замечание. В современных визуальных средах разработки в качестве главной может применяться специальный объект – форма.

Каждая процедура может передавать данные в другую процедуру и получать обратно результаты ее работы. Совокупность процедур и связей между ними составляют структуру программы. Вариант возможной структуры программы показан на рисунке.

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

Для обозначения объектов программы на алгоритмическом языке используется понятие имя.

Пример. Возможные имена.

x matrix Height Copy1 Sum

Во время трансляции происходит распределение памяти, т.е. процесс выделения каждому именованному объекту программы области памяти необходимого размера. Выделенная область памяти характеризуется начальным адресом расположения объекта. Поэтому распределение памяти – это процесс установления взаимно однозначного соответствия между именем в исходном модуле и адресом в объектном модуле. Схематически это можно изобразить так.

Поскольку после трансляции программа представляет собой совокупность нескольких объектных модулей, то в качестве адреса объекта выступает смещение относительно начала модуля, в котором встречается его имя. Такие адреса называют относительными.

Наиболее распространенными языками программирования являются: FORTRAN (Formula Translator – переводчик формул), PL/1 (Programming Language/1 – язык программирования 1), Cи C++, Pascal, BASIC (Beginner's All-purpose Symbolic Instruction Code – универсальный язык символического кодирования для начинающих).