Turbo Basic | это... Что такое Turbo Basic? (original) (raw)

Эта статья о компиляторе компании Borland; о диалекте языка для Atari 400/800 см.: Turbo-Basic XL.

Безымянный.png

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. для продолжения его поддержки и развития/[3]

Описание языка

Структура кода

Основной структурной единицей кода является строка. Одна строка может содержать один или несколько операторов, разделенных двоеточием (допускается перенос оператора на другую строку при помощи знака переноса _). Пример:

Допускается необязательная нумерация строк, а также использование меток для перехода в нужные части программы. Метка размещается в отдельной строке, начинается с буквы и содержит любое количество букв и цифр. После метки ставится двоеточие. Пример:

Имена переменных, меток или процедур образуются из букв от 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-ми мерных массивов при помощи оператора DIM с указанием размеров. В описании массива вместо константы может использоваться переменная (например, DIM a(n)), но значение n должно быть предварительно определено. При помощи оператора ERASE можно освободить память, выделенную под массив, и вернуть её для дальнейшего использования.

Выражения

Предусмотрена поддержка двух типов выражений: символьные и числовые. Символьные выражения состоят из символьных констант (последовательность символов, заключенная в кавычки), символьных переменных, символьных функций, соединенных знаком + (конкатенация, или объединение). При помощи функций LEFT$, RIGHT$, MID$ можно выбрать часть символьной переменной слева, справа или из середины.

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

Также поддерживаются приоритеты для арифметических операций.

Стандартные функции

В Turbo Basic присутствует набор из нескольких стандартных операций:

Также предусмотрены операции отношения и логические операции: AND (логическое и), OR (логическое или), XOR (исключающее или), EQV (эквивалентность), IMP (импликация). Кроме этого, присутствует некоторая библиотека стандартных процедур.

Примеры кода

Нижеследующая программа представляет собой пример Алгол-подобного диалекта Бейсика, поддерживаемого 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.

Примечания

  1. We Created Turbo Basic…So Check Out the Upgrade!
  2. Old Borland®/Inprise® Development Tools Features
  3. An Introduction to PowerBASIC

Ссылки

Просмотр этого шаблона Диалекты языка программирования Бейсик
Классические Altair BASICApplesoft BASIC • Atari BASIC (ST) • BASIC Programming • Color BASIC • Commodore BASIC • Dartmouth BASIC • Family BASIC • G-BASIC • GFA BASIC • GW-BASIC • HP BASIC for OpenVMS • IBM (BASICA • Cassette • Disk) • Integer BASIC • Locomotive BASIC • Mallard BASIC • Microsoft BASIC • MSX BASIC • ScriptBasic • Sinclair BASIC • STOS BASIC • TI BASIC (TI 99/4A • калькуляторы) • Tiny BASIC • Turbo-Basic XL • UBASIC • Бейсик Вильнюс
Переходные BASIC-256 • Basic4GL
Процедурные AmigaBASIC • AMOS BASIC • BBC BASIC • Beta BASIC • DarkBASICFreeBASIC • GFA BASIC • GLBasic • Liberty BASIC • Microsoft Small BasicPureBasicQBasic • QB64 • QuickBASIC • ScriptBasic • SuperBasic • ThinBasic • True BASIC • Turbo BasicXBasic • Xblite • Basic4ppc • Visual Basic • Visual Test
Объектные BlitzMaxFreeBASICGambas • GLBasic • KBasicPowerBASIC • ProvideX • RapidQ • REALbasic • Run BASIC • AutoIt • StarOffice Basic • Visual Basic (.NET)
Мобильные Basic4ppc • GLBasic • NS Basic