Основы современных компьютерных технологий


Компиляция и интерпретация программ


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

Машинные языки были первыми языками программирования. Программирование на них затруднительно ввиду того, что, во-первых, эти языки различны для каждого типа ЭВМ, во-вторых, являются трудоемкими для большинства пользователей по причине необходимости знания особенностей конкретной ЭВМ и большого количества реализуемых ею операций (команд). Данные языки обычно используются для разработки системных программ, при этом чаще всего применяются специальные символические языки - Ассемблеры, близкие к соответствующим машинным языкам.

Человеку свойственно формулировать и решать задачи в выражениях более общего характера, чем команды ЭВМ. Поэтому с развитием программирования появились языки, ориентированные на более высокий уровень абстракции при описании решаемой на ЭВМ задачи. Эти языки получили название языков высокого уровня. Их теоретическую основу составляют алгоритмические языки, например, Паскаль, Си, Бейсик, Фортран, PL/1.

Для перевода программы, написанной па языке высокого уровня, в соответствующую машинную программу используются языковые процессоры. Различают два вида языковых процессоров: интерпретаторы п трансляторы.

Интерпретатор - это программа, которая получает исходную программу п по мере распознавания конструкций входного языка реализует действия, описываемые этими конструкциями.

Транслятор - это программа, которая принимает исходную программу и порождает па своем выходе программу, записываемую па объектном языке программирования (объектную программу). В частном случае объектным может служит машинный язык, и в этом случае полученную на выходе транслятора программу можно сразу же выполнить па ЭВМ. В общем случае объектный язык необязательно должен быть машинным пли близким к нему (автокодом). В качестве объектного языка может служить и некоторый промежуточный язык.

46

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

47

46 :: 47 :: Содержание




Начало  Назад  Вперед