|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
-
-
- README file for
-
-
- Bywater BASIC Interpreter/Shell, version 2.20
- ---------------------------------------------
-
- Copyright (c) 1993, Ted A. Campbell
- for bwBASIC version 2.10, 11 October 1993
-
- Version 2.20 modifications by Jon B. Volkoff,
- 25 November 1995
-
-
-
- DESCRIPTION:
-
- The Bywater BASIC Interpreter (bwBASIC) implements a large
- superset of the ANSI Standard for Minimal BASIC (X3.60-1978)
- and a significant subset of the ANSI Standard for Full BASIC
- (X3.113-1987) in C. It also offers shell programming facilities
- as an extension of BASIC. bwBASIC seeks to be as portable
- as possible.
-
- This version of Bywater BASIC is released under the terms of the
- GNU General Public License (GPL), which is distributed with this
- software in the file "COPYING". The GPL specifies the terms
- under which users may copy and use the software in this distribution.
-
- A separate license is available for commercial distribution,
- for information on which you should contact the author.
-
-
- IMPROVEMENTS OVER PREVIOUS VERSION (2.10):
-
- * Plugged numerous memory leaks, resolved memory overruns and allocation
- difficulties.
-
- * General cleanup and bug fixes, too many to list in detail here.
- The major problem areas addressed were:
-
- - RUN command with file name argument
- - nested and cascaded FOR-NEXT loops
- - PRINT USING
- - EOF, LOF functions
- - string concatenation
- - operator hierarchy
- - multi-level expression evaluation
- - hex constant interpretation
- - hex and octal constants in INPUT and DATA statements
-
- * Added a CLOSE all files feature (when no argument supplied).
-
- * Added a unary minus sign operator.
-
- * Added a MID$ command to complement the MID$ function.
-
- * Added a RENUM facility in a standalone program.
-
- * Added checking in configure for unistd.h (important on Sun systems).
-
-
- OBTAINING THE SOURCE CODE:
-
- The source code for bwBASIC 2.20 is available immediately by
- anonymous ftp. To obtain the source code, ftp to site ftp.netcom.com,
- cd to pub/rh/rhn and get the file bwbasic-2.20.uu. Or you may receive
- a copy by e-mail by writing to Jon Volkoff at eidetics@cerf.net.
-
-
- COMMUNICATIONS:
-
- email: tcamp@delphi.com (for Ted Campbell)
- eidetics@cerf.net (for Jon Volkoff)
-
-
- A LIST OF BASIC COMMANDS AND FUNCTIONS IMPLEMENTED in bwBASIC 2.20:
-
- Be aware that many of these commands and functions will not be
- available unless you have set certain flags in the header files.
-
- ABS( number )
- ASC( string$ )
- ATN( number )
- CALL subroutine-name
- CASE constant | IF partial-expression | ELSE
- CHAIN file-name
- CHDIR pathname
- CHR$( number )
- CINT( number )
- CLEAR
- CLOSE [[#]file-number]...
- CLS
- COMMON variable [, variable...]
- COS( number )
- CSNG( number )
- CVD( string$ )
- CVI( string$ )
- CVS( string$ )
- DATA constant[,constant]...
- DATE$
- DEF FNname(arg...)] = expression
- DEFDBL letter[-letter](, letter[-letter])...
- DEFINT letter[-letter](, letter[-letter])...
- DEFSNG letter[-letter](, letter[-letter])...
- DEFSTR letter[-letter](, letter[-letter])...
- DELETE line[-line]
- DIM variable(elements...)[variable(elements...)]...
- DO NUM|UNNUM
- DO [WHILE expression]
- EDIT (* depends on variable BWB.EDITOR$)
- ELSE
- ELSEIF
- END FUNCTION | IF | SELECT | SUB
- ENVIRON variable-string$ = string$
- ENVIRON$( variable-string )
- EOF( device-number )
- ERASE variable[, variable]...
- ERL
- ERR
- ERROR number
- EXIT FOR|DO
- EXP( number )
- FIELD [#] device-number, number AS string-variable [, number AS string-variable...]
- FILES filespec$ (* depends on variable BWB.FILES$)
- FOR counter = start TO finish [STEP increment]
- FUNCTION function-definition
- GET [#] device-number [, record-number]
- GOSUB line | label
- GOTO line | label
- HEX$( number )
- IF expression THEN [statement [ELSE statement]]
- INKEY$
- INPUT [# device-number]|[;]["prompt string";]list of variables
- INSTR( [start-position,] string-searched$, string-pattern$ )
- INT( number )
- KILL file-name
- LEFT$( string$, number-of-spaces )
- LEN( string$ )
- LET variable = expression
- LINE INPUT [[#] device-number,]["prompt string";] string-variable$
- LIST line[-line]
- LOAD file-name
- LOC( device-number )
- LOCATE
- LOF( device-number )
- LOG( number )
- LOOP [UNTIL expression]
- LSET string-variable$ = expression
- MERGE file-name
- MID$( string$, start-position-in-string[, number-of-spaces ] )
- MKD$( number )
- MKDIR pathname
- MKI$( number )
- MKS$( number )
- NAME old-file-name AS new-file-name
- NEW
- NEXT counter
- OCT$( number )
- ON variable GOTO|GOSUB line[,line,line,...]
- ON ERROR GOSUB line | label
- OPEN O|I|R, [#]device-number, file-name [,record length]
- file-name FOR INPUT|OUTPUT|APPEND AS [#]device-number [LEN = record-length]
- OPTION BASE number
- POS
- PRINT [# device-number,][USING format-string$;] expressions...
- PUT [#] device-number [, record-number]
- RANDOMIZE number
- READ variable[, variable]...
- REM string
- RENUM
- RESTORE line
- RETURN
- RIGHT$( string$, number-of-spaces )
- RMDIR pathname
- RND( number )
- RSET string-variable$ = expression
- RUN [line]|[file-name]
- SAVE file-name
- SELECT CASE expression
- SGN( number )
- SIN( number )
- SPACE$( number )
- SPC( number )
- SQR( number )
- STOP
- STR$( number )
- STRING$( number, ascii-value|string$ )
- SUB subroutine-name
- SWAP variable, variable
- SYSTEM
- TAB( number )
- TAN( number )
- TIME$
- TIMER
- TROFF
- TRON
- VAL( string$ )
- WEND
- WHILE expression
- WIDTH [# device-number,] number
- WRITE [# device-number,] element [, element ]....
|