module type S = sig .. end
module Loc: Camlp4.Sig.Loc
module Token: Camlp4.Sig.Token with module Loc = Loc
module Lexer: Camlp4.Sig.Lexer with module Loc = Loc
and module Token = Token
module Action: Camlp4.Sig.Grammar.Action
type gram = {
|
gfilter : Token.Filter.t; |
|
gkeywords : (string, int Pervasives.ref) Hashtbl.t; |
|
glexer : Camlp4.Struct.Loc.t -> char Stream.t -> (Token.t * Camlp4.Struct.Loc.t) Stream.t; |
|
warning_verbose : bool Pervasives.ref; |
|
error_verbose : bool Pervasives.ref; |
}
type token_info = {
}
type token_stream = (Token.t *
token_info)
Stream.t
type efun = token_stream -> Action.t
type token_pattern = (Token.t -> bool) * string
type internal_entry = {
}
type desc =
type level = {
}
type symbol =
type tree =
| |
Node of node |
| |
LocAct of Action.t * Action.t list |
| |
DeadEnd |
type node = {
}
type production_rule = symbol list * Action.t
type single_extend_statment = string option * Camlp4.Sig.Grammar.assoc option *
production_rule list
type extend_statment = Camlp4.Sig.Grammar.position option *
single_extend_statment list
type delete_statment = symbol list
type ('a, 'b, 'c) fold = internal_entry ->
symbol list ->
('a Stream.t -> 'b) -> 'a Stream.t -> 'c
type ('a, 'b, 'c) foldsep = internal_entry ->
symbol list ->
('a Stream.t -> 'b) -> ('a Stream.t -> unit) -> 'a Stream.t -> 'c
val get_filter : gram ->
Token.Filter.t
val using : gram -> string -> unit
val removing : gram -> string -> unit