Трансляторы
Программу на языке программирования записывают в обычном текстовом редакторе. В таком виде программу называют исходным модулем (кодом, текстом).
Исходный программный модуль – исходный текст программы, как правило, на языке высокого уровня.
Процессор не может исполнить такую программу, пока ее операторы не будут представлены в виде инструкций процессору. Для этого существуют специальные программы – трансляторы.
Транслятор – программа, преобразующая операторы исходного программного модуля в машинный код.
Существуют два вида трансляторов: компиляторы и интерпретаторы.
Компилятор – программа-транслятор, преобразующая исходный программный модуль в объектный модуль.
Объектный модуль – преобразованный в машинный код исходный программный модуль.
Объектный модуль хоть и записан в виде машинных кодов, но он работать не может, так как в нем содержатся вызовы стандартных процедур и программ, которые программист предусмотрел использовать из специальных библиотек программ. Эти библиотеки прилагаются к языку программирования. Операцию выбора программ из библиотек и подключения их к объектному модулю выполняет специальная программа – редактор связей. Только после работы редактора связей получают работающую программу – исполняемый модуль(рабочий код).
Исполняемый модуль – это объектный модуль с подключенными библиотечными программами.
Интерпретатор – программа-транслятор, преобразующая операторы исходного модуля в машинные коды непосредственно перед их исполнением. То есть в этом случае исполнение программы идет в виде чередования процессов преобразования очередного оператора в машинный код и исполнения этого кода. В результате интерпретируемая программы исполняется значительно медленнее в сравнении с исполняемым модулем.
Кроме того, обычно используют оптимизирующие компиляторы. Такой компилятор найдет все повторяющиеся места программы и сделает длину объектного модуля минимальной. В результате дополнительно сокращается время исполнения программы, уменьшается потребность в оперативной памяти.
Все языки программирования можно условно разделить на компилируемые и интерпретируемые. Поскольку откомпилированные программы выполняются в 20-50 раз быстрее, практически все прикладные и служебные программы поставляются в откомпилированном виде. Файлы таких программ имеют расширение .EXE или .COM.
Некоторые интерпретируемые языки программирования могут иметь также и компиляторы.
Интерпретируемые языки проще в изучении.