dolmen

A parser library for automated deduction
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library dolmen.smtlib2.v6
Parameter #1 Dolmen_smtlib2_v6 . Make . L
type t

The type of locations.

type file

A store for various meta-data about an input file, can be used to optimize representation of locations.

exception Uncaught of t * exn * Stdlib.Printexc.raw_backtrace

The exception to be raised whenever an unexpected exception is raised during parsing.

exception Lexing_error of t * string

The exception to be raised when the lexer cannot parse the input.

exception Syntax_error of t * [ `Regular of Dolmen_intf.Msg.t | `Advanced of Dolmen_intf.Msg.t * Dolmen_intf.Msg.t * Dolmen_intf.Msg.t ]

Syntax_error (loc, msg) denotes a syntax error at the given location. In the `Advanced (prod, parsed, expected) case,

  • prod is a delayed message to print in order to identify which production/syntax construction the parser was trying to reduce,
  • parsed is a description of the token which raised the error,
  • expected is a messages describing what would have been corect tokens/inputs at that point.
val of_lexbuf : Stdlib.Lexing.lexbuf -> t

Make a position using a lexbuf directly.

val mk_pos : Stdlib.Lexing.position -> Stdlib.Lexing.position -> t

Make a position from two lewing positions.

val mk_file : string -> file

Create meta-data for a given filename.

val newline : file -> Stdlib.Lexing.lexbuf -> unit

Offer a way for the file meta-data to store the current location of the lexbuf as the start of a new line.

val update_size : file -> Stdlib.Lexing.lexbuf -> unit

Update the file meta-data to store the maximum offset currently seen for this file.