projects
/
tatoo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Drastically improve performances by simplifying the book-keeping
[tatoo.git]
/
src
/
xpath
/
xpath_internal_parser.mly
diff --git
a/src/xpath/xpath_internal_parser.mly
b/src/xpath/xpath_internal_parser.mly
index
9830e76
..
d9c46a7
100644
(file)
--- a/
src/xpath/xpath_internal_parser.mly
+++ b/
src/xpath/xpath_internal_parser.mly
@@
-14,12
+14,8
@@
(* *)
(***********************************************************************)
(* *)
(***********************************************************************)
-(*
- Time-stamp: <Last modified on 2013-03-13 14:21:53 CET by Kim Nguyen>
-*)
-
open Ast
open Ast
- open Tree
.Common
+ open Tree
%}
%token <string> TAG
%}
%token <string> TAG
@@
-103,12
+99,12
@@
step:
axis_test:
AXIS COLONCOLON test { let a, (t,k) = $1, $3 in
match a with
axis_test:
AXIS COLONCOLON test { let a, (t,k) = $1, $3 in
match a with
- Attribute when
Utils.
QNameSet.is_finite t ->
- [ a, ((
Utils.
QNameSet.fold
+ Attribute when QNameSet.is_finite t ->
+ [ a, ((QNameSet.fold
(fun t a ->
(fun t a ->
-
Utils.
QNameSet.add
- (
Utils.
QName.attribute t) a)
- t
Utils.
QNameSet.empty), k) ]
+ QNameSet.add
+ (QName.attribute t) a)
+ t QNameSet.empty), k) ]
| Preceding|Following ->
[ (Descendant true, (t,k));
if a == Preceding then
| Preceding|Following ->
[ (Descendant true, (t,k));
if a == Preceding then
@@
-124,10
+120,10
@@
axis_test:
let _ = Format.flush_str_formatter () in
let () = Format.fprintf Format.str_formatter "%a" Ast.print_axis $1 in
let a = Format.flush_str_formatter () in
let _ = Format.flush_str_formatter () in
let () = Format.fprintf Format.str_formatter "%a" Ast.print_axis $1 in
let a = Format.flush_str_formatter () in
- [Child, (
Utils.QNameSet.singleton (Utils.
QName.of_string a),NodeKind.Element)]
+ [Child, (
QNameSet.singleton (
QName.of_string a),NodeKind.Element)]
}
| ATTNAME { [(Attribute,
}
| ATTNAME { [(Attribute,
- (
Utils.QNameSet.singleton (Utils.
QName.of_string $1),
+ (
QNameSet.singleton (
QName.of_string $1),
NodeKind.Attribute))] }
;
NodeKind.Attribute))] }
;
@@
-135,16
+131,16
@@
test:
NODE { node, NodeKind.Node }
| TEXT { text, NodeKind.Text }
| STAR { star, NodeKind.Element }
NODE { node, NodeKind.Node }
| TEXT { text, NodeKind.Text }
| STAR { star, NodeKind.Element }
-| COMMENT {
Utils.QNameSet.singleton(Utils.
QName.comment),
+| COMMENT {
QNameSet.singleton(
QName.comment),
NodeKind.Comment
}
| PI { (if $1 = "" then star
NodeKind.Comment
}
| PI { (if $1 = "" then star
- else
Utils.
QNameSet.singleton(
-
Utils.
QName.processing_instruction (
-
Utils.
QName.of_string $1)
+ else QNameSet.singleton(
+ QName.processing_instruction (
+ QName.of_string $1)
)), NodeKind.ProcessingInstruction
}
)), NodeKind.ProcessingInstruction
}
-| TAG {
Utils.QNameSet.singleton(Utils.
QName.of_string $1),
+| TAG {
QNameSet.singleton(
QName.of_string $1),
NodeKind.Element
}
;
NodeKind.Element
}
;
@@
-176,7
+172,7
@@
expr:
| expr LTE expr { Binop($1, Lte, $3) }
| expr GT expr { Binop($1, Gt, $3) }
| expr GTE expr { Binop($1, Gte, $3) }
| expr LTE expr { Binop($1, Lte, $3) }
| expr GT expr { Binop($1, Gt, $3) }
| expr GTE expr { Binop($1, Gte, $3) }
-| TAG LP arg_list RP { Fun_call(
Utils.
QName.of_string $1, $3) }
+| TAG LP arg_list RP { Fun_call(QName.of_string $1, $3) }
| LP expr RP { $2 }
| path { Path $1 }
;
| LP expr RP { $2 }
| path { Path $1 }
;