Рассмотрим, как из программы, сочиненной на языке высокого уровня, получается другая - машинная. Программу (выходной текст) с помощью специальной программы (она называется текстовым редактором), часто записывают на диск в виде выходного файла. Программа может состоять из нескольких выходных файлов, в крупных программах их может насчитываться десятки.
Во время работы транслятора читается выходной файл и создается его машинный эквивалент - объектный код. Процесс выполнения программы-транслятора называется трансляцией или компиляцией выходного текста.
Объектный код обрабатывается еще одной программой - редактором связей или компоновщиком, который «собирает» (составляет) полный код программы и записывает его или в ОП или на диск, в виде готового к выполнению файла, который можно скачать позже.
Интерпретатор в отличие от транслятора не создает машинную программу. Входные данные для интерпретатора - это высокоуровневая программа и данные, которые должны считываться во время ее выполнения.
Интерпретация программы заключается в том, что действия заданные программой, сразу выполняются. Обычно интерпретация выходной программы происходит медленнее, чем выполнение соответствующей машинной программы.
Еще один способ обработки выходной программы, объединяет в себе трансляцию и интерпретацию. Программа переводится не в машинные команды, а в некоторое промежуточное изображение, которое потом интерпретируется. Такой подход реализован в частности в языке Java, который быстро нашел себе, многих поклонников среди программистов.




Теги: