После того, как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны . В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы
Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять
Каждый конкретный язык ориентирован либо на компиляцию, либо на интерпретацию тАФ в зависимости от того, для каких целей он создавался. Например, Паскаль обычно используется для решения довольно сложных задач, в которых важна скорость работы программ. Поэтому данный язык обычно реализуется с помощью компилятора
С другой стороны, Бейсик создавался как язык для начинающих программистов, для которых построчное выполнение программы имеет неоспоримые преимущества
Иногда для одного языка имеется и компилятор , и интерпретатор . В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения
Компиляция и интерпретация за 10 минут
Источник: www.yurii.ru
В чем различие между компиляцией и интерпретацией?
Компиляция — это один раз преобразуем наш код в машинный и пользуем потом всегда. Интерпретация — каждый раз преобразуем код в машинный, там просто цепочка длиннее. Конечно скомпилированные программы обычно быстрее работают, но раньше компиляция долго шла сама по себе, например 30 минут.
В чем состоит различие между интерпретатором и компилятором?
Интерпретатор берет одну инструкцию, транслирует и выполняет ее, а затем берет следующую инструкцию. Компилятор же транслирует всю программу сразу, а потом выполняет ее.
Что такое компилятор и интерпретатор чем отличаются компиляторы и интерпретаторы?
Компиля́тор — программа или техническое средство, выполняющее компиляцию. Интерпрета́тор — программа (разновидность транслятора), выполняющая интерпретацию. Таким образом, можно заключить, что компилятор преобразует исходный код к близкому к машинному коду.
Что такое интерпретатор и в чем состоит его задача?
Интерпретатор компилирующего типа — это система из компилятора, переводящего исходный код программы в промежуточное представление, например, в байт-код или p-код, и собственно интерпретатора, который выполняет полученный промежуточный код (так называемая виртуальная машина).
Какая программа читает всю программу целиком делает ее перевод и создает законченный вариант программы на машинном языке который затем и выполняется транслятор интерпретатор коммутатор?
Компилятор (англ. compiler — составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. Интерпретатор (англ. interpreter — истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.
Что такое компилятор простыми словами?
Если говорить простыми словами, то под компилятором сегодня имеется в виду программа, которая преобразует текст программы, написанной пользователем, в определенную форму, пригодную для выполнения на вычислительной машине. . Для этих языков соответственно и требуются компиляторы.
Что такое компилятор и интерпретатор?
Интерпретатор построчно читает исходный код программы и выполняет инструкции, содержащиеся в текущей строке, потом переходит к следующей строке. Компилятор читает всю программу и преобразует ее в объектный код, который является такой формой кода, которая может напрямую выполняться компьютером.
Что работает быстрее компилятор или интерпретатор?
Компилятор по сравнению с интерпретатором требует больше времени для анализа и обработки языка высокого уровня. Помимо времени на обработку и анализ, общее время выполнения кода компилятора быстрее в сравнении с интерпретатором.
Что такое интерпретатор Java?
Компиляторы и интерпретаторы — это трансляторы, которые преобразуют исходный код в машинный код, только разными способами. Интерпретатор читает исходный код программы и выполняет его. Преобразование исходного кода в бинарный и выполнение происходит построчно.
Чем байт код отличается от машинного кода?
Байт-код во многом похож на машинный код, только он использует набор инструкций не реального процессора, а виртуального. При этом он может включать в себя участки, ориентированные на использование JIT-компилятора, оптимизирующего выполнение команд под реальный процессор, на котором запущена программа.
Что такое интерпретатор?
м. Тот, кто занимается интерпретацией чего-л.
Что делают интерпретаторы?
Интерпретатор (interpreter) — программа или техническое средство, выполняющее интерпретацию, а также вид транслятора, осуществляющего пооперационную (покомандную) обработку и выполнение исходной программы или запроса. . Они берут исходный текст программы на языке программирования и выполняют его сами строка за строкой.
Какие функции выполняет интерпретатор?
- Взаимодействие с пользователем (редактирование командной строки, история команд и т. д.).
- Обработка (расширение) шаблонов имен («*», «?» и т. д.).
- Перенаправление ввода-вывода команд.
- Управление заданиями.
Какая программа читает всю программу целиком делает ее перевод и создает законченный вариант программы на машинном языке который затем и выполняется?
Компилятор (англ. compiler — составитель, собиратель) — читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, то есть бинарный файл, содержащий перечень машинных команд. Бинарный файл может быть исполняемым, библиотечным, объектным), он выполняется.
Как называется транслятор при переводе программы с машинно ориентированного языка на машинный язык?
Ассемблер — компилятор, преобразующий текст с языка ассемблера на машинный язык.
Что такое трансляторы компиляторы интерпретаторы?
Трансляторы делятся на два класса: компиляторы и интерпретаторы. Компилятор переводит весь исходный модуль на машинный язык. . Интерпретатор последовательно переводит на машинный язык каждый оператор исходного модуля и сразу же выполняет его.
Источник: topobzor10.ru
Компиляторы и интерпретаторы
Транслятор — обслуживающая программа, преобразующая исходную
программу, предоставленную на входном языке программирования, в
рабочую программу, представленную на объектном языке.
С помощью языка программирования создается не готовая программа, а
только ее текст, описывающий ранее разработанный алгоритм. Чтобы
получить работающую программу, надо этот текст либо автоматически
перевести в машинный код (для этого служат программы-компиляторы) и
затем использовать отдельно от исходного текста, либо сразу выполнять
команды языка, указанные в тексте программы (этим
занимаются программы-интерпретаторы).
3.
трансляторы
интерпретаторы
• Переводят и
выполняют
программу строка
за строкой
компиляторы
• Переводят
программу
целиком, а затем
выполняют ее
4. Интерпретаторы
Интерпретатор берет очередной оператор языка из текста программы, анализирует
его структуру и затем сразу исполняет (обычно после анализа оператор
транслируется в некоторое промежуточное представление или даже машинный код
для более эффективного дальнейшего исполнения). Только после того как текущий
оператор успешно выполнен, интерпретатор перейдет к следующему. При этом,
если один и тот же оператор должен выполняться в программе многократно,
интерпретатор всякий раз будет выполнять его так, как будто встретил впервые.
Вследствие этого, программы, в которых требуется осуществить большой объем
повторяющихся вычислений, могут работать медленно. Кроме того, для выполнения
такой программы на другом компьютере там также должен быть установлен
интерпретатор — ведь без него текст программы является просто набором
символов.
По-другому, можно сказать, что интерпретатор моделирует некую виртуальную
вычислительную машину, для которой базовыми инструкциями служат не
элементарные команды процессора, а операторы языка программирования.
5. Компиляторы
Компиляторы полностью обрабатывают весь текст программы (он иногда
называется исходный код). Они просматривают его в поисках
синтаксических ошибок (иногда несколько раз), выполняют определенный
смысловой анализ и затем автоматически переводят (транслируют) на
машинный язык — генерируют машинный код. Нередко при этом
выполняется оптимизация с помощью набора методов, позволяющих
повысить быстродействие программы (например, с помощью
инструкций, ориентированных на конкретный процессор, путем
исключения ненужных команд, промежуточных вычислений и т. д.). В
результате законченная программа получается компактной и
эффективной, работает в сотни раз быстрее программы, выполняемой с
помощью интерпретатора, и может быть перенесена на другие
компьютеры с процессором, поддерживающим соответствующий
машинный код.
6.
Основной недостаток компиляторов — трудоемкость трансляции языков
программирования, ориентированных на обработку данных сложной
структуры, часто заранее неизвестной или динамически меняющейся во
время работы программы. Тогда в машинный код приходится вставлять
множество дополнительных проверок, анализировать наличие ресурсов
операционной системы, динамически их захватывать и освобождать,
формировать и обрабатывать в памяти компьютера сложные объекты.
С помощью интерпретатора, наоборот, допустимо в любой момент
остановить работу программы, исследовать содержимое памяти,
организовать диалог с пользователем, выполнить сколь угодно сложные
преобразования данных и при этом постоянно контролировать состояние
окружающей программно-аппаратной среды. Интерпретатор при
выполнении каждого оператора проверяет множество характеристик
операционной системы и при необходимости максимально подробно
информирует разработчика о возникающих проблемах. Кроме того,
интерпретатор очень удобен для использования в качестве инструмента
изучения программирования, так как позволяет понять принципы работы
любого отдельного оператора языка.
7. В реальных системах программирования перемешаны технологии и компиляции, и интерпретации. В процессе отладки программа может
выполняться по шагам, а результирующий код
не обязательно будет машинным — он даже может быть
исходным кодом, написанным на другом языке
программирования (это существенно упрощает процесс
трансляции, но требует компилятора для конечного языка), или
промежуточным машинно-независимым кодом абстрактного
процессора, который в различных компьютерных архитектурах
станет выполняться с помощью интерпретатора или
компилироваться в соответствующий машинный код.
Источник: ppt-online.org