Groups | Search | Server Info | Login | Register


Groups > comp.lang.basic.misc > #472

fbas: a new, embedded BASIC scripting dialect/lib

From igor2@no_spam.repo.hu
Newsgroups comp.lang.basic.misc
Subject fbas: a new, embedded BASIC scripting dialect/lib
Date 2019-10-03 09:05 +0200
Organization Aioe.org NNTP Server
Message-ID <alpine.DEB.2.20.1910030901380.13666@Awake0> (permalink)

Show all headers | View raw


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

Back to comp.lang.basic.misc | Previous | NextNext in thread | Find similar


Thread

fbas: a new, embedded BASIC scripting dialect/lib igor2@no_spam.repo.hu - 2019-10-03 09:05 +0200
  Re: fbas: a new, embedded BASIC scripting dialect/lib igor2@no_spam.repo.hu - 2020-02-02 15:14 +0100

csiph-web