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