X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=xpath%2Fyang-xpath-antlr%2Fsrc%2Fmain%2Fantlr4%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fxpath%2Fantlr%2Fxpath.g4;h=fd19d6735a1239499101983af1849a541470ce14;hb=1a7e93a50d22944771fe2ea4fc18c24fcf3aae11;hp=4bf327cfe167085ddba680497d03ac6296d7436a;hpb=efa1609236b684b553d58634bff3983ab2e354e9;p=yangtools.git diff --git a/xpath/yang-xpath-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/xpath/antlr/xpath.g4 b/xpath/yang-xpath-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/xpath/antlr/xpath.g4 index 4bf327cfe1..fd19d6735a 100644 --- a/xpath/yang-xpath-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/xpath/antlr/xpath.g4 +++ b/xpath/yang-xpath-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/xpath/antlr/xpath.g4 @@ -44,7 +44,7 @@ step : axisSpecifier nodeTest predicate* axisSpecifier : AxisName '::' - | '@'? + | AT? ; nodeTest: nameTest @@ -90,10 +90,10 @@ filterExpr : primaryExpr predicate* ; -orExpr : andExpr ('or' andExpr)* +orExpr : andExpr (OR andExpr)* ; -andExpr : equalityExpr ('and' equalityExpr)* +andExpr : equalityExpr (AND equalityExpr)* ; equalityExpr @@ -109,8 +109,8 @@ additiveExpr ; multiplicativeExpr - : unaryExprNoRoot (('*'|'div'|'mod') multiplicativeExpr)? - | '/' (('div'|'mod') multiplicativeExpr)? + : unaryExprNoRoot (('*'|DIV|MOD) multiplicativeExpr)? + | '/' ((DIV|MOD) multiplicativeExpr)? ; unaryExprNoRoot @@ -125,6 +125,10 @@ functionName : nCName ':' nCName | NCName | AxisName + | AND + | OR + | DIV + | MOD ; variableReference @@ -139,6 +143,10 @@ nameTest: '*' nCName : NCName | AxisName | NodeType + | AND + | OR + | DIV + | MOD ; NodeType: 'comment' @@ -215,6 +223,15 @@ AxisName: 'ancestor' : '\''; QUOT : '"'; + AND + : 'and'; + OR + : 'or'; + DIV + : 'div'; + MOD + : 'mod'; + Literal : '"' ~'"'* '"' | '\'' ~'\''* '\''