Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Бобровский С. - Самоучитель программирования на языке C++ в системе C++ Builder 5.0 - 2001

.pdf
Скачиваний:
405
Добавлен:
13.08.2013
Размер:
4.85 Mб
Скачать

Введение

Что такое компилятор?

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

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

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

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

Как в реальной жизни существует два класса переводчиков: синхронные и литературные, — так и в вычислительной технике существует два класса трансляторов: интерпретаторы и компиляторы. Интерпретатор работает как синхронный переводчик. Он просматривает исходный текст строку за строкой, переводит каждую строку в промежуточный или сразу в машинный код и передает его на исполнение. Только если все в порядке, интерпретатор приступает к следующей строке. Компилятор (а именно к этому классу относится рассматриваемая нами система Borland C++) работает как литературный переводчик. Сначала он просмотрит весь текст, может быть и не один раз, найдет общие повторяющиеся места (их он не будет переводить дважды), тщательно подготовит стратегию перевода, подберет самые эффективные аналоги и только после этого переведет весь исходный текст целиком и полностью, создав при этом новый документ, который называется объектным кодом. Объектный код можно считать законченной программой, хотя и не вполне.

12

Соседние файлы в предмете Программирование на C++