A lot of new stuff is packed in this release. Since people are
still downloading the old 0.21 release, I have put this together
quickly to ease their pain with the old stuff ;-)
What is new in snapshot release 0.25 (since 0.21):
=====================================
0) Documentation is now included (html) as:
bdbbasic-0.25/htmldoc/Index.html
1) The Error Handler has changed. There is no
longer any untrappable error. The value
SYS.IN_ERROR_HANDLER is non-zero if the code is in
an ON ERROR handler. This resets after the
execution of the RESUME statement.
2) The ON END FILE handler now operates
independently of the ON ERROR handler, and
supports GOTO/GOSUB. No RESUME is used at the end
of this handler (GOTO/RETURN is used instead).
ON END FILE STOP now works correctly.
3) Documented several undocumented commands.
4) Many date/time functions added.
5) ^C allows interruption of a running program.
6) Command line and program statement screen
editing. See the documentation for a fuller
description.
7) Can now LIST a program to a file name.
LIST "./myprog.bas" (writes file myprog.bas with LIST
output)
8) EDIT command support (uses env var $EDITOR)
9) !shell commands now available, example:
!ls -l
10) CLS convenience command added to clear screen.
11) ARITY, FIRST and LAST functions added for array
support.
00200 DIM A(30,1..40)
01000 FOR I = FIRST(A,0) to LAST(A,0) $ FOR I = 0 TO 29
01010 FOR J = FIRST(A,1) to LAST(A,1) $ FOR I = 1 TO 40
01020 A(I,J) = ....
01030 NEXT J
01040 NEXT I
01100 PRINT ARITY(A) $ Prints 2 (2 dimensions)
12) # prefix for statement numbers, allowing error
handling programs to be renumbered.
13) PRINT FIELD statement added to complement
ACCEPT FIELD.
14) UCASE$, LCASE$ and XLATE$ functions added.
15) DEF MYFUNC(X,Y,Z) = expr supported. Example:
01000 DEF SINE(X) = SIN(RAD(X))
16) SHORT, LONG, DIM and VARYING statements now accept
expressions for declaring array sizes.
00100 DIM S$(1..N)
17) PIC$ can now format a string argument.
18) LOAD, SAVE, RESAVE, and NAME commands added to
support loading/saving to MASTER database.
19) RUN PROGNAME now runs a SAVEd program.
20) CHAIN and COMMON statements now supported.
CHAIN NEXTPROG,A,B,C...
in NEXT PROG:
COMMON A,B,C...
21) LET statement now permits assignment of
entire arrays or array slices:
0010 DIM A(3,4),B(10,10),C(1..4,1..4)
...
0100 LET A = B(0..2,0..3) $ ASSIGN PART OF B()
0110 LET A(0..2,0..3) = B(0..2,0..3) $ SAME AS 0100
0110 LET A = C $ SAME DIM ARRAYS
22) ERROR statement added to assist in
debugging error handler. Example:
01000 ERROR ERRS.EOF $ Raise End File error
===================
What is BDB-BASIC?
See http://bdbbasic.wiki.sourceforge.net
In a nutshell:
The BDB-BASIC project is about a BASIC language interpreter that is
based heavily upon the Berkeley DB database software (or just BDB). It
not only uses BDB for managing user databases, but uses BDB internally
for indexing of variable tables and other program elements. It is also
partially influenced by the Ada language.


|