X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2FqNameSet.ml;h=d895ff3943e4f15afc9a02248c82ebaff57388aa;hp=87c750ebf9fbe3384803089063b7d40c4a837482;hb=974dacbf4f625bfd8ea83db69d6b346050141fea;hpb=9b75e9a2074c357fc2c823156451209d2a4cef8b diff --git a/src/qNameSet.ml b/src/qNameSet.ml index 87c750e..d895ff3 100644 --- a/src/qNameSet.ml +++ b/src/qNameSet.ml @@ -13,6 +13,10 @@ (* *) (***********************************************************************) +(* + Time-stamp: +*) + include FiniteCofinite.Make(Ptset.Make(QName)) let print_finite fmt e conv = @@ -20,17 +24,26 @@ let print_finite fmt e conv = Pretty.print_list ~sep:"," QName.print fmt (conv e); Format.fprintf fmt "}" -let printer fmt e test conv inv = +let printer fmt e test conv inv is_any = if test e then print_finite fmt e conv - else begin - Format.fprintf fmt "%s \\ " Pretty.big_sigma; - print_finite fmt (inv e) conv - end + else + let () = Format.fprintf fmt "%s" Pretty.big_sigma in + if not (is_any e) then begin Format.fprintf fmt "-";print_finite fmt (inv e) conv end + +let print fmt e = printer fmt e is_finite elements complement is_any -let print fmt e = printer fmt e is_finite elements complement +let specials = [ QName.document; QName.text; QName.text ] +let notstar = from_list specials +let star = diff any notstar +let node = any +let text = singleton QName.text module Weak = struct include FiniteCofinite.Weak(Ptset.Weak(QName)) - let print fmt e = printer fmt e is_finite elements complement + let print fmt e = printer fmt e is_finite elements complement is_any + let notstar = from_list specials + let star = diff any notstar + let node = any + let text = singleton QName.text end