This library provides generic parsers for parsing S-expressions from strings or other medium.
The library is focused on performances but still provide full generic parsers that can be used with strings, bigstrings, lexing buffers, character streams or any other sources effortlessly.
It provides three different class 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 report properly located errors at little cost
- the Concrete Syntax Tree parsers, produce 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 IO functions. To read s-expressions from files or other external sources, you should use parsexp_io.