The parsexp library provides generic parsers for parsing S-expressions from strings or other media.
The library is focused on performance but still provides full generic parsers that can be used effortlessly with strings, bigstrings, lexing buffers, character streams or any other source.
It provides three different classes of parsers:
- the normal parsers, producing [Sexp.t]
or [Sexp.t list]
values;
- the parsers with positions, building compact position sequences so that one
can recover original positions in order to properly report error locations at
little cost; and
- the Concrete Syntax Tree parsers, producing values of type [Parsexp.Cst.t]
which record the concrete layout of the s-expression syntax, including
comments.
This library is portable and doesn't provide I/O functions. To read
s-expressions from files or other external sources, you should use
parsexp_io
.