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