Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sadmac7000/libason
A library to parse and manipulate an algebraic superset/semantic application of JSON
https://github.com/sadmac7000/libason
Last synced: 3 months ago
JSON representation
A library to parse and manipulate an algebraic superset/semantic application of JSON
- Host: GitHub
- URL: https://github.com/sadmac7000/libason
- Owner: sadmac7000
- License: gpl-3.0
- Created: 2013-04-04T23:37:31.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2015-03-07T03:31:51.000Z (over 9 years ago)
- Last Synced: 2024-01-24T07:31:10.077Z (10 months ago)
- Language: C
- Size: 840 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
- awesome-json - ASON - A semantically complete superset of JSON (draft). (Supersets)
README
# libason #
ASON is an extension of JSON which specifies a semantic, and allows for pattern
expressions that can specify or match groups of JSON values. libason is a
simple library for manipulating ASON programmatically in C.## Installation ##
`libason` depends on [GNU Readline](http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html)
if you are going to build the `asonq` utility. Rendering the spec requires a
`LaTeX` distribution that provides the `pdflatex` command. Finally, all builds
of `libason` will require the [Lemon parser
generator](http://www.hwaci.com/sw/lemon/).As of Fedora 21, the above are provided by the following RPMs in Fedora:
* `readline-devel`
* `texlive-latex-bin-bin`
* `texlive-texconfig`
* `texlive-texconfig-bin`
* `lemon``libason` can be built and installed with the usual commands:
~~~
$ ./configure
$ make
$ make install
~~~### Configure arguments ###
The `configure` script can take parameters to change the target install path,
like any Automake configuration script. You can use the `--help` option to
print a list of all options. Here are the `libason`-specific options:* `--enable-spec` - Build the ASON specification document. Requires the
`pdflatex` command.* `--enable-lcov` - Build library with LCOV support. `make lcov` will build
a code coverage report.* `--with-asonq` - Build and install the `asonq` utility as well as the
library.### Using the asonq utility ###
`libason` comes with a simple REPL called `asonq`. It takes no arguments on the
command line.Typing an ASON value into `asonq` will reduce it to simplest form and repeat
it. You can assign to variables with the `:=` operator, such as:> foo := 6
Type `/quit` to exit `asonq`.