Программы трансляторы или компиляторы это

Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.

Компилятор (англ. compiler — составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется.

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

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

Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.
Каждый конкретный язык ориентирован либо на компиляцию, либо на интерпретацию — в зависимости от того, для каких целей он создавался. Например, Паскаль обычно используется для решения довольно сложных задач, в которых важна скорость работы программ. Поэтому данный язык обычно реализуется с помощью компилятора. С другой стороны, Бейсик создавался как язык для начинающих программистов, для которых построчное выполнение программы имеет неоспоримые преимущества. Иногда для одного языка имеется и компилятор, и интерпретатор. В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.

Компиляция и интерпретация за 10 минут

Источник: ronl.org

Компиляторы против интерпретаторов

Термины компилятор и интерпретатор описывают способ, с помощью которого выполняется программа. Теоретически любой язык программирования может быть или компилятором, или интерпретатором, но некоторые языки обычно являются либо компиляторами, либо интерпретаторами. Например, Бейсик — обычно интерпретатор, а С — обычно компилятор. Способ, с помощью которого программа выполняется, не определяется языком программирования, на котором она написана. Интерпретаторы и компиляторы — это просто сложные программы, оперирующие с исходным кодом.

Читайте также:
Инструкция по применению программы Гранд смета

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

Когда используется интерпретатор, он должен присутствовать все время для выполнения программы. Например, в традиционном Бейсике необходимо запустить интерпретатор Бейсика , затем загрузить программу и набрать RUN для запуска. Интерпретатор построчно проверит на правильность и выполнит программу. Этот медленный процесс возникает каждый раз при запуске программы.

Что такое компилятор и интерпретатор ? Их основные отличия.

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

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

Источник: www.c-cpp.ru

Программы трансляторы или компиляторы это

Ниже приведена таблица, иллюстрирующая различия в подходах к пониманию трансляторов, компиляторов и интерпретаторов.

Строгий подход Абстрактный подход
Сторонники авторы книги «PHP 5» Дмитрий Ко-теров и Алексей Костарев Авторы большинства статей в Ин-тернете
Классификация программ, преобра-зующих программный код Трансляторы и интерпретаторы. Компиляторы – частный случай трансляторов Трансляторы.
Компиляторы и интерпретаторы – частные случаи трансляторов
Характеристика интерпретаторов, выполняющих предварительную трансляцию в промежуточный код Интерпретатор с оптимизирующим транслятором или интерпретирую-щий транслятор (с основной функци-ей интерпретации) Интерпретатор компилирующего типа

Читайте также:
Компьютерные программы для резюме список для администратора

Чистые компиляторы: C, C++, Pascal, Assembler
Чистые интерпретаторы: Basic, JavaScript, JScript, командный язык DOS (выполняю-щий bat-файлы), shell (командный язык Unix), Python и его разновидности, JVM (виртуальная машина Java), PHP до версии 3, CLR (общеязыковая среда исполнения технологии .NET).
Интерпретаторы с оптимизирующей трансляцией: PHP с версии 4, Perl
Трансляторы в промежуточный код: .NET-языки (Visual C#, Visual J#, Visual Basic .NET, Visual C++ .NET), javac (транслятор Java).

Дельная вещь.
Ты разобрался.
В голове улеглось
Чтобы лучше улеглось, все постарался систематизировано записать.
Я так часто делал.

Кстати, интерпретаторы могут иметь в своем составе (или находиться в среде совместно с) анализаторами кода, выявляющими ошибки до выполнения.

Ну а это уже не чистые интерпретаторы.

Ассемблер отличается от компилятора тем, что он транслирует одно предложение ЯП строго в одну машинную команду.

А ты не задумывался, почему не бывает «чистого» ассемблера, а он всегда с какими-то мерзкими добавочками типа «Ассемблер 386» или «Ассемблер РС»?

Источник: delphimaster.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru