Языковые процессоры: ассемблер, компилятор и интерпретатор

Опубликовано: 20 Декабря, 2021

Языковые процессоры -
Язык ассемблера зависит от машины, но мнемоника, которая используется для представления в нем инструкций, не может быть непосредственно понятна машиной, а язык высокого уровня не зависит от машины. Компьютер понимает инструкции в машинном коде, то есть в форме нулей и единиц. Написание компьютерной программы непосредственно в машинном коде - утомительная задача. Программы написаны в основном на языках высокого уровня, таких как Java, C ++, Python и т. Д., И называются исходным кодом . Этот исходный код не может быть выполнен непосредственно компьютером и должен быть преобразован в машинный язык для выполнения. Следовательно, для перевода программы, написанной на языке высокого уровня в машинный код, используется специальное программное обеспечение системы трансляции, которое называется языковым процессором, а программа после преобразования в машинный код (объектная программа / объектный код).

Языковые процессоры могут быть любого из следующих трех типов:

  1. Компилятор -
    Языковой процессор, который за один раз читает полную исходную программу, написанную на языке высокого уровня, и переводит ее в эквивалентную программу на машинном языке, называется компилятором.
    Пример: C, C ++, C #, Java.

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

  2. Ассемблер -
    Ассемблер используется для перевода программы, написанной на языке Ассемблер, в машинный код. Исходная программа - это вход ассемблера, который содержит инструкции на языке ассемблера. На выходе, сгенерированном ассемблером, является объектный код или машинный код, понятный компьютеру.

  3. Устный переводчик -
    Перевод отдельного оператора исходной программы в машинный код выполняется языковым процессором и выполняет его непосредственно перед переходом к следующей строке, называемой интерпретатором. Если в операторе есть ошибка, интерпретатор завершает свой процесс перевода на этом операторе и отображает сообщение об ошибке. Интерпретатор переходит к следующей строке для выполнения только после устранения ошибки. Интерпретатор напрямую выполняет инструкции, написанные на языке программирования или сценариях, без предварительного преобразования их в объектный код или машинный код.
    Пример: Perl, Python и Matlab.

Разница между компилятором и интерпретатором -

Компилятор Устный переводчик
Компилятор - это программа, которая превращает весь исходный код языка программирования в исполняемый машинный код для ЦП.

Интерпретатор берет исходную программу и запускает ее построчно, переводя каждую строку по мере ее поступления.
Компилятору требуется много времени для анализа всего исходного кода, но общее время выполнения программы сравнительно меньше. Интерпретатору требуется меньше времени для анализа исходного кода, но общее время выполнения программы меньше.
Компилятор генерирует сообщение об ошибке только после сканирования всей программы, поэтому отладка сравнительно сложна, поскольку ошибка может присутствовать в любом месте программы. Его отладка проще, поскольку он продолжает переводить программу до тех пор, пока не будет обнаружена ошибка.
Создает промежуточный объектный код. Промежуточный объектный код не создается.
Примеры: C, C ++, Java. Примеры: Python, Perl