package dolmen

  1. Overview
  2. Docs
A parser library for automated deduction

Install

Dune Dependency

Authors

Maintainers

Sources

dolmen-0.7.tbz
sha256=ff2889fa9d467d5b4d87ae4f819a64358715f457cc6226b455463c2fcd4ab2af
sha512=d6ba56945aabcf0886e83fcf44c45f2f8afcf68e48d2f0b25f9cd8e60d18106fae3976fee49d3e291b2e0ab3266837ad5eff800dc51fe2b3aab15ad81ea58cbb

Description

Dolmen is a parser library. It currently targets languages used in automated theorem provers, but may be extended to other domains.

Dolmen provides functors that takes as arguments a representation of terms and statements, and returns a module that can parse files (or streams of tokens) into the provided representation of terms or statements. This is meant so that Dolmen can be used as a drop-in replacement of existing parser, in order to factorize parsers among projects.

Additionally, Dolmen also provides a standard implementation of terms and statements that cna be used ot instantiate its parsers.

README

Dolmen

A library providing flexible parsers and typecheckers for languages used in automated deduction.

LICENSE

BSD2, see file LICENSE.

Documentation

Online documentation for the libraries can be found at http://gbury.github.io/dolmen. There is also a tutorial.

Installation

The main method of installation is to use opam. See this page for information about how to install opam on your system. Once you have installed and configured opam, you can use the following command to install the dolmen cli and lsp binaries:

opam install dolmen_bin dolmen_lsp

Additionally, pre-built binaries for Linux and MacOs can be found on the release pages (starting from the v0.6 release, see the latest release).

The libraries can be installed using:

opam install dolmen dolmen_type dolmen_loop

Goals

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:

  • 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 features of the above binary can also be used inside your favorite editor. See the dolmen lsp doc

Supported languages

Currently the following parsers are working:

  • ae (alt-ergo format)

  • dimacs

  • iCNF

  • smtlib

  • tptp

  • zf (zipperposition format)

The following parsers are either work in progress, or soon to be work in progress:

  • coq

  • dedukti

Dependencies (5)

  1. seq
  2. fmt >= "0.8.7"
  3. dune >= "2.7"
  4. menhir >= "20211230"
  5. ocaml >= "4.08" & != "5.0.0"

Dev Dependencies (2)

  1. qcheck with-test
  2. odoc with-doc

Used by (7)

  1. archsat < "1.1"
  2. colibri2 < "0.4"
  3. colibrics < "0.4"
  4. dolmen_bin = "0.7"
  5. dolmen_loop = "0.7"
  6. dolmen_lsp = "0.7"
  7. dolmen_type = "0.7"

Conflicts

None