Dolmen_loop.Logic
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.
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.
val enum : (string * language) list
Enumeration of languages together with an appropriate name. Can be used for command-line arguments (for instance, with cmdliner).
val string_of_language : language -> string
String representation of the variant
val find : ?language:language -> ?dir:string -> string -> string option
Tries and find the given file, using the language specification.
val parse_all :
?language:language ->
[< `File of string
| `Stdin of language
| `Raw of string * language * string ] ->
language * Dolmen.Std.Loc.file * Dolmen.Std.Statement.t list Stdlib.Lazy.t
Full (but lazy) 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, file, stmts)
, containing:
lan
detectedfile
value that stores the metadata about file locationsstmts
; forcing this list will run the actual parsing of the whole input given as argument, and may raise errors, if any arises during the parsing (such as lexical errors, etc..)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, stdin (with given language), or some arbitrary contents, of the form `Raw (filename, language, contents)
. Returns a quadruplet (lan, file, gen, cl)
, containing:
lan
detectedfile
value that stores the metadata about file locationsgen
for parsing the input,cl
to call in order to cleanup the file descriptorsmodule type S =
Dolmen_intf.Language.S
with type statement := Dolmen.Std.Statement.t
and type file := Dolmen.Std.Loc.file
The type of language modules.