A library providing flexible parsers for input languages.
BSD2, see file LICENSE.
The Dolmen project aims at providing an assortiment of tools to help handle languages that are used in automated deduction and formal logic.
More precisely, the Dolmen project provides:
- A few OCaml libraries for:
- parsing, see the parsing doc
- typechecking, see the typing doc
- writing main loops for binaries, the loop doc
- A binary (which is using the above libraries), to parse and typecheck input files. This could be used to check a file against its language specification, and/or obtain detailed errors. See the bin doc
- A LSP server so that the feature sof the above binary can also be used inside your favorite editor. See the dolmen lsp doc
Online documentation for the libraries can be found at http://gbury.github.io/dolmen. There is also a tutorial.
Currently the following parsers are working:
- dimacs
- iCNF
- smtlib
- tptp
- zf (zipperposition format)
The following parsers are either work in progress, or soon to be work in progress:
- alt-ergo native format
- coq
- dedukti
You need opam to install the developpement version of dolmen. You can installations instructions for opam here.
To install all packages provided by dolmen:
opam pin add https://github.com/Gbury/dolmen.git
Manually, you'll need to first install the dependencies needed by dolmen, the easiest way is to pin your local copy of dolmen like this:
# At the root of your local dolmen repository
opam pin add --no-action ./
opam install --deps-only dolmen dolmen_type dolmen_loop dolmen_bin dolmen_lsp
Once the dependencies have been installed, you can build the project with:
make
- Adding new languages
- Improve error reporting
- Dynamic detection of input language