functor (Structure : Structure.S) ->
sig
module Tools :
sig
val empty_entry : string -> 'a -> 'b
val stream_map : ('a -> 'b) -> 'a Stream.t -> 'b Stream.t
val keep_prev_loc :
('a * Structure.Loc.t) Stream.t ->
('a * Structure.token_info) Stream.t
val drop_prev_loc :
('a * Structure.token_info) Stream.t ->
('a * Structure.Loc.t) Stream.t
val get_cur_loc :
('a * Structure.token_info) Stream.t -> Structure.Loc.t
val get_prev_loc :
('a * Structure.token_info) Stream.t -> Structure.Loc.t
val is_level_labelled : string -> Structure.level -> bool
val warning_verbose : bool ref
val get_token_list :
'a ->
Structure.symbol list ->
Structure.symbol ->
Structure.tree ->
(Structure.symbol list * Structure.symbol * Structure.tree) option
val is_antiquot : string -> bool
val eq_Stoken_ids : string -> string -> bool
val logically_eq_symbols :
Structure.internal_entry ->
Structure.symbol -> Structure.symbol -> bool
val eq_symbol : Structure.symbol -> Structure.symbol -> bool
end
module Parser :
sig
module Tools :
sig
val empty_entry : string -> 'a -> 'b
val stream_map : ('a -> 'b) -> 'a Stream.t -> 'b Stream.t
val keep_prev_loc :
('a * Structure.Loc.t) Stream.t ->
('a * Structure.token_info) Stream.t
val drop_prev_loc :
('a * Structure.token_info) Stream.t ->
('a * Structure.Loc.t) Stream.t
val get_cur_loc :
('a * Structure.token_info) Stream.t -> Structure.Loc.t
val get_prev_loc :
('a * Structure.token_info) Stream.t -> Structure.Loc.t
val is_level_labelled : string -> Structure.level -> bool
val warning_verbose : bool ref
val get_token_list :
'a ->
Structure.symbol list ->
Structure.symbol ->
Structure.tree ->
(Structure.symbol list * Structure.symbol * Structure.tree)
option
val is_antiquot : string -> bool
val eq_Stoken_ids : string -> string -> bool
val logically_eq_symbols :
Structure.internal_entry ->
Structure.symbol -> Structure.symbol -> bool
val eq_symbol : Structure.symbol -> Structure.symbol -> bool
end
module Failed :
sig
module Tools :
sig
val empty_entry : string -> 'a -> 'b
val stream_map : ('a -> 'b) -> 'a Stream.t -> 'b Stream.t
val keep_prev_loc :
('a * Structure.Loc.t) Stream.t ->
('a * Structure.token_info) Stream.t
val drop_prev_loc :
('a * Structure.token_info) Stream.t ->
('a * Structure.Loc.t) Stream.t
val get_cur_loc :
('a * Structure.token_info) Stream.t -> Structure.Loc.t
val get_prev_loc :
('a * Structure.token_info) Stream.t -> Structure.Loc.t
val is_level_labelled : string -> Structure.level -> bool
val warning_verbose : bool ref
val get_token_list :
'a ->
Structure.symbol list ->
Structure.symbol ->
Structure.tree ->
(Structure.symbol list * Structure.symbol * Structure.tree)
option
val is_antiquot : string -> bool
val eq_Stoken_ids : string -> string -> bool
val logically_eq_symbols :
Structure.internal_entry ->
Structure.symbol -> Structure.symbol -> bool
val eq_symbol : Structure.symbol -> Structure.symbol -> bool
end
module Search :
sig
val tree_in_entry :
Structure.symbol ->
Structure.tree -> Structure.desc -> Structure.tree
end
module Print :
sig
val flatten_tree :
Structure.tree -> Structure.symbol list list
val print_symbol :
Format.formatter -> Structure.symbol -> unit
val print_meta :
Format.formatter -> string -> Structure.symbol list -> unit
val print_symbol1 :
Format.formatter -> Structure.symbol -> unit
val print_rule :
Format.formatter -> Structure.symbol list -> unit
val print_level :
Format.formatter ->
(Format.formatter -> unit -> unit) ->
Structure.symbol list list -> unit
val levels : Format.formatter -> Structure.level list -> unit
val entry :
Format.formatter -> Structure.internal_entry -> unit
end
val name_of_symbol :
Structure.internal_entry -> Structure.symbol -> string
val name_of_symbol_failed :
Structure.internal_entry -> Structure.symbol -> string
val name_of_tree_failed :
Structure.internal_entry -> Structure.tree -> string
val magic : 'a -> 'b -> 'c
val tree_failed :
Structure.internal_entry ->
'a -> Structure.symbol -> Structure.tree -> string
val symb_failed :
Structure.internal_entry ->
'a -> Structure.symbol -> Structure.symbol -> string
val symb_failed_txt :
Structure.internal_entry ->
Structure.symbol -> Structure.symbol -> string
end
module Print :
sig
val flatten_tree : Structure.tree -> Structure.symbol list list
val print_symbol : Format.formatter -> Structure.symbol -> unit
val print_meta :
Format.formatter -> string -> Structure.symbol list -> unit
val print_symbol1 : Format.formatter -> Structure.symbol -> unit
val print_rule :
Format.formatter -> Structure.symbol list -> unit
val print_level :
Format.formatter ->
(Format.formatter -> unit -> unit) ->
Structure.symbol list list -> unit
val levels : Format.formatter -> Structure.level list -> unit
val entry : Format.formatter -> Structure.internal_entry -> unit
end
module StreamOrig :
sig
type 'a t = 'a Stream.t
exception Failure
exception Error of string
val from : (int -> 'a option) -> 'a t
val of_list : 'a list -> 'a t
val of_string : string -> char t
val of_channel : in_channel -> char t
val iter : ('a -> unit) -> 'a t -> unit
val next : 'a t -> 'a
val empty : 'a t -> unit
val peek : 'a t -> 'a option
val junk : 'a t -> unit
val count : 'a t -> int
val npeek : int -> 'a t -> 'a list
val iapp : 'a t -> 'a t -> 'a t
val icons : 'a -> 'a t -> 'a t
val ising : 'a -> 'a t
val lapp : (unit -> 'a t) -> 'a t -> 'a t
val lcons : (unit -> 'a) -> 'a t -> 'a t
val lsing : (unit -> 'a) -> 'a t
val sempty : 'a t
val slazy : (unit -> 'a t) -> 'a t
val dump : ('a -> unit) -> 'a t -> unit
end
val njunk : 'a Stream.t -> int -> unit
val loc_bp : ('a * Structure.token_info) Stream.t -> Structure.Loc.t
val loc_ep : ('a * Structure.token_info) Stream.t -> Structure.Loc.t
val drop_prev_loc :
('a * Structure.token_info) Stream.t ->
('a * Structure.Loc.t) Stream.t
val add_loc :
Structure.Loc.t ->
(('a * Structure.token_info) Stream.t -> 'b) ->
('a * Structure.token_info) Stream.t -> 'b * Structure.Loc.t
val stream_peek_nth : 'a Stream.t -> int -> 'a option
module Stream :
sig
type 'a t = 'a StreamOrig.t
exception Failure
exception Error of string
val peek : 'a StreamOrig.t -> 'a option
val junk : 'a StreamOrig.t -> unit
val dup : 'a Stream.t -> 'a Stream.t
end
val try_parser : ('a Stream.t -> 'b) -> 'a Stream.t -> 'b
val level_number : Structure.internal_entry -> string -> int
val strict_parsing : bool ref
val strict_parsing_warning : bool ref
val top_symb :
Structure.internal_entry -> Structure.symbol -> Structure.symbol
val top_tree :
Structure.internal_entry -> Structure.tree -> Structure.tree
val entry_of_symb :
Structure.internal_entry ->
Structure.symbol -> Structure.internal_entry
val continue :
Structure.internal_entry ->
Structure.Loc.t ->
Structure.Action.t ->
Structure.symbol ->
Structure.tree ->
((Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t) ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
val skip_if_empty :
Structure.Loc.t ->
('a * Structure.token_info) Stream.t -> Structure.Action.t
val do_recover :
(Structure.internal_entry ->
'a ->
'b ->
Structure.tree ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t) ->
Structure.internal_entry ->
'a ->
'b ->
Structure.Loc.t ->
Structure.Action.t ->
Structure.symbol ->
Structure.tree ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
val recover :
(Structure.internal_entry ->
'a ->
'b ->
Structure.tree ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t) ->
Structure.internal_entry ->
'a ->
'b ->
Structure.Loc.t ->
Structure.Action.t ->
Structure.symbol ->
Structure.tree ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
val parser_of_tree :
Structure.internal_entry ->
int ->
int ->
Structure.tree ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
val parser_cont :
((Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t) ->
Structure.internal_entry ->
int ->
int ->
Structure.symbol ->
Structure.tree ->
Structure.Loc.t ->
Structure.Action.t ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
val parser_of_token_list :
(Structure.Loc.t ->
Structure.Action.t ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t) ->
Structure.symbol list ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
val parser_of_symbol :
Structure.internal_entry ->
int ->
Structure.symbol ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
val parse_top_symb :
Structure.internal_entry ->
Structure.symbol ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
val start_parser_of_levels :
Structure.internal_entry ->
int ->
Structure.level list ->
int ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
val start_parser_of_entry :
Structure.internal_entry ->
int ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
val continue_parser_of_levels :
Structure.internal_entry ->
int ->
Structure.level list ->
int ->
Structure.Loc.t ->
'a ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
val continue_parser_of_entry :
Structure.internal_entry ->
int ->
Structure.Loc.t ->
Structure.Action.t ->
(Structure.Token.t * Structure.token_info) Stream.t ->
Structure.Action.t
end
val is_before : Structure.symbol -> Structure.symbol -> bool
val derive_eps : Structure.symbol -> bool
val tree_derive_eps : Structure.tree -> bool
val empty_lev :
string option -> Camlp4.Sig.Grammar.assoc option -> Structure.level
val change_lev :
Structure.internal_entry ->
Structure.level ->
string ->
string option -> Camlp4.Sig.Grammar.assoc option -> Structure.level
val change_to_self :
Structure.internal_entry -> Structure.symbol -> Structure.symbol
val get_level :
Structure.internal_entry ->
Camlp4.Sig.Grammar.position option ->
Structure.level list ->
Structure.level list *
(string option -> Camlp4.Sig.Grammar.assoc option -> Structure.level) *
Structure.level list
val check_gram : Structure.internal_entry -> Structure.symbol -> unit
val tree_check_gram : Structure.internal_entry -> Structure.tree -> unit
val get_initial : Structure.symbol list -> bool * Structure.symbol list
val insert_tokens : Structure.gram -> Structure.symbol list -> unit
val insert_tree :
Structure.internal_entry ->
Structure.symbol list ->
Structure.Action.t -> Structure.tree -> Structure.tree
val insert_level :
Structure.internal_entry ->
bool ->
Structure.symbol list ->
Structure.Action.t -> Structure.level -> Structure.level
val levels_of_rules :
Structure.internal_entry ->
Camlp4.Sig.Grammar.position option ->
(string option * Camlp4.Sig.Grammar.assoc option *
(Structure.symbol list * Structure.Action.t) list)
list -> Structure.level list
val extend :
Structure.internal_entry ->
Camlp4.Sig.Grammar.position option *
(string option * Camlp4.Sig.Grammar.assoc option *
(Structure.symbol list * Structure.Action.t) list)
list -> unit
end