AltErgoParsers.Parsers
module type PARSER_INTERFACE = sig ... end
The interface that should be provided by every lexer/parser of an input language
val register_parser : lang:string -> (module PARSER_INTERFACE) -> unit
Registers a new 'parser' for the given extension/language
val parse_file : ?lang:string -> Stdlib.Lexing.lexbuf -> AltErgoLib.Parsed.file
Parses the given file (lexbuf) using the appropriate 'parser' depending on the given language (set from extension) or the format set with the --input option. If no output format is set with the --output option, we set it depending on the extension / input format. by default if an input format is set results will be printed according this input format.
val parse_expr :
?lang:string ->
Stdlib.Lexing.lexbuf ->
AltErgoLib.Parsed.lexpr
Parses the given expression (lexbuf) using the appropriate 'parser' depending on the given language. If no language is given, the default one is used.
val parse_trigger :
?lang:string ->
Stdlib.Lexing.lexbuf ->
AltErgoLib.Parsed.lexpr list * bool
Parses the given trigger (lexbuf) using the appropriate 'parser' depending on the given language. If no language is given, the default one is used.
val parse_problem :
filename:string ->
preludes:string list ->
AltErgoLib.Parsed.file
Parses the given input file and eventual preludes. Parsers are chosen depending on the extension of different files.
val parse_problem_as_string :
content:string ->
format:string option ->
AltErgoLib.Parsed.file
Parses the given input file as a string. Parser is chosen depending on the given format or the input_format set.