6.10. Что такое транслятор,
компилятор, интерпретатор?
Транслятор (англ. translator —
переводчик) — это программа-переводчик.
Она преобразует программу, написанную
на одном из языков высокого уровня, в
программу, состоящую из машинных
команд.
Трансляторы реализуются в виде
компиляторов или интерпретаторов. С точки
зрения выполнения работы компилятор и
интерпретатор существенно различаются.
Компилятор (англ. compiler
— составитель, собиратель) читает всю
программу целиком, делает ее перевод и
создает законченный вариант программы на
машинном языке, который затем и выполняется.
Интерпретатор (англ. interpreter
— истолкователь, устный переводчик)
переводит и выполняет программу строка за
строкой.
После того, как программа откомпилирована,
ни сама исходная программа, ни компилятор
более не нужны. В то же время программа,
обрабатываемая интерпретатором, должна
заново переводиться на машинный язык
при каждом очередном запуске программы.
Откомпилированные программы
работают быстрее, но интерпретируемые
проще исправлять и изменять.
Каждый конкретный язык ориентирован
либо на компиляцию, либо на
интерпретацию — в зависимости от того,
для каких целей он создавался. Например,
Паскаль обычно
используется для решения довольно
сложных задач, в которых важна скорость
работы программ. Поэтому данный язык
обычно реализуется с помощью компилятора.
С другой стороны, Бейсик
создавался как язык для начинающих
программистов, для которых построчное
выполнение программы имеет
неоспоримые преимущества.
Иногда для одного языка имеется и
компилятор, и интерпретатор. В
этом случае для разработки и
тестирования программы можно
воспользоваться интерпретатором, а
затем откомпилировать отлаженную
программу, чтобы повысить скорость ее
выполнения.