Трансляция (лат. translatio — перевод) - преобразование программы с одного языка программирования на другой, который понятен процессору или программе-интерпретатору.
Транслятор - программа или техническое средство (процессор), выполняющее трансляцию программы.
Язык, на котором представлена входная программа, называется исходным языком, а сама программа - исходным кодом. Выходной язык называется целевым языком или объектным кодом.
Исходный код => Транслятор => Объектный код.
Компиляция - трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера).
Интерпретация - пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется до её выполнения целиком).
Трансляторы:
- Интерпретатор - программа или аппаратное средство, выполняющее интерпретацию.
- Компилятор - программа или аппаратное средство, выполняющее компиляцию.
Компилировать - проводить трансляцию машинной программы с проблемно-ориентированного языка на машинно-ориентированный язык.
|
|
Решение:
Существуют два принципиально различных метода трансляции. Они называются соответственно компиляция и интерпретация. Для объяснения их различия можно предложить следующую аналогию: лектор должен выступить перед аудиторией на незнакомом ей языке. Перевод можно организовать двумя способами:
- полный предварительный перевод – лектор заранее передает текст выступления переводчику, тот записывает перевод, размножает его и раздает слушателям (после чего лектор может и не выступать);
- синхронный перевод – лектор читает доклад, переводчик одновременно с ним слово в слово переводит выступление.
Компиляция является аналогом полного предварительного перевода; интерпретация – аналогом синхронного перевода. Транслятор, работающий по принципу компиляции, называется компилятором; транслятор, работающий методом интерпретации, – интерпретатором.