package dolmen

  1. Overview
  2. Docs
A parser library

Install

Dune Dependency

Authors

Maintainers

Sources

dolmen-0.4.1.tar.gz
md5=55a97ff61dd8398e38570272ae7e3964
sha512=83f71037eb568d5449ff2d968cb50a0b105c9712e0bd29497d1f95683698f394860a11d4dee2a2a41163504e395ef068c3974901fca11894d671684fe438fc51

doc/src/dolmen.intf/parse.ml.html

Source file parse.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

(* This file is free software, part of dolmen. See file "LICENSE" formore information *)

(** Interface for Dolmen parsers. *)

module type S = sig

  (** {2 Main interface} *)

  type token
  (** The type of token consumed by the parser. *)

  type statement
  (** The type of top-level declarations returned by the parser. *)

  exception Error
  (** Exception raised by the parser when it encounters an error. *)

  val file : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> statement list
  (** A function that parses an entire file, i.e until the end-of-file token,
      and return the list of parsed statements. *)

  val input : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> statement option
  (** A function to parse a single statement. Reutnrs [None] if it encounters
      the end-of-file token. Used for incremental parsing. *)


  (** {2 Menhir incremental interface} *)

  module MenhirInterpreter : sig

    include MenhirLib.IncrementalEngine.INCREMENTAL_ENGINE
      with type token = token

  end

  module Incremental : sig

    val input : Lexing.position -> (statement option) MenhirInterpreter.checkpoint

  end

end

OCaml

Innovation. Community. Security.