Hi all,
I'm proud to announce the first release of libfawk, which is a small C
library that (among other languages) implements a new dialect of BASIC
called fbas (for function-BASIC).
For scripters:
The fbas dialect is a 3rd generation BASIC dialect and is designed for embedding (executing within a host application) and for being as small as possible. Thus a few traditional BASIC features are not included (e.g. old GOSUB, PRINT, INPUT, DATA, and math functions). In return there are a few
new features/syntax that help building large system of scripts (e.g. a struct-like syntax for array indexing, functions being first-class objects
and of course "include" so scripts can be split up and text-block
templating that makes generating large blocks of formatted output very
easy).
A more complete list of features:
http://repo.hu/projects/libfawk/datasheet_fbas.html
Project page:
http://repo.hu/projects/libfawk/
For application developers:
Libfawk is fully reentrant. It is based oa a small VM implementation and optional parser/compiler frontends (one for fawk described above, but
there's a Pascal and an AWK dialect too).
Libfawk is portable: it is written in C89 and does not depend on any POSIX
or system-dependent APIs.
There are two ways of using libfawk:
- with an #include to a single-c-file version copied into your project; in
this setup there is absolutely zero dependencies, everything required is
in the file included, yet the file is relatively small (VM+fbas is under
2600 SLOC)
- as a system installed library, with the usual /usr/include and -l link mechanism; in this setup there is only one dependency, a minilib called
genht
More details and examples in the dev doc:
http://repo.hu/projects/libfawk/developer/index.html
Testing an mileage:
Libfawk comes with automated regression tests.
Pre-release versions of libfawk have been tested in pcb-rnd, a free
printed circuit board editor. I've implemented complex features (GUI
dialogs and PCB data editing included) using libfawk scripting and there
are scripting examples written in fbas.
Comments and suggestions are welcome, either on this newsgroup or on IRC
or email (contact: see the project page).
Best regards,
Tibor 'Igor2' Palinkas
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)