Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Трансляторы и интерпретаторы. Назначение и отличие



Программа, написанная на языке высокого уровня, абсолютно непонятна ЭВМ как исполнителю. Ее необходимо перевести в команды процессора или выполнять с помощью специальной программы. Общее классообразующее название для таких программ – трансляторы.

Транслятор (англ. translator – переводчик) – это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд. Трансляторы бывают двух принципиально разных видов – интерпретаторы и компиляторы (хотя ряд трансляторов сочетает оба этих подхода). В одной и той же ОС могут быть реализованы как компиляторы, так и интерпретаторы одного и того же языка программирования.

Интерпретатор (англ. interpreter – истолкователь, устный переводчик) переводит и выполняет программу строка за строкой. Это диалоговые программы, которые позволяют программисту работать с текстами его программ: редактировать, запускать на выполнение целиком или по отдельным операторам, просматривать значения переменных. Интерпретатор полностью хранит в ОЗУ текст программы, а при выполнении каждый раз переводит его буквально по букве. Поскольку задача анализа текста довольно сложна, интерпретаторы выполняют программу чрезвычайно медленно (основное время тратится не на исполнение, а на перевод). Кроме того, объем интерпретируемой программы ограничен объемом свободного ОЗУ, которым интерпретатор располагает.

Компилятор (англ. compiler – составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. Компиляторы переводят программу один раз и позволяют получить в конечном итоге загрузочный модуль – программу в машинных кодах, которую можно хранить на диске и запускать на выполнение в любой нужный момент (уже без наличия самого транслятора, а иногда и даже без операционной системы). Скомпилированная программа выполняется на порядок быстрее, чем обрабатываемая интерпретатором, но сам процесс компиляции очень длителен, поэтому отлаживать программу, имея только компилятор, трудно и долго. Трудно потому, что нельзя исполнять программу по шагам, смотреть значения переменных и т.п. После того, как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске.






Дата публикования: 2015-01-26; Прочитано: 1362 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...