Трансляторы

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

Исходный программный модуль – исходный текст программы, как правило, на языке высокого уровня.

Процессор не может исполнить такую программу, пока ее операторы не будут представлены в виде инструкций процессору. Для этого существуют специальные программы – трансляторы.

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

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

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

Объектный модуль – преобразованный в машинный код исходный программный модуль.

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

Исполняемый модуль – это объектный модуль с подключенными библиотечными программами.

Интерпретатор – программа-транслятор, преобразующая операторы исходного модуля в машинные коды непосредственно перед их исполнением. То есть в этом случае исполнение программы идет в виде чередования процессов преобразования очередного оператора в машинный код и исполнения этого кода. В результате интерпретируемая программы исполняется значительно медленнее в сравнении с исполняемым модулем.

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

Все языки программирования можно условно разделить на компилируемые и интерпретируемые. Поскольку откомпилированные программы выполняются в 20-50 раз быстрее, практически все прикладные и служебные программы поставляются в откомпилированном виде. Файлы таких программ имеют расширение .EXE или .COM.

Некоторые интерпретируемые языки программирования могут иметь также и компиляторы.

Интерпретируемые языки проще в изучении.