цифровая электроника
вычислительная техника
встраиваемые системы

 
» » В чем разница между компилятором и интерпретатором?




В чем разница между компилятором и интерпретатором?

Автор: Mike(admin) от 3-04-2018, 04:15

Компилятор и интерпретатор: принцип работы и отличия


Обычно мы пишем компьютерные программы с использованием какого-либо языка высокого уровня. Язык высокого уровня – это тот, который понятен нам, людям. Он содержит слова и фразы на английском (или другом) языке. Но компьютер (а точнее его процессор) не понимает язык высокого уровня. Он понимает только программу, написанную в двоичном формате (в виде ноликов и единичек), называемую машинным кодом. Для этого потребуется компилятор или интерпретатор.


В чем разница между компилятором и интерпретатором?

Компилятор и интерпретатор по своей сути выполняют одинаковую задачу – конвертируют команды высокоуровневого языка (например, C++, Java, Python) в двоичную форму, которая понятна компьютерному оборудованию. Такие инструменты представляют собой программное обеспечение, применяемое для выполнения высокоуровневых программ и кодов для реализации различных задач. Конкретные компиляторы и интерпретаторы предназначены для различных языков высокого уровня. Однако как у компилятора, так и у интерпретатора есть одна и та же цель, но они различаются тем, как они выполняют свою задачу, то есть как преобразуют команды высокоуровневого языка в машинные инструкции. В данном материале мы поговорим об основном принципе функционирования обоих инструментов и выясним основное различие между компилятором и интерпретатором.


Компилятор


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


Компилятор

На этом рисунке показан основная схема процесса компиляции. Здесь программа, созданная на языке высокого уровня, известна как исходная программа, а преобразованная называется объектной.


Интерпретатор


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


Интерпретатор

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


Основные отличия между интерпретатором и компилятором


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



© digitrode.ru




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

Комментарии:

Оставить комментарий