Code Review
/
yangtools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Correct and/or/div/mod in path expressions
[yangtools.git]
/
xpath
/
yang-xpath-antlr
/
src
/
main
/
antlr4
/
org
/
opendaylight
/
yangtools
/
yang
/
xpath
/
antlr
/
xpath.g4
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 4bf327cfe167085ddba680497d03ac6296d7436a..fd19d6735a1239499101983af1849a541470ce14 100644
(file)
--- 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 '::'
axisSpecifier
: AxisName '::'
- |
'@'
?
+ |
AT
?
;
nodeTest: nameTest
;
nodeTest: nameTest
@@
-90,10
+90,10
@@
filterExpr
: primaryExpr predicate*
;
: primaryExpr predicate*
;
-orExpr : andExpr (
'or'
andExpr)*
+orExpr : andExpr (
OR
andExpr)*
;
;
-andExpr : equalityExpr (
'and'
equalityExpr)*
+andExpr : equalityExpr (
AND
equalityExpr)*
;
equalityExpr
;
equalityExpr
@@
-109,8
+109,8
@@
additiveExpr
;
multiplicativeExpr
;
multiplicativeExpr
- : unaryExprNoRoot (('*'|
'div'|'mod'
) multiplicativeExpr)?
- | '/' ((
'div'|'mod'
) multiplicativeExpr)?
+ : unaryExprNoRoot (('*'|
DIV|MOD
) multiplicativeExpr)?
+ | '/' ((
DIV|MOD
) multiplicativeExpr)?
;
unaryExprNoRoot
;
unaryExprNoRoot
@@
-125,6
+125,10
@@
functionName
: nCName ':' nCName
| NCName
| AxisName
: nCName ':' nCName
| NCName
| AxisName
+ | AND
+ | OR
+ | DIV
+ | MOD
;
variableReference
;
variableReference
@@
-139,6
+143,10
@@
nameTest: '*'
nCName : NCName
| AxisName
| NodeType
nCName : NCName
| AxisName
| NodeType
+ | AND
+ | OR
+ | DIV
+ | MOD
;
NodeType: 'comment'
;
NodeType: 'comment'
@@
-215,6
+223,15
@@
AxisName: 'ancestor'
: '\'';
QUOT
: '"';
: '\'';
QUOT
: '"';
+ AND
+ : 'and';
+ OR
+ : 'or';
+ DIV
+ : 'div';
+ MOD
+ : 'mod';
+
Literal : '"' ~'"'* '"'
| '\'' ~'\''* '\''
Literal : '"' ~'"'* '"'
| '\'' ~'\''* '\''