package dolmen_loop
Module Dolmen_loop.LogicSource
This is an instanciation of the Logic class with the standard implementation of parsed terms and statements of Dolmen.
include Dolmen.Class.Logic.S
with type statement := Dolmen.Std.Statement.t
and type file := Dolmen.Std.Loc.file
Raised when trying to find a language given a file extension.
Supported languages
type language = | Alt_ergo(*Alt-ergo's native language
*)| Dimacs(*Dimacs CNF format
*)| ICNF(*iCNF format
*)| Smtlib2 of Dolmen_smtlib2.Script.version(*Smtlib v2 latest version
*)| Tptp of Dolmen_tptp.version(*TPTP format (including THF), latest version
*)| Zf(*Zipperposition format
*)
The languages supported by the Logic class.
Enumeration of languages together with an appropriate name. Can be used for command-line arguments (for instance, with cmdliner).
High-level parsing
Tries and find the given file, using the language specification.
val parse_file :
?language:language ->
string ->
language * Dolmen.Std.Loc.file * Dolmen.Std.Statement.t listGiven a filename, parse the file, and return the detected language together with the list of statements parsed.
val parse_file_lazy :
?language:language ->
string ->
language * Dolmen.Std.Loc.file * Dolmen.Std.Statement.t list Lazy.tGiven a filename, parse the file, and return the detected language together with the list of statements parsed.
val parse_input :
?language:language ->
[< `File of string
| `Stdin of language
| `Raw of string * language * string ] ->
language
* Dolmen.Std.Loc.file
* (unit ->
Dolmen.Std.Statement.t option)
* (unit ->
unit)Incremental parsing of either a file (see parse_file), stdin (with given language), or some arbitrary contents, of the form `Raw (filename, language, contents). Returns a triplet (lan, gen, cl), containing the language detexted lan, a genratro function gen for parsing the input, and a cleanup function cl to call in order to cleanup the file descriptors.
Mid-level parsing
module type S =
Dolmen_intf.Language.S
with type statement := Dolmen.Std.Statement.t
and type file := Dolmen.Std.Loc.fileThe type of language modules.
These function take as argument either a language, a filename, or an extension, and return a triple:
- language
- language file extension (starting with a dot)
- appropriate parsing module
Extensions should start with a dot (for instance : ".smt2")