]]> ]]>

Bywater BASIC

Реализация языка программирования Basic

Bywater BASIC (или bwBASIC) — небольшой интерпретатор Basic, похожий на gwBASIC. Он был создан Mrs. Verda Spell в 1982 году, затем восстановлен Тедом Кэмпбеллом (Ted A. Campbell) в 1993 и окончательно доработан Ионом Волковым (Jon B. Volkoff) в 1997 году.

bwBASIC написан на C (диалект ANSI C). Изначально он разрабатывался для компьютера Osborne I CP/M, но в настоящее время запускается на всех UNIX-подобных ОС. bwBASIC распространяется под лицензией GNU GPL.

bwBASIC реализует диалект, описанный в ANSI-стандарте Minimal BASIC (X3.60-1978), и часть возможностей стандарта Full BASIC (X3.113-1987). Кроме того, в язык включены возможности программирования shell. Интерпретатор достаточно медленный за счет максимально простого дизайна.

Примеры:

Hello, World!:

Пример для версий QBasic 1.1, QuickBasic 4.50, bwBASIC 2.50
PRINT "Hello, World!"

Hello, World!:

Пример для версий bwBASIC 2.50

В программах номера строк проставляются, при вводе команд в интерактивном режиме интерпретатора — нет.

10 PRINT "Hello, World!"

Факториал:

Пример для версий bwBASIC 2.50

Используется итеративная схема вычисления факториала. Реализация Bywater BASIC отличается тем, что тип переменной объявляется в явном виде только для массивов; в остальных случаях используется вывод типов. Переполнения при вычислении факториалов не возникает.

f = 1
FOR i = 0 TO 16
    PRINT i; "! ="; f
    f = f * (i + 1)
NEXT i

Числа Фибоначчи:

Пример для версий bwBASIC 2.50

Используется итеративное вычисление чисел Фибоначчи с их запоминанием в массиве. Обратите внимание на явное объявление массива и на то, что имя строковой переменной должно заканчиваться на $.

DIM F(16)
F(1) = 1
F(2) = 1
FOR i = 3 TO 16
    F(i) = F(i - 1) + F(i - 2)
NEXT i
S$ = ""
FOR i = 1 TO 16
    S$ = S$ + STR$(F(i)) + ","
NEXT i
S$ = S$ + " ..."
PRINT S$

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам