Module Oug_lang


module Oug_lang: sig .. end
The oug language.

exception Parse_error of string * int
Parse_error (message, chars_pos) is raised in functions parsing filters and phrases. See Oug_analyze.parse_filter and Oug_analyze.parse_phrases.

type elt_selecter = {
   sel_name : string; (*regexp over the fully qualified name*)
   sel_kind : Oug_types.elt_kind list; (*list of kinds of elements*)
}
type filter =
| And of filter * filter
| Or of filter * filter
| Diff of filter * filter
| Not of filter
| Name of elt_selecter
| Ref of Oug_types.depend list * filter * filter option * int option
| From of filter * Oug_types.depend list * filter option * int option
| Let_in of string * filter * filter
| Var of string
| Internal_set of Oug_types.elt_id list
val string_of_filter : filter -> string
type dumper_id = string 
class type dumper = object .. end
val dumpers : dumper list Pervasives.ref
val add_dumper : dumper -> unit
val get_dumper : dumper_id -> dumper

type phrase =
| Let of string * filter (*Let id = filter*)
| Dump of filter * string * dumper_id (*dump filter into file using dumper_id*)
| Display of filter * dumper_id (*display filter using dumper_id*)
module S: Set.S  with type elt = Oug_types.elt_id and type t = Oug_types.Elt_set.t
val all_ids : 'a Oug_data.t -> S.t
val by_name_kind : 'a Oug_data.t -> Str.regexp -> Oug_types.elt_kind list -> S.t
val print_set : Buffer.t -> 'a Oug_data.t -> S.t -> unit
module Env: Map.S  with type key = string
type env = S.t Env.t 
val env_empty : env
val env_add : string -> S.t -> env -> env
val filter : 'a Oug_data.t -> ?env:env -> filter -> S.t
val filter_elements : 'a Oug_data.t ->
?env:env -> filter -> Oug_types.elt_id list
val filter_data : (Oug_types.elt_id -> bool) ->
[ `FILTERED ] Oug_data.t -> [ `FILTERED ] Oug_data.t
val eval_phrase : [ `FILTERED ] Oug_data.t -> env -> phrase -> env