Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВОПРОС-ОТВЕТ 2012(42)Ф.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
3.63 Mб
Скачать

8.2 Компоненты систем программирования Текстовые редакторы

Текстовый редактор, входящий в состав системы программирования, кроме обычных функций выполняет и некоторые дополнительные функции:

- отображение ошибок в исходной программе после компиляции, с позиционированием на место в тексте программы, содержащее ошибку;

- пошаговая отладка программы непосредственно по ее исходному тексту;

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

Трансляторы, компиляторы и интерпретаторы

Транслятор – это программа, которая переводит входную программу на исходном (входном языке) в эквивалентную ей выходную программу на результирующем (выходном) языке.

Компилятор – это транслятор, который осуществляет перевод исходной программы в эквивалентную ей объектную программу на языке машинных команд или ассемблера.

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

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

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

Большинство языков высокого уровня являются компилируемыми, т. е. для каждого из них разработан собственный компилятор (FORTRAN, ALGOL-68, PL/1, ADA, PASCAL, MODULA,SIMULA, C и многие другие).

Компиляторы проще в реализации и по эффективности превосходят интерпретаторы, поскольку откомпилированный код всегда будет выполняться быстрее, чем при интерпретации программы. Однако откомпилированный код всегда привязан к конкретной архитектуре вычислительной системы. Поэтому новый толчок для развития интерпретаторов дало бурное развитие сети Internet, для которой актуальна переносимость программ и их аппаратно-платформенная независимость.

Самым известным на данный момент интерпретатором является язык Java, который сочетает в себе компиляцию и интерпретацию, а также связанный с ним язык JavaScript. Текст исходной программы компилируется в некоторый промежуточный двоичный код, не зависящий от архитектуры целевой вычислительной системы, этот код распространяется по сети и выполняется на принимающей стороне – интерпретируется.

Язык HTML (Hipertext Markup Language – язык описания гипертекста) на котором основан протокол HTTP (hiper text transfer protocol – протокол передачи гипертекста) – тоже интерпретируемый язык.

Схема работы транслятора

Схема работы транслятора представлена на рис. 8.2. Процесс компиляции состоит из двух основных этапов: синтеза и анализа.

Рис. 8.2. Схема работы транслятора