(***********************************************************************)
(*
- Time-stamp: <Last modified on 2013-03-13 10:34:14 CET by Kim Nguyen>
+ Time-stamp: <Last modified on 2013-03-13 14:14:15 CET by Kim Nguyen>
*)
open Xpath_internal_parser
| ">=" -> GTE
| "=" -> EQ
| "!=" -> NEQ
+ | ".." -> DOTDOT
+ | "." -> DOT
| "node()" -> NODE
| "text()" -> TEXT
| "comment()" -> COMMENT
(***********************************************************************)
(*
- Time-stamp: <Last modified on 2013-03-13 12:38:54 CET by Kim Nguyen>
+ Time-stamp: <Last modified on 2013-03-13 14:21:53 CET by Kim Nguyen>
*)
open Ast
%token <float> FLOAT
%token <Ast.axis> AXIS
%token RB LB LP RP
-%token SLASH SLASHSLASH COLONCOLON STAR PIPE
+%token SLASH SLASHSLASH COLONCOLON STAR PIPE DOT DOTDOT
%token EQ NEQ LT GT LTE GTE OR AND ADD SUB DIV MOD
%token NODE TEXT COMMENT
%token COMMA
;
step:
- axis_test pred_list {
+ DOT { [ (Self, (node, NodeKind.Node), []) ] }
+| DOTDOT { [ (Parent, (node, NodeKind.Node), []) ] }
+| axis_test pred_list {
match $1 with
(a,b) :: r -> (a,b,$2) :: (List.map (fun (a,b) -> (a,b,[])) r)
| [] -> assert false