package dolmen
Module Response.MakeSource
Parameters
module L : Dolmen_intf.Location.Smodule I : Dolmen_intf.Id.ResponseSignature
Raised when trying to find a language given a file extension.
Supported languages
The languages supported by the Response 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_all :
?language:language ->
[< `File of string
| `Stdin of language
| `Raw of string * language * string ] ->
language * L.file * S.t list Lazy.tFull (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:
- the language
landetected - a
filevalue that stores the metadata about file locations - a lazy list of statements
stmts; 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 * 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.
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")