package alt-ergo-parsers

  1. Overview
  2. Docs
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.

  • raises Errors.Parser_error
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.

  • raises Errors.Parser_error
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.

  • raises Errors.Parser_error
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.

  • raises Errors.Error
  • raises Parsing.Parse_Error
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.

  • raises Errors.Error
  • raises Parsing.Parse_Error