Курс Основы построения трансляторов


Сущность трансляции. Компиляция и интерпретация


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

      КОМПИЛЯЦИЯ - преобразование объектов (данных и операций над ними) с входного языка в объекты  на другом языке для всей программы в целом с последующим выполнением полученной программы в виде отдельного шага.

      ИНТЕРПРЕТАЦИЯ - анализ отдельного объекта на входном языке с одновременным выполнением (интерпретацией).

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

      Если посмотреть на эти различия несколько с другой стороны, то можно заметить, что интерпретатор непосредственно выполняет действия, связанные с определением или преобразованием объектов программы, а компилятор - переводит их на другой (не обязательно машинный язык). Отсюда можно сделать несколько выводов:

- для выполнения программы, написанной на определенном формальном языке после ее компиляции  необходим интерпретатор, выполняющий эту программу, но уже записанную на выходном языке компилятора;

- процессор и память любого компьютера (а в широком смысле и вся программная среда, создаваемая операционной системой, является ИНТЕРПРЕТАТОРОМ машинного кода);

- в практике построения трансляторов часто встречается случай, когда программа компилируется со входного языка на некоторый промежуточный уровень (внутренний язык), для которого имеется программный интерпретатор.


Начало  Назад  Вперед



Книжный магазин