From 8fadda49b262c2ee287e4b7e195858ca3bbb376c Mon Sep 17 00:00:00 2001 From: Timothy Washington Date: Thu, 27 Nov 2008 18:53:10 -0500 Subject: [PATCH] fixed nametest shift/reduce conflicts --- cc/xpath.sablecc | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/cc/xpath.sablecc b/cc/xpath.sablecc index 1d5db89..b3d49b9 100755 --- a/cc/xpath.sablecc +++ b/cc/xpath.sablecc @@ -462,7 +462,7 @@ Productions {le} T.le_abbrev | {gt} T.gt_abbrev | {ge} T.ge_abbrev; - + valuecomp = {eq} T.eq | {ne} T.ne | {lt} T.lt | @@ -474,24 +474,21 @@ Productions {ncomppre} T.ncomp_precedes | {ncompfol} T.ncomp_follows; - pathexpr = {path1} pathexpr_part_one | {path2} pathexpr_part_two | {relpath} relativepathexpr; pathexpr_part_one = T.abbrev_root relativepathexpr?; pathexpr_part_two = T.abbrev_root_desc relativepathexpr; - - + relativepathexpr = stepexpr relativepathexpr_part*; relativepathexpr_part = relativepathexpr_part_part stepexpr; relativepathexpr_part_part = {root} T.abbrev_root | {rootdesc} T.abbrev_root_desc; - - + stepexpr = {filter} filterexpr | {axis} axisstep; - - + + /** * Axes */ @@ -543,19 +540,19 @@ Productions nodetest = {kind} kindtest | {name} nametest; - nametest = {qname} qname; + //nametest = {qname} qname; //** TODO - causing shift/reduce conflicts - //nametest = {qname} qname | - // {wildc} wildcard; + nametest = {qname} qname | + {wildc} wildcard; //wildcard = T.star; - //wildcard = {star} T.star | - // {wild1} wildcard_part_one | - // {wild2} wildcard_part_two; - // wildcard_part_one = ncname T.colon T.star; - // wildcard_part_two = T.star T.colon ncname; + wildcard = {star} T.star | + {wild1} wildcard_part_one | + {wild2} wildcard_part_two; + wildcard_part_one = ncname T.colon T.star; + wildcard_part_two = T.star T.colon ncname; filterexpr = primaryexpr predicatelist; -- 2.11.4.GIT