X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2Fxpath%2Fxpath_internal_parser.mly;fp=src%2Fxpath%2Fxpath_internal_parser.mly;h=9830e76c5a07fedb7dccb5c68422c14ccd828284;hp=a40eea93bd14ca4fca6bd0fe748cf6da186ca2c5;hb=58417b0684f351a8a24e4e3ad54bde715036209d;hpb=353c74912c28f326bb6067bb6940e000558c70ca diff --git a/src/xpath/xpath_internal_parser.mly b/src/xpath/xpath_internal_parser.mly index a40eea9..9830e76 100644 --- a/src/xpath/xpath_internal_parser.mly +++ b/src/xpath/xpath_internal_parser.mly @@ -15,7 +15,7 @@ (***********************************************************************) (* - Time-stamp: + Time-stamp: *) open Ast @@ -30,7 +30,7 @@ %token FLOAT %token 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 @@ -91,7 +91,9 @@ relative_path: ; 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