README.md

ocaml-parsexp

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.