Simplify the automaton encoding a bit (remove redundant predicates in formulae).
[tatoo.git] / src / xpath / xpath_internal_parser.mly
index d9c46a7..6395b6e 100644 (file)
@@ -99,12 +99,7 @@ step:
 axis_test:
   AXIS COLONCOLON test  { let a, (t,k) = $1, $3 in
                           match a with
-                            Attribute when QNameSet.is_finite t ->
-                              [ a, ((QNameSet.fold
-                                       (fun t a ->
-                                         QNameSet.add
-                                           (QName.attribute t) a)
-                                       t QNameSet.empty), k) ]
+                          | Attribute -> [ a, (t, NodeKind.Attribute) ]
                           | Preceding|Following ->
                               [ (Descendant true, (t,k));
                                 if a == Preceding then
@@ -130,14 +125,13 @@ axis_test:
 test:
   NODE                { node, NodeKind.Node }
 | TEXT                { text, NodeKind.Text }
-| STAR                { star, NodeKind.Element }
+| STAR                { node, NodeKind.Element }
 | COMMENT             { QNameSet.singleton(QName.comment),
                         NodeKind.Comment
                       }
 | PI                  { (if $1 = "" then star
                          else QNameSet.singleton(
-                           QName.processing_instruction (
-                             QName.of_string $1)
+                             QName.of_string $1
                          )), NodeKind.ProcessingInstruction
                       }
 | TAG                 { QNameSet.singleton(QName.of_string $1),