sig
module Make :
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 delete_rule_in_tree :
Structure.internal_entry ->
Structure.symbol list ->
Structure.tree ->
(Structure.symbol list option * Structure.tree) option
val decr_keyw_use : Structure.gram -> Structure.symbol -> unit
val decr_keyw_use_in_tree : Structure.gram -> Structure.tree -> unit
val delete_rule_in_suffix :
Structure.internal_entry ->
Structure.symbol list ->
Structure.level list -> Structure.level list
val delete_rule_in_prefix :
Structure.internal_entry ->
Structure.symbol list ->
Structure.level list -> Structure.level list
val delete_rule_in_level_list :
Structure.internal_entry ->
Structure.symbol list ->
Structure.level list -> Structure.level list
val delete_rule :
Structure.internal_entry -> Structure.symbol list -> unit
end
end