1 grammar instanceIdentifier;
4 * YANG 1.1 instance-identifier grammar, as defined in
5 * https://tools.ietf.org/html/rfc7950#section-9.13
7 * Copyright (c) 2018 Pantheon Technologies, s.r.o. and others. All rights reserved.
9 * This program and the accompanying materials are made available under the
10 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
11 * and is available at http://www.eclipse.org/legal/epl-v10.html
13 instanceIdentifier : ('/' pathArgument)+
16 pathArgument : nodeIdentifier predicate?
19 nodeIdentifier : Identifier ':' Identifier
22 predicate : keyPredicate+
27 keyPredicate : '[' WSP? keyPredicateExpr WSP? ']'
30 keyPredicateExpr : nodeIdentifier eqQuotedString
33 leafListPredicate : '[' WSP? leafListPredicateExpr WSP? ']'
36 leafListPredicateExpr : '.' eqQuotedString
39 // Common tail of leafListPredicateExpr and keyPredicateExpr
40 eqQuotedString : WSP? '=' WSP? quotedString
43 pos : '[' WSP? PositiveIntegerValue WSP? ']'
46 quotedString : '\'' STRING '\''
50 Identifier : [a-zA-Z][a-zA-Z0-9_\-.]*
53 PositiveIntegerValue : [1-9][0-9]*
68 | '\u{10000}'..'\u{1FFFD}'
69 | '\u{20000}'..'\u{2FFFD}'
70 | '\u{30000}'..'\u{3FFFD}'
71 | '\u{40000}'..'\u{4FFFD}'
72 | '\u{50000}'..'\u{5FFFD}'
73 | '\u{60000}'..'\u{6FFFD}'
74 | '\u{70000}'..'\u{7FFFD}'
75 | '\u{80000}'..'\u{8FFFD}'
76 | '\u{90000}'..'\u{9FFFD}'
77 | '\u{A0000}'..'\u{AFFFD}'
78 | '\u{B0000}'..'\u{BFFFD}'
79 | '\u{C0000}'..'\u{CFFFD}'
80 | '\u{D0000}'..'\u{DFFFD}'
81 | '\u{E0000}'..'\u{EFFFD}'
82 | '\u{F0000}'..'\u{FFFFD}'
83 | '\u{100000}'..'\u{10FFFD}'