Repair accidental API breakage
[yangtools.git] / yang / yang-data-impl / src / main / antlr / LeafRefPathParser.g4
1 parser grammar LeafRefPathParser;\r
2 \r
3 @header {\r
4 package org.opendaylight.yangtools.yang.data.impl.leafref;\r
5 }\r
6 \r
7 options{\r
8  tokenVocab = LeafRefPathLexer;\r
9 }\r
10 \r
11 path_arg : absolute_path | relative_path;\r
12 \r
13 absolute_path : (SLASH node_identifier (path_predicate)*)+; \r
14 \r
15 relative_path : (DOTS SLASH)* descendant_path;\r
16 \r
17 descendant_path : node_identifier ((path_predicate)* absolute_path)?;\r
18 \r
19 path_predicate : LEFT_SQUARE_BRACKET SEP? path_equality_expr SEP? RIGHT_SQUARE_BRACKET;\r
20 \r
21 path_equality_expr : node_identifier SEP? EQUAL SEP? path_key_expr;\r
22 \r
23 path_key_expr : current_function_invocation SEP? SLASH SEP? rel_path_keyexpr;\r
24 \r
25 rel_path_keyexpr : (DOTS SEP? SLASH SEP?)* (node_identifier SEP? SLASH SEP?)* node_identifier;\r
26 \r
27 node_identifier : (prefix COLON)? identifier;\r
28 \r
29 current_function_invocation : CURRENT_KEYWORD SEP? LEFT_PARENTHESIS SEP? RIGHT_PARENTHESIS;\r
30 \r
31 descendant_schema_nodeid :  node_identifier\r
32                             absolute_schema_nodeid;\r
33 \r
34 absolute_schema_nodeid : (SLASH node_identifier)+;\r
35 \r
36 prefix : identifier;\r
37 \r
38 identifier: IDENTIFIER | CURRENT_KEYWORD;\r
39 \r