Add new hlist module
[SXSI/xpathcomp.git] / tag.ml
diff --git a/tag.ml b/tag.ml
index 057f09d..c500dab 100644 (file)
--- a/tag.ml
+++ b/tag.ml
@@ -35,10 +35,22 @@ let tag s = match s with
 
 let compare = (-)
 let equal = (==)
+
+let hash x = x
+
+
 let to_string t = 
-  if t = pcdata then "<$>"
-  else if t = attribute then "<@>"
+  if t == pcdata then "<$>"
+  else if t == attribute then "<@>"
+  else if t == nullt then "<!NIL!>"
   else tag_name (get_pool()) t
 
 
 let print ppf t = Format.fprintf ppf "%s" (to_string t)
+(* Check internal invariants *)
+let check t = 
+  if (t != tag (to_string t))
+  then failwith "module Tag: internal check failed"
+
+let dump = print
+