X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2FqNameSet.ml;h=91309e054a05bae62d0953d0b79600d7a71fe943;hp=87c750ebf9fbe3384803089063b7d40c4a837482;hb=41dd1fed04cabad212f10fce3484545f6e9d9444;hpb=9b75e9a2074c357fc2c823156451209d2a4cef8b diff --git a/src/qNameSet.ml b/src/qNameSet.ml index 87c750e..91309e0 100644 --- a/src/qNameSet.ml +++ b/src/qNameSet.ml @@ -20,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 +let print fmt e = printer fmt e is_finite elements complement is_any + +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