АнглийскийФранцузскийИспанский

Значок OnWorks

bwbasic - Интернет в облаке

Запустите bwbasic в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда bwbasic, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


bwbasic - интерпретатор / оболочка Bywater BASIC

Bywater BASIC Interpreter / Shell, версия 2.10
---------------------------------------------

Авторское право (c) 1993, Тед А. Кэмпбелл
для bwBASIC версии 2.10, 11 октября 1993 г.

СОДЕРЖАНИЕ:

1. ОПИСАНИЕ
2. УСЛОВИЯ ИСПОЛЬЗОВАНИЯ
3. БЫСТРЫЙ СПИСОК КОМАНД И ФУНКЦИЙ
4. ОБЩИЕ ЗАМЕЧАНИЯ ПО ИСПОЛЬЗОВАНИЮ
5. РАСШИРЕННЫЙ СПРАВОЧНИК ПО КОМАНДАМ И ФУНКЦИЯМ
6. ПРЕДНАЗНАЧЕННЫЕ ПЕРЕМЕННЫЕ
7. НЕРЕАЛИЗОВАННЫЕ КОМАНДЫ И ФУНКЦИИ
и ПОВЕСТКА ДНЯ РАЗВИТИЯ
8. ИСТОРИЯ BYWATER BASIC
9. СВЯЗЬ

Автор выражает благодарность г-ну Дэвиду Маккензи,
кто помогал в разработке, установке и настройке Unix
для этой версии.

1. ОПИСАНИЕ

Интерпретатор Bywater BASIC (bwBASIC) реализует большой
расширенный набор стандарта ANSI для минимального BASIC (X3.60-1978)
и значительная часть стандарта ANSI для Full BASIC
(X3.113-1987) на C. Он также предлагает средства программирования оболочки
как расширение BASIC. bwBASIC стремится быть максимально портативным
насколько это возможно.

bwBASIC можно настроить для эмуляции функций, команд и
функции доступны на разных типах интерпретаторов BASIC;
см. файл INSTALL для получения дополнительной информации по установке.

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

bwBASIC реализует одну функцию, недоступную в предыдущем BASIC
интерпретаторы: команда оболочки может быть введена интерактивно в
bwBASIC, и интерпретатор выполнит его под
командная оболочка. Например, команда "dir * .bas" может быть
введен в bwBASIC (в DOS или "ls -l * .bas" в UNIX) и
он будет выполняться как из командной строки операционной системы.
Команды оболочки также могут быть даны в пронумерованных строках в bwBASIC.
программа, так что bwBASIC можно использовать как оболочку программирования
язык. bwBASIC реализует RMDIR, CHDIR, MKDIR,
Команды и функции NAME, KILL, ENVIRON и ENVIRON $ ()
предлагают дополнительные возможности обработки оболочки.

2. УСЛОВИЯ ИСПОЛЬЗОВАНИЯ:

Эта версия Bywater BASIC выпущена на условиях
Стандартная общественная лицензия GNU (GPL), которая распространяется с этим
ПО в файле "КОПИРОВАНИЕ". GPL определяет условия
в соответствии с которой пользователи могут копировать и использовать программное обеспечение из этого дистрибутива.

Для коммерческого распространения доступна отдельная лицензия,
за информацией, по которой вам следует связаться с автором.

3. БЫСТРЫЙ СПИСОК КОМАНД И ФУНКЦИЙ

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

