sfsexp Publisher's description
from Matt Sottile
This library is intended for developers who wish to manipulate (read, parse, modify, and create) symbolic expressions from C or C++ programs.
This 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 intended to be a minimal set of functions and 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 ACL. The usefulness and lack of choice in available, open source s-expression libraries motivated the independent (from supermon) release of this library. Although the number of potential users represents a rather small community, the author felt it was a valuable contribution. As of March 2005, this library has actually received more interest in terms of downloads and page views than it's parent project!
What's New in This Release:В· Fix to examples/binmode.c to address compilation failure on recent Ubuntu 10.04 release due to missing argument to open() call.
В· Cleaned up examples further to eliminate warnings caused by unchecked return values from a few functions that could result in missed error conditions.
В· While not a source change, an important project management change was made in source control. The old CVS repository has been disabled and everything has moved to git.
System Requirements:No special requirements.
Program Release Status: New Release
Program Install Support: Install and Uninstall