Turbo Basic
Turbo Basic — компилятор языка Бейсик, а также его диалект, первоначально созданный Робертом «Бобом» Зейлом и впоследствии выкупленный у него компанией Borland. ИсторияРоберт «Боб» Зейл в 1987 году на основе своей многолетней разработки BASIC/Z создал Turbo Basic, а затем продал его компании Borland. Журнал Infoworld назвал его одним из самых значительных продуктов того года.[1] Для данного ПО в период 1987—1988 годов характерен «чёрный экран» Borland, схожий с Turbo Pascal 4.0, Turbo C 1.0/1.5 и Turbo Prolog 1.1. Borland не применяла свой фирменный «голубой экран» в IDE вплоть до 1989 года, когда были выпущены Turbo C 2.0, Turbo C++ 1.1 и др. К этому времени Turbo Basic и Turbo Prolog уже больше не продавались.
В отличие от большинства реализаций Бейсика того периода, Turbo Basic был полным компилятором, генерировавшим родной код для MS-DOS. Прочие реализации были или лишь интерпретаторами или сильно зависели от библиотеки времени исполнения. В самой IDE можно было запускать программы на языке Бейсик для традиционной отладки Бейсик-кода (см. ниже) или генерировать отдельный исполнимый файл для MS-DOS, который можно было запускать на других системах без установки Turbo Basic или библиотек для запуска. Когда Borland приняла решение прекратить выпуск этого продукта, Зейл выкупил его обратно, в 1990 году переименовав его в PowerBASIC, и основал PowerBASIC Inc. для продолжения его поддержки и развития/[5] Описание языкаСтруктура кодаОсновной структурной единицей кода является строка. Одна строка может содержать один или несколько операторов, разделенных двоеточием (допускается перенос оператора на другую строку при помощи знака переноса _). Пример: a=1:b=1
a=1:b_
=1
Допускается необязательная нумерация строк, а также использование меток для перехода в нужные части программы. Метка размещается в отдельной строке, начинается с буквы и содержит любое количество букв и цифр. После метки ставится двоеточие. Пример: aaa:
x=x+1
...
GOTO aaa
Имена переменных, меток или процедур образуются из букв от A до Z (или от a до z), знака подчеркивания _ и цифр от 0 до 9 и должны начинаться с буквы. В отличие от имён переменных и функций, имена процедур не должны заканчиваться знаками типа: "%", "&", "!", "#" и "$". Комментарии обозначаются при помощи апострофа ( Типы данныхДопускаются следующие типы данных: целый (значения от −32 768 до 32 767, занимает 2 байта); длинный целый (от −2 147 483 648 до +2 147 483 647, 4 байта); вещественный (4 байта); вещественный двойной точности (8 байт); символьный (последовательность любых символов, каждый символ занимает 1 байт). Тип переменной определяется типом данных, которые она представляет (определяется специальным символом). Если знак после имени отсутствует, то эта переменная считается по умолчанию вещественной обычной точности.
МассивыВ Turbo Basic допускается создание до 8-мерных массивов при помощи оператора ВыраженияПредусмотрена поддержка двух типов выражений: символьные и числовые. Символьные выражения состоят из символьных констант (последовательность символов, заключенная в кавычки), символьных переменных, символьных функций, соединенных знаком + (конкатенация, или объединение). При помощи функций Числовые выражения включают в себя константы, переменные, функции, соединенные знаками арифметических операций, при этом могут использоваться величины разных типов. Также поддерживаются приоритеты для арифметических операций. Стандартные функцииВ Turbo Basic присутствует набор из нескольких стандартных операций:
Также предусмотрены операции отношения и логические операции: Примеры кодаНижеследующая программа представляет собой пример Алгол-подобного диалекта Бейсика, поддерживаемого Turbo Basic. В отличие от традиционного Бейсика, использующего нумерацию строк и обладающего ограниченными управляющими структурами без поддержки подпрограмм в стиле Алгола, новые диалекты Бейсика, появившиеся в этот период, были расширены для обеспечения совместимости языка с новой теорией структурного программирования путём отказа от нумерации строк и добавлением управляющих структур и подпрограммных определений, необходимых для структурного программирования. INPUT "Ваше имя:", A$
PRINT "Привет "; A$
DO
S$ = ""
INPUT "Сколько звезд вы хотите напечатать?"; S
FOR I = 1 TO S
S$ = S$ + "*"
NEXT I
PRINT S$
DO
INPUT "Хотите ли вы напечатать еще звезд?"; Q$
LOOP WHILE LEN(Q$) = 0
Q$ = LEFT$ (Q$, 1)
LOOP WHILE (Q$ = "Y") OR (Q$ = "y")
PRINT "До свидания "; A$
Как и в других продуктах Borland этого периода, код исполнялся внутри самой IDE. Примечания
Ссылки
|