Информатика: Письменные лекции. Боброва Л.В - 33 стр.

UptoLike

33
4.4. Компиляторы и интерпретаторы
С помощью языка программирования создается не готовая программа, а
только ее текст, описывающий ранее разработанный алгоритм. Чтобы
получить работающую программу, надо этот текст либо автоматически
перевести в машинный код (для этого служат программы-компиляторы) и
затем использовать отдельно от исходного текста, либо сразу выполнять
команды языка
, указанные в тексте программы (этим занимаются
программы-интерпретаторы).
Интерпретатор берет очередной оператор языка из текста программы,
анализирует его структуру и затем сразу исполняет (обычно после анализа
оператор транслируется в некоторое промежуточное представление или даже
машинный код для более эффективного дальнейшего исполнения). Только
после того как текущий оператор успешно выполнен, интерпретатор
перейдет к следующему. При этом, если один и тот же оператор должен
выполняться в программе многократно, интерпретатор всякий раз будет
выполнять его так, как будто встретил впервые. Вследствие этого,
программы, в которых требуется осуществить большой объем повто-
ряющихся вычислений, могут работать медленно. Кроме того, для
выполнения такой программы на другом
компьютере там также должен быть
установлен интерпретаторведь без него текст программы является просто
набором символов.
Компиляторы полностью обрабатывают весь текст программы (он иногда
называется исходный код). Они просматривают его в поисках синтаксических
ошибок (иногда несколько раз), выполняют определенный смысловой анализ
и затем автоматически переводят (транслируют) на машинный язык
генерируют машинный код.
4.5. Уровни языков программирования
Разные типы процессоров имеют разные наборы команд. Если язык
программирования ориентирован на конкретный тип процессора и учитывает
его особенности, то он называется языком программирования низкого уровня.
В данном случае «низкий уровень» не значит «плохой». Имеется в виду, что
операторы языка близки к
машинному коду и ориентированы на конкретные
команды процессора.
Языком самого низкого уровня является язык ассемблера, который просто
представляет каждую команду машинного кода, но не в виде чисел, а с
помощью символьных условных обозначений, называемых мнемониками.
Языки программирования высокого уровня значительно ближе и понятнее
человеку, нежели компьютеру. Особенности конкретных компьютерных
архитектур в них не учитываются, поэтому создаваемые программы на