X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2FqNameSet.ml;h=91309e054a05bae62d0953d0b79600d7a71fe943;hp=e1fa8a1098e2021f7a14fabf72f9c02539a5eb76;hb=41dd1fed04cabad212f10fce3484545f6e9d9444;hpb=6b66008811639324be623a42037b60e02056772c diff --git a/src/qNameSet.ml b/src/qNameSet.ml index e1fa8a1..91309e0 100644 --- a/src/qNameSet.ml +++ b/src/qNameSet.ml @@ -13,10 +13,6 @@ (* *) (***********************************************************************) -(* - Time-stamp: -*) - include FiniteCofinite.Make(Ptset.Make(QName)) let print_finite fmt e conv = @@ -24,17 +20,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