Транслятор и среда программирования
Постараюсь выразиться как можно более
"умным и научным" языком. Транслятор - это
программа, обеспечивающая перевод исходной программы
пользователя на внутренний язык компьютера. Он работает
под управлением ОС, которая и обеспечивает связь его с
устройствами и блоками электронно-вычислительных машин.
На практике используются трансляторы
с разными принципами работы. Первый вид трансляторов
обеспечивает поочередный перевод каждого оператора
исходной программы на машинный язык и немедленное
выполнение его (с одновременной проверкой правильности
его записи). Такого типа трансляторы называют
интерпретаторами.
Второй вид транслятора -
компилятор. В отличие от интерпретатора он сначала
осуществляет перевод всей исходной программы на машинный
язык, одновременно проверяя ее правильность; в
полученную программу компилятор включает подпрограммы
встроенных функций (типа sin x, ln x
и т. д.), прочие подпрограммы, которые
увязываются со всей программой, - результатом является
загрузочная (исполняемая) программа, о которой
уже говорилось.
После этого ОС запускает загрузочную
программу и тем самым обеспечивает решение задачи.
Загрузочную программу можно записать
на диск, в файл (типа EXE в
IBM-совместимых персональных
электронно-вычислительных машинах или ПЭВМ) и
использовать многократно для решения задачи, но при этом
трансляция программы уже не требуется и задача решается
намного быстрее.
Интерпретаторы возможностью создания
загрузочных программ не обладают.
Каждый вид транслятора имеет свои
преимущества.
Транслятор Бейсика, кроме трансляции
программ, как правило, может выполнять и другие операции
с исходной программой: запуск ее, корректировку текста,
пересылку программы из ОЗУ на диск и наоборот и т. д.
В ранних версиях Бейсика, в том числе
Бейсика фирмы Microsoft,
управление работой транслятора (общение пользователя с
ним) осуществлялось с помощью команд транслятора, по
структуре и назначению очень похожих на команды ОС.
Такой же подход принят в трансляторах
Бейсика всех ПЭВМ отечественного производства, которые
рассматриваются в пособии.
Команда транслятора указывает, какую
операцию и над каким объектом (файлом, строкой программы
и т. д.) транслятор должен выполнить.
Пример: SAVE
"ПЕРВЫЙ"
Приведенная команда переносит
программу из ОЗУ на диск в файл с именем "ПЕРВЫЙ".
Однако общение пользователя с
транслятором посредством команд не очень удобно, поэтому
в настоящее время, как и для ОС, разработаны
программы-оболочки, до минимума упрощающие для
пользователя процесс общения с транслятором и не
требующие знания команд.
Собственно, сейчас уже используются
программы или комплексы программ, называемые средой
программирования (СрП), которые включают транслятор,
программу-оболочку, экранный редактор для ввода и
редактирования текстов программ, отладчик программ и
многое другое. Короче, среда программирования включает
весь комплекс средств, необходимых для создания
программы и работы с ней. В качестве примера можно
привести среды
QBasic, QuickBasic, Turbo-BASIC
и т. д. Запуск исходной программы (на языке
Бейсик) без использования транслятора (среды
программирования) НЕВОЗМОЖЕН!
Вспомним еще одно понятие -
система программирования - так называют комплекс
средств, предназначенных для создания и эксплуатации
программ неконкретном языке программирования на ЭВМ
определенного типа.
Как правило, система программирования
(СП) включает некоторую версию языка программирования (в
нашем случае Бейсика), транслятор или СрП и документацию
к системе.
Некоторые подобные системы содержат
несколько видов трансляторов, библиотеки программ на
соответствующем языке и т. д.
Так, система программирования
QuickBASIC включает среду
программирования, демонстрационную программу, обучающую
программу, библиотеку п/п,
систему оперативной подсказки и т. д.
Назначение любой системы
программирования - выполнение работ двух видов:
-
работа с исходной программой, т.
е. решение задач на ПЭВМ с помощью готовых программ,
а также выполнение сопутствующих этому процессу
операций;
-
создание исходной программы, т.
е. написание текста программы (что уже рассмотрено
выше, в главах 3, 5, 6), ввод ее в ПЭВМ, отладка
программы и др.
|