Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.comp.lang.pascal > #36

fpas: a new, embedded Pascal scripting dialect/lib

From igor2@no_spam.repo.hu
Newsgroups alt.comp.lang.pascal
Subject fpas: a new, embedded Pascal scripting dialect/lib
Date 2019-10-03 08:59 +0200
Organization Aioe.org NNTP Server
Message-ID <alpine.DEB.2.20.1910030855220.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 Pascal 
called fpas (for function-Pascal).

For scripters:

The fpas dialect is designed for embedding (executing within a host 
application) and for being as small as possible. Thus a few traditional 
Pascal features are not included (e.g. types, math functions, units). 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_fpas.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 a 3rd-generation BASIC 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+fpas is under
2500 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 fpas.




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 alt.comp.lang.pascal | Previous | NextNext in thread | Find similar


Thread

fpas: a new, embedded Pascal scripting dialect/lib igor2@no_spam.repo.hu - 2019-10-03 08:59 +0200
  Re: fpas: a new, embedded Pascal scripting dialect/lib igor2@no_spam.repo.hu - 2020-02-02 15:14 +0100

csiph-web