freebsd-ports/devel/sfsexp/pkg-descr

23 lines
1.3 KiB
Text

The sfsexp library is intended for developers who wish to manipulate
(read, parse, modify, and create) symbolic expressions from C or C++
programs. A symbolic expression, or s-expression, is essentially a
LISP-like expression such as (a (b c)). S-expressions are able to
represent complex, structured data without requiring additional
meta-data describing the structure. They are recursively defined: an
s-expression is a list of either atoms or s-expressions. In the example
above, the expression contains an atom "a" and an s-expression, which in
turn contains two atoms, "b" and "c". They are simple, useful, and well
understood.
This library is designed to provide a minimal set of functions and data
structures for the four functions listed above: reading s-expressions
(I/O), parsing strings containing them into an AST equivalent, modifying
the AST representation, and converting the AST back into a well
formatted string. The primary goals are efficiency and simplicity. This
library forms the basis of the data representation and transmission
protocol for the Supermon high-speed cluster monitoring system from the
LANL Advanced Computing Laboratory. The usefulness and lack of choice in
available, open source s-expression libraries around 2003 motivated the
independent (from supermon) release of this library.
WWW: https://github.com/mjsottile/sfsexp