aboutsummaryrefslogtreecommitdiff
path: root/gramlib/grammar.mli
diff options
context:
space:
mode:
Diffstat (limited to 'gramlib/grammar.mli')
-rw-r--r--gramlib/grammar.mli71
1 files changed, 0 insertions, 71 deletions
diff --git a/gramlib/grammar.mli b/gramlib/grammar.mli
index 53c8004a5b..244ab710dc 100644
--- a/gramlib/grammar.mli
+++ b/gramlib/grammar.mli
@@ -8,77 +8,6 @@
Grammars entries can be extended using the [EXTEND] statement,
added by loading the Camlp5 [pa_extend.cmo] file. *)
-type g
- (** The type for grammars, holding entries. *)
-type token = string * string
-
-type parsable
-val parsable : g -> char Stream.t -> parsable
- (** Type and value allowing to keep the same token stream between
- several calls of entries of the same grammar, to prevent possible
- loss of tokens. To be used with [Entry.parse_parsable] below *)
-
-module Entry :
- sig
- type 'a e
- val create : g -> string -> 'a e
- val parse : 'a e -> char Stream.t -> 'a
- val parse_all : 'a e -> char Stream.t -> 'a list
- val parse_parsable : 'a e -> parsable -> 'a
- val name : 'a e -> string
- val of_parser : g -> string -> (token Stream.t -> 'a) -> 'a e
- val parse_token_stream : 'a e -> token Stream.t -> 'a
- val print : Format.formatter -> 'a e -> unit
- val find : 'a e -> string -> Obj.t e
- external obj : 'a e -> token Gramext.g_entry = "%identity"
- val parse_token : 'a e -> token Stream.t -> 'a
- end
- (** Module to handle entries.
-- [Entry.e] is the type for entries returning values of type ['a].
-- [Entry.create g n] creates a new entry named [n] in the grammar [g].
-- [Entry.parse e] returns the stream parser of the entry [e].
-- [Entry.parse_all e] returns the stream parser returning all possible
- values while parsing with the entry [e]: may return more than one
- value when the parsing algorithm is [Backtracking]
-- [Entry.parse_all e] returns the parser returning all possible values.
-- [Entry.parse_parsable e] returns the parsable parser of the entry [e].
-- [Entry.name e] returns the name of the entry [e].
-- [Entry.of_parser g n p] makes an entry from a token stream parser.
-- [Entry.parse_token_stream e] returns the token stream parser of the
- entry [e].
-- [Entry.print e] displays the entry [e] using [Format].
-- [Entry.find e s] finds the entry named [s] in the rules of [e].
-- [Entry.obj e] converts an entry into a [Gramext.g_entry] allowing
- to see what it holds.
-- [Entry.parse_token]: deprecated since 2017-06-16; old name for
- [Entry.parse_token_stream] *)
-
-type ('self, 'a) ty_symbol
-(** Type of grammar symbols. A type-safe wrapper around Gramext.symbol. The
- first type argument is the type of the ambient entry, the second one is the
- type of the produced value. *)
-
-type ('self, 'f, 'r) ty_rule
-
-type 'a ty_production
-
-(** {6 Clearing grammars and entries} *)
-
-module Unsafe :
- sig
- val gram_reinit : g -> token Plexing.lexer -> unit
- val clear_entry : 'a Entry.e -> unit
- end
- (** Module for clearing grammars and entries. To be manipulated with
- care, because: 1) reinitializing a grammar destroys all tokens
- and there may have problems with the associated lexer if there
- are keywords; 2) clearing an entry does not destroy the tokens
- used only by itself.
-- [Unsafe.reinit_gram g lex] removes the tokens of the grammar
-- and sets [lex] as a new lexer for [g]. Warning: the lexer
-- itself is not reinitialized.
-- [Unsafe.clear_entry e] removes all rules of the entry [e]. *)
-
(** {6 Functorial interface} *)
(** Alternative for grammars use. Grammars are no more Ocaml values: