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


В этой лекции мы раскроем базовые представления о трансляторах, интерпретаторах и компиляторах.

Когда программист создает конкретную программу, допустим используя PHP, С++, Java, Delphi и тд, он вводит код на языке подобном удобочитаемому. Так гораздо проще создавать программу. Но понимает ли компьютер этот язык? На самом деле - нет.

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

Есть разнообразные виды трансляторов. Мы рассмотрим компиляторы и интерпретаторы.

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

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

Это все равно что редакитровать статью и помечать все найденные ошибки, а затем сообщать о них.

Примеры компиляторов: С, С++, Delphi.

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

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

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

Примеры интерпретаторов: Java, JavaScript, PHP