package ppxlib

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Overrides the Location module of OCaml

There are less functions in this module. However the API should be more stable than the Location module of OCaml.

type t = Astlib.Location.t = {
  1. loc_start : Lexing.position;
  2. loc_end : Lexing.position;
  3. loc_ghost : bool;
}
val in_file : string -> t

Return an empty ghost range located in a given file.

val set_filename : t -> string -> t

Set the pos_fname both in loc_start and loc_end. Leave the rest as is.

val none : t

An arbitrary value of type t; describes an empty ghost range.

val init : Lexing.lexbuf -> string -> unit

Set the file name and line number of the lexbuf to be the start of the named file.

val raise_errorf : ?loc:t -> ('a, Stdppx.Caml.Format.formatter, unit, 'b) Pervasives.format4 -> 'a

Raise a located error. The exception is caught by driver and handled appropriately

val of_lexbuf : Lexing.lexbuf -> t

Return the location corresponding to the last matched regular expression

val report_exception : Stdppx.Caml.Format.formatter -> exn -> unit

Report an exception on the given formatter

val print : Stdppx.Caml.Format.formatter -> t -> unit

Prints File "...", line ..., characters ...-...:

type nonrec 'a loc = 'a Astlib.Location.loc = {
  1. txt : 'a;
  2. loc : t;
}
val compare_pos : Lexing.position -> Lexing.position -> int
val compare : t -> t -> int
module Error : sig ... end
exception Error of Error.t