Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

fbas: a new, embedded BASIC scripting dialect/lib

29 views
Skip to first unread message

ig...@no_spam.repo.hu

unread,
Oct 3, 2019, 3:05:06 AM10/3/19
to
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


ig...@no_spam.repo.hu

unread,
Feb 2, 2020, 9:13:41 AM2/2/20
to


On Thu, 3 Oct 2019, igor2@no_spam.repo.hu wrote:

> 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).

FYI, new verison 1.2.0 with bugfixes is available at

http://repo.hu/projects/libfawk/
0 new messages