АБС (число)
ASC (строка $)
ATN (номер)
CALL имя-подпрограммы
ДРУГОЙ ДЕЛО | IF частичное выражение | постоянный
ЦЕПЬ [ОБЪЕДИНЕНИЕ] имя-файла [, номер-строки] [, ВСЕ]
CHDIR путь
CHR $ (число)
CINT (число)
ОЧИСТИТЬ
ЗАКРЫТЬ [[#] номер файла] ...
CLS
ОБЩАЯ переменная [, переменная ...]
COS (номер)
CSNG (число)
CVD (строка $)
CVI (строка $)
CVS (строка $)
DATA константа [, константа] ...
ДАТА $
DEF FNname (аргумент ...)] = выражение
DEFDBL буква [-буква] (, буква [-буква]) ...
DEFINT буква [-буква] (, буква [-буква]) ...
DEFSNG буква [-буква] (, буква [-буква]) ...
DEFSTR буква [-буква] (, буква [-буква]) ...
УДАЛИТЬ строку [-line]
DIM переменная (элементы ...) [переменная (элементы ...)] ...
DO NUM | UNNUM
DO [WHILE выражение]
РЕДАКТИРОВАТЬ
ELSE
ЭЛЬСАЙФ
КОНЕЦ ЕСЛИ | ФУНКЦИЯ | ВЫБРАТЬ | SUB
ENVIRON переменная-строка = строка
ENVIRON $ (переменная строка)
EOF (номер устройства)
СТЕРЕТЬ переменную [, переменную] ...
ERL
ERR
Номер ОШИБКИ
EXP (число)
ПОЛЕ [#] номер-устройства, номер AS строковая-переменная [, номер AS строковая-переменная ...]
ФАЙЛЫ filespec $
Функция
FOR counter = от начала до конца [шаг шага]
ПОЛУЧИТЬ [#] номер-устройства [, номер-записи]
Линия ГОСУБ | метка
GOTO line | метка
HEX $ (число)
IF выражение THEN [оператор [оператор ELSE]]
INKEY $
INPUT [# номер-устройства] | [;] ["строка приглашения";] список переменных
INSTR ([начальная-позиция,] строка $ поиск по строке $)
INT (число)
KILL имя-файла
LEFT $ (строка $, количество пробелов)
LEN (строка $)
LET переменная = выражение
LINE INPUT [[#] номер-устройства,] ["строка приглашения";] строковая переменная $
LIST строка [-line]
ЗАГРУЗИТЬ имя-файла
LOC (номер устройства)
LOCATE строка, столбец
LOF (номер устройства)
ЖУРНАЛ (номер)
LOOP [UNTIL выражение]
Строковая переменная LSET $ = выражение
MERGE имя-файла
MID $ (строка $, начальная позиция в строке [, количество пробелов])
MKD $ (число)
MKDIR путь
MKI $ (число)
MKS $ (число)
НАЗВАНИЕ старое-имя-файла КАК новое-имя-файла
НОВЫЕ
ДАЛЕЕ [счетчик]
OCT $ (число)
ON переменная GOTO | GOSUB строка [, строка, строка, ...]
ОШИБКА линии GOSUB
OPEN «O» | «I» | «R», [#] номер-устройства, имя-файла [, длина записи]
имя-файла ДЛЯ ВХОДА | ВЫХОДА | ДОБАВИТЬ КАК [#] номер-устройства [LEN = длина записи]
ОПЦИЯ БАЗОВЫЙ номер
POS
PRINT [# номер-устройства,] [USING format-string $;] выражения ...
PUT [#] номер-устройства [, номер-записи]
УВОЛИТЬСЯ
СЛУЧАЙНО ИЗМЕНИТЬ число
ПРОЧИТАТЬ переменную [, переменную] ...
Строка REM
ВОССТАНОВИТЬ линию
ВЕРНУТЬ
RIGHT $ (строка $, количество пробелов)
RMDIR путь
RND (число)
Строковая переменная RSET $ = выражение
RUN [строка] [имя-файла]
СОХРАНИТЬ имя файла
ВЫБРАТЬ СЛУЧАЙ выражение
SGN (номер)
SIN (число)
ПРОБЕЛ $ (число)
SPC (номер)
SQR (число)
STOP
STR $ (число)
СТРОКА $ (число; ascii-значение | строка $)
SUB имя-подпрограммы
SWAP переменная, переменная
СИСТЕМА
TAB (число)
TAN (число)
ВРЕМЯ $
ТАЙМЕР
ТРОФФ
TRON
VAL (строка $)
ВЕНД
WHILE выражение
WIDTH [# номер-устройства,] номер
ЗАПИШИТЕ [# номер-устройства,] элемент [, элемент] ....

4. ОБЩИЕ УКАЗАНИЯ ПО ИСПОЛЬЗОВАНИЮ:

4.a. Интерактивная среда

Интерактивная среда предоставляется, если флаг ИНТЕРАКТИВНЫЙ.
определяется как ИСТИНА в bwbasic.h, так что строка с
номер строки можно ввести в приглашении bwBASIC, и он будет
добавлен в программу в памяти.

Номера строк не являются строго обязательными, но полезны, если
Для программирования используется интерактивная среда. На более длительный срок
запись программы можно предпочесть использовать текстовый редактор ASCII, и
в этом случае строки можно вводить без цифр. Можно использовать
DO NUM и DO UNNUM, чтобы пронумеровать или ненумеровать строки. Также
документация ниже для псевдокоманды EDIT.

4.b. Соглашения об именах

Имена команд и функций не чувствительны к регистру,
так что «Run», «RUN» и «run» эквивалентны, а «abs ()»
и «ABS ()» и «Abs ()» эквивалентны. ОДНАКО, переменная
имена чувствительны к регистру в bwbASIC, поэтому "d $" и "D $"
- разные переменные. Это отличается от некоторых BASIC
реализации, в которых имена переменных не чувствительны к регистру.

В именах переменных можно использовать любые буквенные символы, точку
и символы подчеркивания и десятичные цифры (но не в
первая позиция). Они могут заканчиваться символом '#' или '!' к
разрешить имена типа Microsoft, даже если точность
не имеет отношения к bwBASIC.

4.c. Числовые константы

Числовые константы могут начинаться с цифры 0-9 (десятичной), с
«& H» или «& h» (шестнадцатеричное) или «& o» или «& O» (восьмеричное).
Десятичные числа могут заканчиваться буквами "E", "e", "D" или "d".
за которым следует показатель степени для обозначения экспоненциальной записи.
Десятичные константы также могут оканчиваться символом '#' или '!'
чтобы соответствовать прецизионным терминаторам в стиле Microsoft, хотя
указанная точность не будет иметь отношения к bwBASIC.

4.d. Выполнение из командной строки

Имя файла можно указать в командной строке, и оно будет
ЗАГРУЖАЕТСЯ и ЗАПУСКАЕТСЯ немедленно, чтобы командная строка

bwbasic prog.bas

загрузит и выполнит "prog.bas".

4.e. Хранение программ

Все программы хранятся в виде текстовых файлов ASCII.

4.f. Правда и ложь

ИСТИНА определяется как -1, а ЛОЖЬ определяется как 0 по умолчанию.
распространение bwBASIC. Эти определения могут быть изменены
те, которые компилируют bwBASIC (см. файл BWBASIC.H).

4.g. Задания

Присваивание должно производиться переменным. Это отличается от некоторых
реализации BASIC, где можно назначить
функция. Следствие: «INSTR (3, x $, y $) = z $» не будет
работать под bwBASIC.

4.h. Операторы и приоритет

bwBASIC распознает следующих операторов с их уровнем
заданного приоритета (1 = высший):

^ 1 возведение в степень
* 2 умножения
/ 2 деление
3 целочисленное деление
+ 5 сложение
- 5 вычитание
= 6 равенство или присвоение
MOD 4 арифметика модуля (остатка)
<> 7 неравенство
<8 меньше чем
> 9 больше чем
<= 10 меньше или равно
= <10 меньше или равно
> = 11 больше или равно
=> 11 больше или равно
НЕ 12 отрицание
И 13 соединение
ИЛИ 14 дизъюнкция
Исключение XOR 15 или
Значение IMP 16
Эквивалент EQV 17

4.h. Числовая точность (НЕ)

bwBASIC использует числа только с одним уровнем точности. Если
флаг NUMBER_DOUBLE определен как TRUE в bwbasic.h,
реализованная точность будет соответствовать типу данных C "double";
в противном случае (по умолчанию) точность будет такой же, как у C "float"
тип. В ряде пунктов присутствуют команды (или псевдо-
команды), которые, кажется, распознают точность в стиле Microsoft
различия, но по большей части это просто обходной путь
псевдонимы, позволяющие запускать программы в стиле Microsoft.

5. РАСШИРЕННЫЙ СПРАВОЧНИК ПО КОМАНДАМ И ФУНКЦИЯМ

«Зависимости», перечисленные в следующих справочных материалах
относится к флагам, которые должны быть установлены в TRUE в bwbasic.h для
связанная команда или функция, которая должна быть реализована. Эти флаги
заключаются в следующем:

(core) Команды и функции в любой реализации
bwBASIC; это ядро ​​ANSI Minimal BASIC

ИНТЕРАКТИВНЫЕ Команды, поддерживающие интерактивное программирование
охрана окружающей среды

COMMON_CMDS Команды за пределами ANSI Minimal BASIC, которые являются общими
на Full ANSI BASIC и Microsoft BASIC

COMMON_FUNCS Функции, выходящие за рамки ядра ANSI Minimal BASIC, но
общий как для ANSI Full BASIC, так и для стиля Microsoft
ОСНОВНЫЕ разновидности

Команды UNIX_CMDS, требующие каталога в стиле Unix и
процедуры среды, не указанные в C

STRUCT_CMDS Команды, относящиеся к структурному программированию; все
из них являются частью стандарта Full ANSI BASIC

ANSI_FUNCS Функции, уникальные для ANSI Full BASIC

Команды MS_CMDS, уникальные для Microsoft BASIC

MS_FUNCS Функции, уникальные для Microsoft BASIC

------------------------------------------

Функция: ABS (число)

Описание: ABS возвращает абсолютное значение аргумента «число».

Зависимости: (ядро)

------------------------------------------

Функция: ASC (строка $)

Описание: ASC возвращает код ASCII для первой буквы в
строка аргумента $.

Зависимости: MS_FUNCS

------------------------------------------

Функция: ATN (номер)

Описание: ATN возвращает значение арктангенса аргумента 'число'.
в радианах.

Зависимости: (ядро)

------------------------------------------

Команда: CALL имя-подпрограммы

Описание: CALL вызывает именованную подпрограмму (см. SUB и END SUB).

Зависимости: STRUCT_CMDS

------------------------------------------

Команда: CASE ELSE | IF частичное выражение | постоянный

Описание: CASE вводит элемент оператора SELECT CASE.
(см. ВЫБРАТЬ СЛУЧАЙ). CASE IF вводит условный
SELECT CASE, а CASE ELSE вводит
элемент SELECT CASE по умолчанию.

Зависимости: STRUCT_CMDS

------------------------------------------

Команда: ЦЕПЬ [MERGE] имя-файла [, номер-строки] [, ВСЕ]

Описание: CHAIN ​​передает управление другой программе BASIC.
Переменные, объявленные ОБЩИМИ (qv), будут переданы
к новой программе.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: CHDIR путь $

Описание: CHDIR изменяет текущий каталог на указанный
аргументом pathname $.

Зависимости: UNIX_CMDS

------------------------------------------

Функция: CHR $ (число)

Описание: CHR $ возвращает односимвольную строку с символом
соответствует коду ASCII, указанному аргументом
'количество'.

Зависимости: COMMON_FUNCS

------------------------------------------

Функция: CINT (число)

Описание: CINT возвращает усеченное целое число для аргумента.
'количество'.

Зависимости: MS_FUNCS

------------------------------------------

Команда: ОЧИСТИТЬ

Описание: CLEAR устанавливает все числовые переменные в 0 и все
Строковые переменные равны нулю.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: ЗАКРЫТЬ [[#] номер-файла] ...

Описание: ЗАКРЫТЬ закрывает файл, обозначенный номером файла.
(см. ОТКРЫТЬ).

Зависимости: COMMON_CMDS

------------------------------------------

Команда: CLS

Описание: CLS очищает экран дисплея (IBM и совместимые
только с версии 2.10).

Зависимости: IMP_IQC и IMP_CMDLOC

------------------------------------------

Команда: CMDS

Описание: CMDS - это команда отладки, которая печатает список
всех реализованных команд bwBASIC.

Зависимости: DEBUG

------------------------------------------

Команда: ОБЩАЯ переменная [, переменная ...]

Описание: COMMON обозначает переменные, которые должны быть переданы в CHAINed.
программа (см. ЦЕПЬ).

Зависимости: COMMON_CMDS

------------------------------------------

Функция: COS (число)

Описание: COS возвращает косинус аргумента number.
в радианах.

Зависимости: (ядро)

------------------------------------------

Функция: CSNG (число)

Описание: CSNG - это псевдофункция, которая не действует под
bwBASIC. Он воспроизводит команду типа Microsoft
который преобразовал бы "число" в одинарную точность.

Зависимости: MS_FUNCS

------------------------------------------

Функция: CVD (строка $)

Описание: CVD преобразует строку аргумента $ в bwBASIC
число (точность не имеет значения в bwBASIC, так как
bwBASIC числа имеют только одну точность).

Примечания, относящиеся к реализации:

CVD (), CVI (), CVS (), MKI $ (), MKD $ (), MKS $ (): эти функции
реализованы, но зависят от а) размеров для целых чисел,
float и double значения в определенных системах, и б) как
определенные версии C хранят эти числовые значения. В
подразумевается, что файлы данных, созданные с использованием этих функций
на микрокомпьютере под управлением DOS может быть некорректно переведен
от bwBASIC, запущенного на компьютере под управлением Unix. Точно так же данные
файлы, созданные bwBASIC, скомпилированные одной версией C, не могут быть
читается bwBASIC, скомпилированным другой версией C (даже под
та же операционная система). Так что будьте осторожны с этим.

Зависимости: MS_FUNCS

------------------------------------------

Функция: CVI (строка $)

Описание: CVI преобразует строку аргумента $ в bwBASIC
число (точность не имеет значения в bwBASIC, так как
числа bwBASIC имеют только одну точность; смотрите также
примечание о сердечно-сосудистых заболеваниях).

Зависимости: MS_FUNCS

------------------------------------------

Функция: CVS (строка $)

Описание: CVI преобразует строку аргумента $ в bwBASIC
число (точность не имеет значения в bwBASIC, так как
числа bwBASIC имеют только одну точность; смотрите также
примечание о сердечно-сосудистых заболеваниях).

Зависимости: MS_FUNCS

------------------------------------------

Команда: DATA constant [, константа] ...

Описание: DATA хранит числовые и строковые константы, которые необходимо
доступ через READ (qv).

Зависимости: (ядро)

------------------------------------------

Функция: DATE $

Описание: DATE $ возвращает текущую дату на основе компьютера
внутренние часы в виде строки в виде «ГГГГ-ММ-ДД».
Как реализовано в bwBASIC, DATE $ не может использоваться для
присвоение (т. е. установить системную дату).

Примечание: в настоящее время bwBASIC (v2.10) не позволяет назначать
к функции.

Зависимости: COMMON_FUNCS

------------------------------------------

Команда: DEF FNname (аргумент ...)] = выражение

Описание: DEF определяет написанную пользователем функцию. Эта функция
соответствует реализации типа Microsoft, хотя
в bwBASIC DEF - это рабочий эквивалент FUNCTION.

Зависимости: (ядро)

------------------------------------------

Команда: DEFDBL буква [-буква] (, буква [-буква]) ...

Описание: DEFDBL объявляет переменные с однобуквенными именами.
как числовые переменные (точность не имеет значения в
ббБЕЙСИК).

Зависимости: MS_CMDS

------------------------------------------

Команда: DEFINT буква [-буква] (, буква [-буква]) ...

Описание: DEFINT объявляет переменные с однобуквенными именами.
как числовые переменные (точность не имеет значения в
ббБЕЙСИК).

Зависимости: MS_CMDS

------------------------------------------

Команда: DEFSNG буква [-буква] (, буква [-буква]) ...

Описание: DEFSNG объявляет переменные с однобуквенными именами.
как числовые переменные (точность не имеет значения в
ббБЕЙСИК).

Зависимости: MS_CMDS

------------------------------------------

Команда: DEFSTR буква [-буква] (, буква [-буква]) ...

Описание: DEFSTR объявляет переменные с однобуквенными именами.
как строковые переменные.

Зависимости: MS_CMDS

------------------------------------------

Команда: УДАЛИТЬ строку [-строка]

Описание: DELETE удаляет программные строки, обозначенные
аргумент (ы). Если вы хотите использовать DELETE для не-
нумерованные программы, сначала используйте DO NUM, затем DELETE,
затем СДЕЛАЙТЕ UNNUM.

Зависимости: ИНТЕРАКТИВНЫЕ

------------------------------------------

Команда: DIM переменная (элементы ...) [переменная (элементы ...)] ...

Описание: DIM определяет переменные, которые имеют более одного
элемент в одномерном измерении, т.е.
переменные.

Примечание: как реализовано в bwBASIC, DIM принимает только
круглые скобки как разделители для переменных полей.
(Некоторые BASIC позволяют использовать квадратные скобки.)

Зависимости: (ядро)

------------------------------------------

Команда: DO NUM | UNNUM

Описание: DO NUM нумерует все строки в программе. Первое
строке присваивается номер 10, а последующие строки
нумеруются последовательно, кратные 10. DO
UNNUM удаляет все номера строк из программы.
ОБРАТИТЕ ВНИМАНИЕ, что эти функции ничего не делают для выравнивания
числа, например, следующие за оператором GOSUB или GOTO;
эти команды не могут использоваться в качестве замены
RENUM (доступно в некоторых системах, но не в bwBASIC).
Однако с помощью этих команд можно разработать
ненумерованные программы путем ввода новых строк с цифрами,
затем запустите DO UNNUM, чтобы удалить номера строк.
Вместе с ЗАГРУЗИТЬ и СОХРАНИТЬ (qv) можно использовать
bwBASIC как примитивный текстовый редактор.

Зависимости: ИНТЕРАКТИВНЫЕ

------------------------------------------

Команда: DO [WHILE выражение]

Описание: DO реализует несколько форм программных циклов.
DO ... LOOP просто зацикливается; единственный выход - это
ВЫХОД; DO WHILE ... LOOP зацикливается, а выражение -
истина (эквивалент предыдущей версии WHILE-WEND
цикл, также реализованный в bwBASIC); СДЕЛАЙТЕ ... ПЕТЛИ, ПОКА
повторяется до тех пор, пока выражение, следующее за UNTIL, не станет истинным.

Зависимости: STRUCT_CMDS

------------------------------------------

Команда: РЕДАКТИРОВАТЬ

Описание: EDIT - это псевдокоманда, вызывающая текстовый редактор.
указанный в переменной BWB.EDITOR $ для редактирования
программа в памяти. После звонка в текстовый редактор,
(отредактированная) программа перезагружается в память. Пользователь
обычно должен указывать допустимый путь и имя файла в
BWB.EDITOR $ перед этой командой будет полезен.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: ELSE

Описание: ELSE вводит условие по умолчанию в многострочном IF
заявление.

Зависимости: STRUCT_CMDS

------------------------------------------

Команда: ELSEIF

Описание: ELSEIF вводит вторичное условие в мульти-
строка IF заявление.

Зависимости: STRUCT_CMDS

------------------------------------------

Команда: END IF | ФУНКЦИЯ | ВЫБРАТЬ | SUB

Описание: END IF завершает многострочную инструкцию IF. КОНЕЦ ФУНКЦИИ
завершает определение многострочной функции. КОНЕЦ ВЫБОРА
завершает оператор SELECT CASE. END SUB завершает мульти-
определение подпрограммы линии.

Зависимости: STRUCT_CMDS

------------------------------------------

Команда: ENVIRON переменная-строка $ = строка $

Описание: ENVIRON устанавливает переменную среды, обозначенную
переменная строка $ в строку $.

Можно отметить, что это отличается от реализации
ENVIRON в некоторых версиях BASIC, но ENVIRON bwBASIC
позволяет использовать переменные BASIC по обе стороны от равенства
подписать. Обратите внимание, что функция ENVIRON $ () отличается от
команда, и имейте в виду тот факт, что в некоторых операционных системах
переменная среды, установленная в программе, не будет передана
в его родительскую оболочку.

Зависимости: UNIX_CMDS

------------------------------------------

Функция: ENVIRON $ (переменная строка $)

Описание: ENVIRON $ возвращает переменную среды, связанную с
имя-переменная-строка $.

Зависимости: MS_FUNCS

------------------------------------------

Функция: EOF (номер устройства)

Описание: EOF возвращает TRUE (-1), если устройство, связанное с
номер устройства находится в конце файла, в противном случае он
возвращает FALSE (0).

Зависимости: MS_FUNCS

------------------------------------------

Команда: УДАЛИТЬ переменную [, переменную] ...

Описание: ERASE удаляет переменные в массиве из программы.

Зависимости: COMMON_CMDS

------------------------------------------

Функция: ERL

Описание: ERL возвращает номер строки самой последней ошибки.

Зависимости: MS_FUNCS

------------------------------------------

Функция: ERR

Описание: ERR возвращает номер самой последней ошибки.

Обратите внимание, что если PROG_ERRORS был определен, когда bwBASIC
скомпилирован, переменная ERR не будет правильно установлена ​​при
ошибки. Это работает только при использовании стандартных сообщений об ошибках.

Зависимости: MS_FUNCS

------------------------------------------

Команда: номер ОШИБКИ

Описание: ERROR имитирует ошибку, т. Е. Отображает сообщение
подходит для этой ошибки. Эта команда полезна
в письменной форме подпрограммы GOSUB при ОШИБКЕ, которые могут идентифицировать
несколько ошибок для специальной обработки, а затем ERROR ERR
(т.е. обработка по умолчанию) для всех остальных.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: ВЫХОД [ДЛЯ]

Описание: EXIT сам по себе выходит из цикла DO ... LOOP;
EXIT FOR - выход из цикла FOR ... NEXT.

Зависимости: STRUCT_CMDS

------------------------------------------

Функция: EXP (число)

Описание: EXP возвращает экспоненциальное значение числа.

Зависимости: (ядро)

------------------------------------------

Команда: FIELD [#] номер-устройства, номер AS строковая-переменная $ [, номер AS строковая-переменная $ ...]

Описание: FIELD выделяет место в произвольном файловом буфере для устройства.
указывается номером устройства, выделяя 'число' байтов
и присвоение байтов в этой позиции переменной
строковая переменная $.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: FILES filespec $

Описание: FILES - это псевдокоманда, вызывающая программу каталога.
указанный в переменной BWB.FILES $ с аргументом
filespec $. Обычно пользователь должен установить эту переменную
перед использованием ФАЙЛОВ. Например, для компьютеров типа ПК,

BWB.FILES $ = "КАТАЛОГ"

будет работать для Unix-машин,

BWB.FILES $ = "ls -l"

и так далее

Зависимости: COMMON_CMDS

------------------------------------------

Команда: FNCS

Описание: CMDS - это команда отладки, которая печатает список
всех предопределенных функций bwBASIC.

Зависимости: DEBUG

------------------------------------------

Команда: FUNCTION

Описание: FUNCTION вводит определение функции, обычно
оканчивается на КОНЕЦ ФУНКЦИИ. В bwBASIC, FUNCTION и
DEF являются рабочими эквивалентами, поэтому можно использовать любой из них.
с однострочными определениями функций или с многострочными
определения строк завершаются END FUNCTION.

Зависимости: STRUCT_CMDS

------------------------------------------

Команда: FOR counter = start TO finish [шаг шага]

Описание: FOR инициирует цикл FOR-NEXT с переменной
'counter' изначально установлен на 'start' и увеличивается
с шагом «приращения» (по умолчанию 1) до «счетчика»
равно «финишу».

Зависимости: (ядро)

------------------------------------------

Команда: GET [#] номер-устройства [, номер-записи]

Описание: GET читает следующую запись из файла с произвольным доступом.
или устройство в буфер, связанный с этим файлом.
Если указан номер записи, команда GET считывает
указанная запись.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: строка GOSUB | метка

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

Зависимости: (ядро), но STRUCT_CMDS для ярлыков

------------------------------------------

Команда: GOTO line | метка

Описание: GOTO переводит выполнение программы в указанную строку
(или ярлык).

Зависимости: (ядро), но STRUCT_CMDS для ярлыков

------------------------------------------

Функция: HEX $ (число)

Описание: HEX $ возвращает строку с шестнадцатеричным числом (основание 16).
значение для "числа".

Зависимости: MS_FUNCS

------------------------------------------

Команда: IF выражение THEN [оператор [оператор ELSE]]

Описание: IF вычисляет выражение и выполняет THEN
заявление, если это правда или (необязательно)
Заявление ELSE, если оно ложно. Если STRUCT_CMDS
установлен на TRUE, bwBASIC разрешает многострочную IF
операторы с регистрами ELSE и ELSEIF, заканчивающиеся
с END IF.

Зависимости: (ядро), STRUCT_CMDS для многострочных операторов IF

------------------------------------------

Функция: INKEY $

Описание: INKEY $ считывает состояние клавиатуры и одиночный
нажатие клавиши, если доступно. Если нажатие клавиши недоступно,
тогда INKEY $ немедленно возвращает пустую строку ("").
В настоящее время (v2.10) реализовано только в bwx_iqc.c.

Зависимости: IMP_IQC и IMP_CMDLOC

------------------------------------------

Команда: INPUT [# номер-устройства] | [;] ["строка приглашения";] список переменных

Описание: INPUT позволяет вводить данные с терминала или устройства.
указывается номером устройства. Если терминал, подсказка "
строка "выводится, а ввод присваивается
указаны соответствующие переменные.

bwBASIC не поддерживает дополнительную функцию INPUT
который подавляет возврат каретки и перевод строки в конце
входа. Это потому, что C сам по себе не обеспечивает никаких
средства ввода, отличные от строк, завершающихся CR-LF.

Зависимости: (ядро)

------------------------------------------

Функция: INSTR ([начальная-позиция,] строковый поиск $, строковый шаблон $)

Описание: INSTR возвращает позицию, в которой строковый шаблон $
встречается в $ поисковой строке, начиная с начальной позиции.
Как реализовано в bwBASIC, INSTR нельзя использовать для
задания.

Примечание: в настоящее время bwBASIC (v2.10) не позволяет назначать
к функции.

Зависимости: MS_FUNCS

------------------------------------------

Функция: INT (число)

Описание: INT возвращает наибольшее целое число, меньшее или равное
аргумент «число». ОБРАТИТЕ ВНИМАНИЕ, что это не «усеченный»
целочисленная функция, для которой см. CINT.

Зависимости: (ядро)

------------------------------------------

Команда: KILL имя-файла $

Описание: KILL удаляет файл, указанный в имени файла $.

Зависимости: UNIX_CMDS

------------------------------------------

Функция: LEFT $ (строка $, количество пробелов)

Описание: LEFT $ возвращает подстроку строку $ с количеством пробелов.
слева (от начала) строки). Как реализовано
в bwBASIC его нельзя использовать для назначения.

Зависимости: MS_FUNCS

------------------------------------------

Функция: LEN (строка $)

Описание: LEN возвращает длину строки $ в байтах.

Зависимости: COMMON_FUNCS

------------------------------------------

Команда: LET переменная = выражение

Описание: LET присваивает переменной значение выражения.
В настоящее время bwBASIC поддерживает подразумеваемые LET
операторы (например, "X = 4.5678" в начале
линия или сегмент линии, но не поддерживает присвоение
для нескольких переменных (например, «x, y, z = 3.141596»).

Зависимости: (ядро)

------------------------------------------

Команда: LINE INPUT [[#] номер-устройства,] ["строка приглашения";] строковая переменная $

Описание: LINE INPUT считывает всю строку с клавиатуры или из файла.
или устройство в строковую переменную $. Если ввод от
клавиатура (stdin), тогда будет напечатана "строка приглашения"
первый. В отличие от INPUT, LINE INPUT читает целую строку,
не останавливается для элементов данных, разделенных запятыми.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: LIST строка [-line]

Описание: LIST перечисляет программные строки, как указано в его аргументе.

Зависимости: ИНТЕРАКТИВНЫЕ

------------------------------------------

Команда: ЗАГРУЗИТЬ имя-файла

Описание: LOAD загружает в память программу ASCII BASIC.

Зависимости: ИНТЕРАКТИВНЫЕ

------------------------------------------

Функция: LOC (номер устройства)

Описание: LOC возвращает следующую запись, содержащую операторы GET или PUT.
буду использовать.

Зависимости: MS_FUNCS

------------------------------------------

Команда: LOCATE строка, столбец

Описание: LOCATE адресует курсор к указанной строке и
столбец. В настоящее время (v2.10) реализовано только в bwx_iqc.c.

Зависимости: IMP_IQC и IMP_CMDLOC

------------------------------------------

Функция: LOF (номер устройства)

Описание: LOF возвращает длину файла (определяется номером устройства)
в байтах.

Зависимости: MS_FUNCS

------------------------------------------

Функция: ЖУРНАЛ (число)

Описание: LOG возвращает натуральный логарифм аргумента «число».

Зависимости: (ядро)

------------------------------------------

Команда: LOOP [UNTIL выражение]

Описание: LOOP завершает программный цикл: см. DO.

Зависимости: STRUCT_CMDS

------------------------------------------

Команда: строковая переменная LSET $ = выражение

Описание: LSET передает данные из выражения влево.
сторона строковой переменной или поля буфера произвольного доступа.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: MERGE имя-файла

Описание: MERGE добавляет в программу строки программы от 'file-name'
в памяти. В отличие от ЗАГРУЗКИ не очищает программу
в настоящее время в памяти.

Зависимости: COMMON_CMDS

------------------------------------------

Функция: MID $ (строка $, начальная позиция в строке [, количество пробелов])

Описание: MID $ возвращает подстроку строки $, начинающуюся с
начальная позиция в строке и продолжается в течение
количество пробелов в байтах.

Зависимости: MS_FUNCS

------------------------------------------

Команда: MKDIR путь $

Описание: MKDIR создает новый путь к каталогу, как указано
путь $.

Зависимости: UNIX_CMDS

------------------------------------------

Функция: MKD $ (число)

Описание: MKD $, MKI $ и MKS $ эквивалентны в bwBASIC.
Они преобразуют числовое значение "число" в строку.
который может быть сохранен в более сжатом виде в файле
(особенно для произвольного доступа к файлам). Поскольку bwBASIC делает
не распознают различия в точности, эти команды
эффективно эквивалентны.

Зависимости: MS_FUNCS

------------------------------------------

Функция: MKI $ (число)

Описание: Эквивалент MKD $ (qv)

Зависимости: MS_FUNCS

------------------------------------------

Функция: MKS $ (число)

Описание: Эквивалент MKD $ (qv).

Зависимости: MS_FUNCS

------------------------------------------

Команда: НАЗВАНИЕ имя-старого-файла КАК имя-нового-файла

Описание: NAME переименовывает существующий файл (старое имя файла) как
новое-имя-файла.

Зависимости: UNIX_CMDS

------------------------------------------

Команда: NEW

Описание: NEW удаляет программу из памяти и очищает все
переменные.

Зависимости: ИНТЕРАКТИВНЫЕ

------------------------------------------

Команда: NEXT [счетчик-переменная]

Описание: NEXT находится в конце цикла FOR-NEXT; см. FOR.

Зависимости: (ядро)

------------------------------------------

Функция: OCT $ (число)

Описание: OCT $ возвращает строку с восьмеричным числом (с основанием 8).
представление «числа».

Зависимости: MS_FUNCS

------------------------------------------

Команда: ON переменная GOTO | GOSUB строка [, строка, строка, ...]

Описание: ВКЛ либо ветвится (GOTO), либо вызывает подпрограмму
(GOSUB) на основе округленного значения переменной;
если 1 - вызывается первая строка, если 2 - вторая
линия называется и т. д.

Зависимости: (ядро)

------------------------------------------

Команда: ON ERROR GOSUB line | label

Описание: ON ERROR устанавливает подпрограмму обработки ошибок. Видеть
также ОШИБКА.

Зависимости: COMMON_CMDS, STRUCT_CMDS для ярлыков

------------------------------------------

Команда: OPEN "O" | "I" | "R", [#] номер-устройства, имя-файла [, длина записи]
имя-файла ДЛЯ ВХОДА | ВЫХОДА | ДОБАВИТЬ КАК [#] номер-устройства [LEN = длина записи]

Описание: OPEN выделяет оперативную память для доступа к диску.
файл или другое устройство. Обратите внимание, что две совершенно разные формы
оператора OPEN поддерживаются. В первой форме
"O" (обратите внимание, что эти буквы должны быть заключены в кавычки
меток) обозначает последовательный вывод, «I» обозначает последовательный
ввод, а «R» обозначает ввод и вывод с произвольным доступом.
После открытия можно выполнять любое количество операций.
на устройстве (см. WRITE #, INPUT #, PRINT # и т. д.).

Зависимости: COMMON_CMDS

------------------------------------------

Команда: OPTION BASE number

Описание: OPTION BASE устанавливает наименьшее значение для индексов массива,
либо 0, либо 1.

Зависимости: (ядро)

------------------------------------------

Функция: POS

Описание: POS возвращает текущую позицию курсора в строке.

Зависимости: COMMON_FUNCS

------------------------------------------

Команда: PRINT [# номер-устройства,] [USING format-string $;] выражения ...

Описание: PRINT выводит текст на экран, в файл или на устройство.
указывается номером устройства. В текущей реализации
bwBASIC, выражения для печати должны быть разделены
запятая (вывод с вкладками), точка с запятой (сразу
последовательный вывод) или знак плюса (немедленный последовательный
вывод путем конкатенации строк). Выражения разделены
пробелы или табуляторы не поддерживаются. Если указано ИСПОЛЬЗОВАНИЕ,
в формате может появиться ряд знаков форматирования.
строка:

! печатает первый символ строки

\ печатает 2 + x символов строки, где x =
количество пробелов между обратными косыми чертами

& поле строки переменной длины

# представляет одну цифру в формате вывода для
число

. десятичная точка в числе

+ знак числа (выводит + или -)

- завершающий минус после числа

** заполните ведущие пробелы звездочками

$$ выводит знак доллара перед числом

^^ выходное число в экспоненциальном формате

_ выводить следующий символ буквально

В настоящее время экспоненциальный формат
будет использоваться компилятором C.

Зависимости: (ядро), COMMON_FUNCS для ИСПОЛЬЗОВАНИЯ

------------------------------------------

Команда: PUT [#] номер-устройства [, номер-записи]

Описание: PUT выводит следующую доступную запись или запись
указывается номером записи для файла или устройства
обозначается номером устройства.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: ВЫЙТИ

Описание: QUIT - синоним СИСТЕМЫ; с ИНТЕРАКТИВНЫМ
среды, он выходит из программы в
операционная система (или вызывающая программа).

Зависимости: ИНТЕРАКТИВНЫЕ

------------------------------------------

Команда: СЛУЧАЙНО ИЗМЕНИТЬ число

Описание: СЛУЧАЙНОЕ ЗНАЧЕНИЕ генератора случайных чисел (см. RND).
В bwBASIC можно использовать функцию ТАЙМЕР (qv).
для предоставления начального числа для случайного числа
генератор.

Зависимости: (ядро)

------------------------------------------

Команда: ПРОЧИТАТЬ переменную [, переменную] ...

Описание: READ считывает значения из операторов DATA и присваивает им
значения для названных переменных. Типы переменных в READ
оператор должен соответствовать типам данных в операторах DATA
как они произошли. См. Также ДАННЫЕ и ВОССТАНОВЛЕНИЕ.

Зависимости: (ядро)

------------------------------------------

Команда: строка REM

Описание: REM позволяет включать примечания в программу. В качестве
в настоящее время реализовано, вся строка после
REM игнорируется интерпретатором (таким образом, даже если
MULTISEG_LINES установлен, строка REM не сможет
найти разделитель сегментов (":"), за которым следует другой
сегмент линии с командой. bwBASIC в настоящее время не
реализовать использование одинарной кавычки в стиле Microsoft
отметьте для обозначения примечаний.

Зависимости: (ядро)

------------------------------------------

Команда: ВОССТАНОВИТЬ строку

Описание: ВОССТАНОВЛЕНИЕ сбрасывает счетчики строк и позиций для ДАННЫХ.
и операторы READ в начало файла программы или
до начала указанной строки. (В настоящее время это
должен быть номером строки.)

Зависимости: (ядро)

------------------------------------------

Команда: ВОЗВРАТ

Описание: RETURN завершает подпрограмму, вызываемую GOSUB.

Зависимости: (ядро)

------------------------------------------

Функция: RIGHT $ (строка $, количество пробелов)

Описание: RIGHT $ возвращает подстроку строку $ с количеством пробелов.
с правого (конца) строки). Как реализовано
в bwBASIC его нельзя использовать для назначения.

Зависимости: MS_FUNCS

------------------------------------------

Команда: путь RMDIR

Описание: RMDIR удаляет путь к каталогу, указанный в имени пути.

Зависимости: UNIX_CMDS

------------------------------------------

Функция: RND (число)

Описание: RND возвращает псевдослучайное число. Числовое значение
игнорируется bwBASIC, если он указан. Рандомизировать
команда (qv) перезагружает генератор случайных чисел.

Зависимости: (ядро)

------------------------------------------

Команда: RSET строковая переменная $ = выражение

Описание: RSET передает данные из "выражения" вправо.
сторона строковой переменной или поля буфера произвольного доступа.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: RUN [строка] [имя-файла $]

Описание: RUN выполняет программу в памяти. Если имя файла $ равно
поставляется, то указанный файл загружается в память
и казнен. Если указан номер строки, то выполнение
начинается с этой строки.

Зависимости: ИНТЕРАКТИВНЫЕ

------------------------------------------

Команда: СОХРАНИТЬ имя-файла $

Описание: SAVE сохраняет программу в памяти в файл с именем $. bwBASIC
сохраняет файлы только в формате ASCII.

Зависимости: ИНТЕРАКТИВНЫЕ

------------------------------------------

Команда: SELECT CASE выражение

Описание: SELECT CASE вводит многострочное условное выделение.
утверждение. Выражение, указанное в качестве аргумента для SELECT
CASE будет оцениваться следующими операторами CASE. В
Оператор SELECT CASE завершается END SELECT
заявление.

Как это реализовано в настоящее время, могут следовать операторы CASE.
по строковым значениям, но в данном случае только простые сравнения
(равно, не равно) может быть выполнено.

Зависимости: STRUCT_CMDS

------------------------------------------

Функция: SGN (номер)

Описание: SGN возвращает знак аргумента число, +1
для положительных чисел, 0 для 0 и -1 для отрицательных чисел.

Зависимости: (ядро)

------------------------------------------

Функция: SIN (число)

Описание: SIN возвращает синус аргумента 'число'.
в радианах.

Зависимости: (ядро)

------------------------------------------

Функция: ПРОБЕЛ $ (число)

Описание: SPACE $ возвращает строку пробелов 'number'.
длина в байтах.

Зависимости: MS_FUNCS

------------------------------------------

Функция: SPC (число)

Описание: SPC возвращает строку пробелов 'number'
длина в байтах.

Зависимости: MS_FUNCS

------------------------------------------

Функция: SQR (число)

Описание: SQR возвращает квадратный корень из числа аргумента.

Зависимости: (ядро)

------------------------------------------

Команда: СТОП

Описание: STOP прерывает выполнение программы. В соответствии с
bwBASIC, STOP выдает сигнал SIGINT.

Зависимости: (ядро)

------------------------------------------

Функция: STR $ (число)

Описание: STR $ возвращает строку, содержащую десятичную дробь (основание 10).
представление аргумента «число».

Зависимости: COMMON_FUNCS

------------------------------------------

Функция: СТРОКА $ (число, ascii-значение | строка $)

Описание: STRING $ возвращает строку длиной 'число' байтов, состоящую из
либо первого символа строки $, либо символа
отвечая на значение ASCII ascii-value.

Зависимости: MS_FUNCS

------------------------------------------

Команда: SUB имя-подпрограммы

Описание: SUB представляет именованную многострочную подпрограмму. В
подпрограмма вызывается оператором CALL и завершает
с оператором END SUB.

Зависимости: STRUCT_CMDS

------------------------------------------

Команда: переменная SWAP, переменная

Описание: SWAP меняет местами значения двух переменных. Две переменные
должны быть одного типа (числовые или строковые).

Зависимости: COMMON_CMDS

------------------------------------------

Команда: СИСТЕМА

Описание: СИСТЕМА выходит из bwBASIC в вызывающую программу или
(чаще) операционная система.

Зависимости: ИНТЕРАКТИВНЫЕ

------------------------------------------

Функция: TAB (число)

Описание: TAB выводит пробелы до столбца, обозначенного
число было достигнуто.

Зависимости: (ядро)

------------------------------------------

Функция: TAN (число)

Описание: TAN возвращает тангенс аргумента 'число'.
в радианах.

Зависимости: (ядро)

------------------------------------------

Функция: ВРЕМЯ $

Описание: TIME $ возвращает текущее время, основанное на времени компьютера.
внутренние часы в виде строки в формате «ЧЧ-ММ-СС».
Как реализовано в bwBASIC, TIME $ нельзя использовать для
назначение (т. е. установить системное время).

Примечание: в настоящее время bwBASIC (v2.10) не позволяет назначать
к функции.

Зависимости: COMMON_FUNCS

------------------------------------------

Функция: ТАЙМЕР

Описание: ТАЙМЕР возвращает время в системных часах в секундах.
прошло с полуночи.

Зависимости: MS_FUNCS

------------------------------------------

Команда: TROFF

Описание: TROFF повороты следящего средства; см. TRON.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: TRON

Описание: TRON включает средство отслеживания. Этот объект напечатает
номер каждой строки в квадратных скобках, так как программа
выполнен. Это полезно при отладке программ с
номера строк. Чтобы отладить ненумерованную программу с помощью
TRON, сначала позвоните DO NUM, но не забудьте позвонить DO UNNUM
перед тем, как сохранить программу позже.

Зависимости: COMMON_CMDS

------------------------------------------

Функция: VAL (строка $)

Описание: VAL возвращает числовое значение строки $.

Зависимости: COMMON_FUNCS

------------------------------------------

Команда: VARS

Описание: VARS - это команда отладки, которая выводит список
все определенные переменные, имеющие глобальную область видимости.

Зависимости: DEBUG

------------------------------------------

Команда: WEND

Описание: WEND завершает цикл WHILE-WEND; см. ПОКА.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: WHILE выражение

Описание: WHILE инициирует цикл WHILE-WEND. Цикл заканчивается на
WEND, и выполнение повторяется через цикл как
пока «выражение» ИСТИНА (-1).

Зависимости: COMMON_CMDS

------------------------------------------

Команда: WIDTH [# номер-устройства,] номер

Описание: WIDTH устанавливает вывод экрана или устройства на "число"
столбцы. номер-устройства указывает устройство
или файл для вывода.

Зависимости: COMMON_CMDS

------------------------------------------

Команда: WRITE [# номер-устройства,] элемент [, элемент] ....

Описание: WRITE выводит переменные на экран или в файл
или устройство, указанное по номеру устройства. Запятые
вставляются между выходными выражениями и строками
заключены в кавычки.

Зависимости: COMMON_CMDS

------------------------------------------

6. ПРЕДНАЗНАЧЕННЫЕ ПЕРЕМЕННЫЕ

BWB.EDITOR $
BWB.FILES $
BWB.PROMPT $
BWB.РЕАЛИЗАЦИЯ $

Команды EDIT и FILES - это псевдокоманды, запускающие
программы оболочки, названные в переменных BWB.EDITOR $ и BWB.FILES $,
соответственно. Значения по умолчанию для этих переменных могут
можно изменить в bwbasic.h (DEF_EDITOR и DEF_FILES), или они
может быть изменен пользователем на лету. Идея могла бы состоять в том, чтобы
инициализировать эти переменные в "profile.bas" для конкретных
реализации; например, BWB.FILES $ можно определить как
"ls -l" в системах Unix или "dir" в системах DOS.

Предустановленная переменная BWB.PROMPT $ может использоваться для установки подсказки.
строка для bwBASIC. Опять же, рекомендуется, чтобы пользователь:
выбранную подсказку можно настроить в "profile.bas" как
инициализируется каждый раз при запуске bwBASIC. Обратите внимание, что специальные
в строку приглашения можно добавить символы, например,

BWB.PROMPT $ = "Хорошо" + CHR $ (10)

выдаст приглашение «ОК» с последующим переводом строки.

Предустановленная переменная BWB.IMPLEMENTATION $ вернет "TTY" для
реализации bwx_tty и вернет "IQC" для
IBM PC или совместимые с реализацией QuickC (bwx_iqc).
Это может быть полезно для определения того, какие команды и функции
(в частности, CLS, LOCATE и INKEY $) могут быть доступны.

7. НЕВЫПОЛНЕННЫЕ КОМАНДЫ И ФУНКЦИИ, ПОВЕСТКА ДНЯ РАЗВИТИЯ

Есть некоторые нереализованные элементы, которые были так давно
часть стандартных БЕЙСИКов, что их отсутствие покажется удивительным.
Однако в каждом случае для их реализации потребовалось бы оперативное
ting-специфичные для системы функции или специфические для терминала функции
это не может быть обеспечено повсеместно. Некоторые конкретные примеры:

CLOAD использует соглашения CP / M или MSDOS для двоичных файлов.
исполняемые файлы.

ПРОДОЛЖЕНИЕ См. РЕЗЮМЕ ниже (незнание программиста?).

DEF USR использует соглашения CP / M или MSDOS для двоичных файлов.
исполняемые файлы.

FRE () Возможность сообщить количество свободной памяти
остальное зависит от системы из-за различных шаблонов
выделения и доступа к памяти; следовательно, это
возможность отсутствует в ANSI или более ранних версиях
языка C, и эта функция недоступна в bwBASIC.

INPUT $ () C сам по себе не может читать клавиатуру без эхо
ввод, и может читать ввод с клавиатуры только после
Введен возврат каретки.

INP Вызовы к аппаратным портам, например, машинный язык
процедуры, очень специфичны для системы и не могут
быть реализованным только на C.

LLIST См. LPRINT ниже.

LPOS См. LPRINT ниже.

LPRINT, LLIST и т. Д. Требуют доступа к принтеру,
и это варьируется от одной системы к другой. Пользователи
могут попробовать ОТКРЫТЬ принтер самостоятельно
операционная система (например, "/ dev / lp" в системах Unix,
или "PRN" под DOS) и посмотрите, можно ли выполнить печать
из bwBASIC таким образом.

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

OUT См. INP выше (вызовы аппаратных портов).

PEEK () PEEK и POKE включили более ранние BASIC для адресации
определенные места в памяти. Хотя bwBASIC
возможно реализовать эту команду (POKE) и
эта функция (PEEK ()), ограничение будет
сильно ограничены различными системами для
доступ к памяти в разных системах.

POKE см. PEEK () выше.

RENUM Так как можно вводить ненумерованные строки и
выполняется под bwBASIC, он не будет
можно реализовать подпрограмму RENUM.
Вместо этого bwBASIC использует DO NUM и DO UNNUM.

РЕЗЮМЕ Возможно ли это в C? Если да, то я
просто еще не разобрались.
Mea culpa (но не максимумы).

USR См. CALL и DEF USR выше (машинный язык
подпрограммы).

VARPTR См. Выше PEEK и POKE.

ПОДОЖДИТЕ См. «INP» и «OUT» выше.

Есть другие команды, функции и детали реализации.
над которыми я работаю, и которые находятся в списке повестки дня на будущее
версии bwBASIC. Эта повестка дня включает:

PARACT то есть способность выполнять ПАРАЛЛЕЛЬНЫЕ ДЕЙСТВИЯ. Этот
описан в ANSI BASIC, хотя я его не видел
реализовано ранее. Он предложит грубую, не-
упреждающая форма многозадачности в рамках
программы BASIC. Программисты отметят точки, в которых
в bwBASIC уже есть хуки для PARACT.

Компьютеры типа XMEM PC должны иметь возможность использовать расширенный
объем памяти. Если бы мы могли использовать расширенную память для программы
строки, переменные и определения функций, мы могли бы
писать гораздо более длинные программы. Это повлечет за собой,
однако довольно серьезное переписывание программы
использовать дескрипторы памяти для этих функций хранения
вместо прямых указателей памяти.

Windows Добавление дескрипторов памяти в дополнение к
невытесняющее выполнение программных строк (в
грубая форма, уже присутствует) сделает это возможным
разработать реализации для Windows и, возможно,
для других графических пользовательских интерфейсов. Но в какой форме
следует это принять? Я имею в виду БЕЙСИК
который работал бы в фоновом режиме, появляясь только
в виде значка в пространстве графического интерфейса пользователя со всплывающими редакторами
и окна вывода. Таким образом, интерпретируемый язык
послужит цели вроде cron (задача
планировщик) в системах Unix. Вы можете иметь
размышления, которые помогли бы мне в этом.

Графика Здесь мы сталкиваемся с довольно серьезными различиями в разных
стили и реализации графики, например, между
GWBASIC, ANSI BASIC, VisualBASIC и т. Д. Но это
возможно, что графические команды и функции могли
быть добавленным. Все они будут зависеть от реализации.

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

ДОСТУП
УГОЛ
ПЛОЩАДЬ
АРИФМЕТИЧЕСКИЙ
МНОЖЕСТВО
АСК
БСТР
БВАЛ
ПОТОЛОК
КЛЕТКИ
CLIP
СОБРАТЬ
ПОДКЛЮЧИТЬ
COSH
ДАТА
ОТЛАЖИВАТЬ
ДЕСЯТИЧНЫЙ
ЗАЯВЛЯЮ
ГРАДУСОВ
УСТРОЙСТВО
ОТКЛЮЧИТЬ
ДИСПЛЕЙ
DOT
ПРИВЛЕЧЬ
ERASE
СОБЫТИЕ
ИСКЛЮЧЕНИЕ
GRAPH
ОБРАБОТЧИК
ОБРАЗ
KEY
LCASE
ЛИНИИ
LOG10
LOG2
MAT
MIX
МНОГОТОЧКА
НАРУЖУ ВНУТРЬ
ВЫВОД
ПАРАКТ
Фото
PIXEL
СЮЖЕТ
ТОЧКИ
RADIANS
ПОЛУЧАТЬ
НОМЕР
REWRITE
ПОВОРОТ
КРУГЛЫЙ
ЗАХВАТЫВАТЬ
ОТПРАВИТЬ
SHIFT
SINH
TANH
TIMEOUT
СЛЕД
ПРЕОБРАЗОВАНИЯ
ОБРЕЗАТЬ
УБАЙД
UCASE
ViewPort
ПОДОЖДИТЕ
ViewPort
ШИРИНА ЗОНЫ

8. ИСТОРИЯ BYWATER BASIC

Первоначально эта программа была начата в 1982 году моей бабушкой, миссис Дж.
Verda Spell из Бомонта, штат Техас. Она писала программу, используя
компилятор ANSI C на компьютере Osborne I CP / M, и хотя мой
дед (Локвуд Спелл) купил IBM PC с 256 КБ
RAM моя бабушка не использовала бы его, перефразируя Джорджа Герберта
о том, что «Тот, кто не может в программе 64k, не может в 512k».
Она использовала Microsoft BASIC и хотя ничего не имела против
она неоднократно повторяла, что не понимает, почему Digital
Исследования не «засудили Microsoft» за версию 1.0.
MSDOS, и поэтому я полагаю, что она надеялась подорвать
весь рынок и в конечном итоге построить новую империю программного обеспечения на
северный конец Бомонта. Ее усилия по программированию были сокращены
трагически короткая, когда ее выбросило из Бомонта в Порт
Пригородный поезд Артура летом 1986 года. Я нашел источник
код на bwBASIC на дискете Осборна одинарной плотности в ее вязании
мешок и в итоге удалось скопировать все это на ПК
дискета. Я немного отредактировал его перед этим выпуском. Ты
Однако следует знать, что я сам историк, а не программист.

9. СВЯЗЬ:

email: [электронная почта защищена]

11 октября 1993 БВБЕЙСИК(1)

Используйте bwbasic онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    АстрОрзПлеер
    АстрОрзПлеер
    AstrOrz Player — бесплатный медиаплеер.
    программное обеспечение, частично основанное на WMP и VLC.
    плеер выполнен в минималистическом стиле, с
    более десяти цветов темы, а также может
    б ...
    Скачать AstrOrzPlayer
  • 2
    Movistartv
    Movistartv
    Kodi Movistar+ TV является дополнением для XBMC/
    Коди, разрешенный к использованию
    decodificador de los servicios IPTV де
    Movistar интегрирован в один город
    медиацентры ма...
    Скачать киностартв
  • 3
    Code :: Blocks
    Code :: Blocks
    Code::Blocks — это бесплатная программа с открытым исходным кодом,
    кроссплатформенная C, C++ и Fortran IDE
    построен для удовлетворения самых взыскательных потребностей
    своих пользователей. Он разработан, чтобы быть очень
    расширенный ...
    Код загрузки::Блоки
  • 4
    среди
    среди
    Среда или расширенный интерфейс Minecraft
    и отслеживание данных / структуры - это инструмент для
    отобразить обзор Minecraft
    мир, фактически не создавая его. Это
    жестяная банка ...
    Скачать Среди
  • 5
    МСИС2
    МСИС2
    MSYS2 - это набор инструментов и
    библиотеки, предоставляющие вам
    удобная среда для строительства,
    установка и запуск родной Windows
    программное обеспечение. Это кон ...
    Скачать MSYS2
  • 6
    libjpeg-турбо
    libjpeg-турбо
    libjpeg-turbo - это кодек изображений JPEG
    который использует инструкции SIMD (MMX, SSE2,
    NEON, AltiVec) для ускорения базового уровня
    Сжатие и распаковка JPEG на
    x86, x8 ...
    Скачать libjpeg-turbo
  • Больше »

Команды Linux

Ad