Module type Camlp4.Sig.Grammar.Structure


module type Structure = sig .. end

module Loc: Camlp4.Sig.Loc 
module Action: Camlp4.Sig.Grammar.Action 
module Token: Camlp4.Sig.Token  with module Loc = Loc
type gram 
type internal_entry 
type tree 
type token_pattern = (Token.t -> bool) * string 
type token_info 
type token_stream = (Token.t *
token_info)
Stream.t
val token_location : token_info -> Camlp4.Sig.Loc.t

type symbol =
| Smeta of string * symbol list
* Camlp4.Sig.Grammar.Action.t
| Snterm of internal_entry
| Snterml of internal_entry * string
| Slist0 of symbol
| Slist0sep of symbol * symbol
| Slist1 of symbol
| Slist1sep of symbol * symbol
| Sopt of symbol
| Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
| Skeyword of string
| Stree of tree
type production_rule = symbol list * Camlp4.Sig.Grammar.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