Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Общая схема работы






Трансляторы, компиляторы и интерпретаторы

Общая схема работы

Транслятор – это программа, которая переводит входную программу на исходном (входном) языке в эквивалентную ей выходную программу на результирующем (выходном) языке.

В определении транслятора, как и в его работе, участвует три программы.

Во-первых, сам транслятор – программа. Он входит в состав СПО, представляет собой набор машинных команд и данных и выполняется компьютером в рамках ОС.

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

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

Важным требованием в определении транслятора является эквивалентность программ на входе и выходе. Нарушение этого требования делает работу транслятора бесполезной.

С точки зрения принципа работы транслятор выступает как переводчик: преобразует предложения входного языка в эквивалентные им предложения выходного языка. Кроме того, само слово «транслятор» означает «переводчик».

Кроме понятия «транслятор» широко применяется близкое понятие «компилятор».

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

Всякий компилятор является транслятором, но не всякий транслятор является компилятором: К Т, Т К.

Слово «компилятор» соответствует английскому «составитель», «компоновщик». Выданная компилятором программа или код не может непосредственно выполняться на компьютере из-за того, что не привязана к конкретной области памяти с кодами и данными. Компиляторы – самый распространенный вид трансляторов. Если трансляторы и компиляторы во многом похожи, то существуют принципиально отличное от них понятие интерпретатора.

Интерпретатор – это программа, которая воспринимает входную программу на исходном языке и выполняет ее.

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


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал