package ppxlib

  1. Overview
  2. Docs
Standard infrastructure for ppx rewriters

Install

Dune Dependency

Authors

Maintainers

Sources

ppxlib-0.34.0.tbz
sha256=d77d97165a158d7ae56b7c0387cd04e9927d7e7e797ca1039ffb5bb17a6661a7
sha512=84954f375b0c3ed063c874c47cc2597cceea338de0f567f64f340bd4e3569ef88421369b92bd5830701216bcdb88d78f50f3896c8edeb13250f0e7337c106b7d

doc/ppxlib.astlib/Astlib/Location/index.html

Module Astlib.LocationSource

Source code locations (ranges of positions), used in parsetrees

type t = Ocaml_common.Location.t = {
  1. loc_start : Lexing.position;
  2. loc_end : Lexing.position;
  3. loc_ghost : bool;
}

The location type

type 'a loc = 'a Ocaml_common.Location.loc = {
  1. txt : 'a;
  2. loc : t;
}

A located type

Sourcemodule Error : sig ... end
Sourceval set_input_name : string -> unit

Set the name of the input source, e.g. the file name.

Sourceval set_input_lexbuf : Lexing.lexbuf option -> unit

Set the name of the input source, e.g. the file name.

val none : t

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

Automatically reporting errors for raised exceptions

val register_error_of_exn : (exn -> Error.t option) -> unit

Each compiler module which defines a custom type of exception which can surface as a user-visible error should register a "printer" for this exception using register_error_of_exn. The result of the printer is an error value containing a location, a message, and optionally sub-messages (each of them being located as well).

exception Error of Error.t

Located exception.

Sourceval raise_errorf : ?loc:t -> ('a, Format.formatter, unit, 'b) format4 -> 'a

Raise a located exception.

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

Report an exception on the given formatter

OCaml

Innovation. Community. Security.