interface.mli 1.75 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
(******************************************************************************)
(*                                                                            *)
(*                                   Menhir                                   *)
(*                                                                            *)
(*                       François Pottier, Inria Paris                        *)
(*              Yann Régis-Gianas, PPS, Université Paris Diderot              *)
(*                                                                            *)
(*  Copyright Inria. All rights reserved. This file is distributed under the  *)
(*  terms of the GNU General Public License version 2, as described in the    *)
(*  file LICENSE.                                                             *)
(*                                                                            *)
(******************************************************************************)

14 15 16 17 18 19 20
(* This module defines the interface of the generated parser. *)

(* This is the [Error] exception. *)

val excname: string
val excdef: IL.excdef

21
(* The type of the entry point for the start symbol [nt]. *)
22

23
val entrytypescheme: BasicSyntax.grammar -> string -> IL.typescheme
24

25 26 27 28 29
(* The name of the interpreter sub-module, when the table back-end
   is used. *)

val interpreter: string

30
(* The type ['a checkpoint], defined in the interpreter sub-module. *)
31

32
val checkpoint: IL.typ -> IL.typ
33

34
(* The name of the sub-module that contains the incremental entry points. *)
35

36
val incremental: string
37

38 39 40 41
(* The name of the sub-module that contains the inspection API. *)

val inspection: string

42
(* This writes the interface of the generated parser to the [.mli] file. *)
43

44
val write: BasicSyntax.grammar -> unit -> unit
45