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.