package dolmen
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=c5c85f77e3924f378e8d82f166eefe4131b4e041bf9cdeca467410f33c71fa61
sha512=42feb39d13cfdc8a2054abe85ccc47755f45059cda7d95e9261b5a9fd5c730f420732547b3fa19c4af059474f887ef78c119ab5933375a5ea2dbe888f65a3e4f
doc/dolmen.icnf/Dolmen_icnf/Make/index.html
Module Dolmen_icnf.Make
Source
Functor to generate a parser for the iCNF format.
Parameters
module L : Dolmen_intf.Location.S
Signature
The type of tokens produced by the language lexer.
The Lexer module for the language.
The Parser module for the language.
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.
val parse_all :
[ `Stdin | `File of string | `Contents of string * string ] ->
L.file * statement list Lazy.t
Whole input 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 lazy list of the parsed statements. Forcing the lazy list may raise an exception if some error occurs during parsing (e.g. lexing or parsing error).
val 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.