package dolmen
Parameters
module L : Dolmen_intf.Location.S
module I : Dolmen_intf.Id.Logic
Signature
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.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
High-level parsing
val find : ?language:language -> ?dir:string -> string -> string option
Tries and find the given file, using the language specification.
Given a filename, parse the file, and return the detected language together with the list of statements parsed.
Given 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 * L.file * (unit -> S.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
The type of language modules.