sig
type formal_pred = [ `NegPred of string | `Pred of string ]
type flavour = [ `Appendix | `BaseDef ]
type pkg_definition = {
def_var : string;
def_flav : Fl_metascanner.flavour;
def_preds : Fl_metascanner.formal_pred list;
def_value : string;
}
type pkg_expr = {
pkg_defs : Fl_metascanner.pkg_definition list;
pkg_children : (string * Fl_metascanner.pkg_expr) list;
}
val parse : Pervasives.in_channel -> Fl_metascanner.pkg_expr
val parse2 : Pervasives.in_channel -> Fl_metascanner.pkg_expr
val parse2_lexing : Lexing.lexbuf -> Fl_metascanner.pkg_expr
val parse_lexing : Lexing.lexbuf -> Fl_metascanner.pkg_expr
val print_def :
Pervasives.out_channel -> Fl_metascanner.pkg_definition -> unit
val print : Pervasives.out_channel -> Fl_metascanner.pkg_expr -> unit
val lookup :
string -> string list -> Fl_metascanner.pkg_definition list -> string
val lookup_2 :
string ->
string list ->
Fl_metascanner.pkg_definition list ->
string * Fl_metascanner.formal_pred list
val predicate_exists : string -> Fl_metascanner.pkg_definition list -> bool
end