sig
module Dump :
sig
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 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 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
type 'a t = Structure.internal_entry
val name : Structure.internal_entry -> string
val print : Format.formatter -> Structure.internal_entry -> unit
val dump : Format.formatter -> Structure.internal_entry -> unit
val mk : Structure.gram -> string -> Structure.internal_entry
val action_parse :
Structure.internal_entry -> Structure.token_stream -> Structure.Action.t
val lex :
Structure.internal_entry ->
Structure.Loc.t ->
char Stream.t -> (Structure.Token.t * Structure.Loc.t) Stream.t
val lex_string :
Structure.internal_entry ->
Structure.Loc.t ->
string -> (Structure.Token.t * Structure.Loc.t) Stream.t
val filter :
Structure.internal_entry ->
(Structure.Token.t * Structure.Token.Loc.t) Stream.t ->
(Structure.Token.t * Structure.token_info) Stream.t
val parse_tokens_after_filter :
Structure.internal_entry -> Structure.token_stream -> 'a
val parse_tokens_before_filter :
Structure.internal_entry ->
(Structure.Token.t * Structure.Token.Loc.t) Stream.t -> 'a
val parse :
Structure.internal_entry -> Structure.Loc.t -> char Stream.t -> 'a
val parse_string :
Structure.internal_entry -> Structure.Loc.t -> string -> 'a
val of_parser :
Structure.gram -> string -> (Structure.token_stream -> 'a) -> 'a t
val setup_parser :
Structure.internal_entry -> (Structure.token_stream -> 'a) -> unit
val clear : Structure.internal_entry -> unit
val obj : 'a -> 'a
end