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

doc/dolmen.dimacs/Dolmen_dimacs/Make/index.html

Module Dolmen_dimacs.MakeSource

Functor to generate a parser for the dimacs format.

Parameters

module T : Term with type location := L.t
module S : Statement with type location := L.t and type term := T.t

Signature

Sourcetype token

The type of tokens produced by the language lexer.

Sourcetype statement = S.t

The type of top-level directives recognised by the parser.

The Lexer module for the language.

The Parser module for the language.

Sourceval find : ?dir:string -> string -> string option

Helper function to find a file using a language specification. Separates directory and file because most include directives in languages are relative to the directory of the original file being processed.

Sourceval parse_file : string -> L.file * statement list

Parse the given file.

  • parameter dir:

    optional directory to use if the file path is relative.

Sourceval parse_file_lazy : string -> L.file * statement list Lazy.t

Parse the given file.

  • parameter dir:

    optional directory to use if the file path is relative.

Sourceval parse_input : [ `Stdin | `File of string | `Contents of string * string ] -> L.file * (unit -> statement option) * (unit -> unit)

Incremental parsing. Given an input to read (either a file, stdin, or some contents of the form (filename, s) where s is the contents to parse), returns a generator that will incrementally parse the statements, together with a cleanup function to close file descriptors. In case of a syntax error, the current line will be completely consumed and parsing will restart at the beginning of the next line. Useful to process input from stdin, or even large files where it would be impractical to parse the entire file before processing it.

OCaml

Innovation. Community. Security.