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