YANG sub module linking + unsupported yang construct + defect fix
Change-Id: I224c8c14ee2111f6844278cb540c48651544f59b
diff --git a/src/main/resources/GeneratedYang.g4 b/src/main/resources/GeneratedYang.g4
index 11e7833..c44a555 100644
--- a/src/main/resources/GeneratedYang.g4
+++ b/src/main/resources/GeneratedYang.g4
@@ -380,6 +380,7 @@
| leafListStatement
| listStatement
| choiceStatement
+ | anyxmlStatement
| usesStatement;
/**
@@ -429,13 +430,26 @@
* instance-identifier-specification /
* bits-specification /
* union-specification
- * TODO : decimal64-specification to be added
+ *
*/
- typeBodyStatements : numericalRestrictions | stringRestrictions | enumSpecification
+ typeBodyStatements : numericalRestrictions | decimal64Specification | stringRestrictions | enumSpecification
| leafrefSpecification | identityrefSpecification | instanceIdentifierSpecification
| bitsSpecification | unionSpecification;
/**
+ * fraction-digits-stmt = fraction-digits-keyword sep
+ * fraction-digits-arg-str stmtend
+ *
+ * fraction-digits-arg-str = < a string that matches the rule
+ * fraction-digits-arg >
+ *
+ * fraction-digits-arg = ("1" ["0" / "1" / "2" / "3" / "4" /
+ * "5" / "6" / "7" / "8"])
+ * / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9"
+ */
+ decimal64Specification : FRACTION_DIGITS_KEYWORD fraction STMTEND;
+
+ /**
* numerical-restrictions = range-stmt stmtsep
*/
numericalRestrictions : rangeStatement;
@@ -746,7 +760,7 @@
/**
* value-stmt = value-keyword sep integer-value stmtend
*/
- valueStatement : VALUE_KEYWORD ((MINUS INTEGER) | INTEGER) STMTEND;
+ valueStatement : VALUE_KEYWORD value STMTEND;
/**
* grouping-stmt = grouping-keyword sep identifier-arg-str optsep
@@ -899,7 +913,7 @@
* list-stmt /
* anyxml-stmt
*/
- shortCaseStatement : containerStatement | leafStatement | leafListStatement | listStatement;
+ shortCaseStatement : containerStatement | leafStatement | leafListStatement | listStatement | anyxmlStatement;
/**
* case-stmt = case-keyword sep identifier-arg-str optsep
@@ -919,6 +933,25 @@
| descriptionStatement | referenceStatement | dataDefStatement)* RIGHT_CURLY_BRACE);
/**
+ * anyxml-stmt = anyxml-keyword sep identifier-arg-str optsep
+ * (";" /
+ * "{" stmtsep
+ * ;; these stmts can appear in any order
+ * [when-stmt stmtsep]
+ * *(if-feature-stmt stmtsep)
+ * *(must-stmt stmtsep)
+ * [config-stmt stmtsep]
+ * [mandatory-stmt stmtsep]
+ * [status-stmt stmtsep]
+ * [description-stmt stmtsep]
+ * [reference-stmt stmtsep]
+ * "}")
+ */
+ anyxmlStatement : ANYXML_KEYWORD identifier (STMTEND | LEFT_CURLY_BRACE (whenStatement | ifFeatureStatement
+ | mustStatement | configStatement | mandatoryStatement | statusStatement | descriptionStatement
+ | referenceStatement)* RIGHT_CURLY_BRACE);
+
+ /**
* uses-stmt = uses-keyword sep identifier-ref-arg-str optsep
* (";" /
* "{" stmtsep
@@ -934,7 +967,7 @@
* TODO : 0..1 occurance to be checked in listener
*/
usesStatement : USES_KEYWORD string (STMTEND | LEFT_CURLY_BRACE (whenStatement | ifFeatureStatement | statusStatement
- | descriptionStatement | referenceStatement | refineStatement | usesAugmentStatement)* RIGHT_CURLY_BRACE);
+ | descriptionStatement | referenceStatement | refineStatement | augmentStatement)* RIGHT_CURLY_BRACE);
/**
* refine-stmt = refine-keyword sep refine-arg-str optsep
@@ -951,7 +984,7 @@
*/
refineStatement : REFINE_KEYWORD refine (STMTEND | LEFT_CURLY_BRACE (refineContainerStatements
| refineLeafStatements | refineLeafListStatements | refineListStatements | refineChoiceStatements
- | refineCaseStatements) RIGHT_CURLY_BRACE);
+ | refineCaseStatements | refineAnyxmlStatements) RIGHT_CURLY_BRACE);
/**
* refine-container-stmts =
@@ -1024,22 +1057,15 @@
refineCaseStatements : (descriptionStatement | referenceStatement)? | (referenceStatement | descriptionStatement)?;
/**
- * uses-augment-stmt = augment-keyword sep uses-augment-arg-str optsep
- * "{" stmtsep
- * ;; these stmts can appear in any order
- * [when-stmt stmtsep]
- * *(if-feature-stmt stmtsep)
- * [status-stmt stmtsep]
- * [description-stmt stmtsep]
- * [reference-stmt stmtsep]
- * 1*((data-def-stmt stmtsep) /
- * (case-stmt stmtsep))
- * "}"
- * TODO : 0..1 occurance to be checked in listener
+ * refine-anyxml-stmts = ;; these stmts can appear in any order
+ * *(must-stmt stmtsep)
+ * [config-stmt stmtsep]
+ * [mandatory-stmt stmtsep]
+ * [description-stmt stmtsep]
+ * [reference-stmt stmtsep]
*/
- usesAugmentStatement : AUGMENT_KEYWORD augment LEFT_CURLY_BRACE (whenStatement | ifFeatureStatement
- | statusStatement | descriptionStatement | referenceStatement | dataDefStatement
- | caseStatement)* RIGHT_CURLY_BRACE;
+ refineAnyxmlStatements : (mustStatement | configStatement | mandatoryStatement | descriptionStatement
+ | referenceStatement)*;
/**
* augment-stmt = augment-keyword sep augment-arg-str optsep
@@ -1251,6 +1277,10 @@
deviation : string;
+ value : string;
+
+ fraction : string;
+
yangConstruct : ANYXML_KEYWORD | ARGUMENT_KEYWORD | AUGMENT_KEYWORD | BASE_KEYWORD | BELONGS_TO_KEYWORD
| BIT_KEYWORD | CASE_KEYWORD | CHOICE_KEYWORD | CONFIG_KEYWORD | CONTACT_KEYWORD | CONTAINER_KEYWORD
| DEFAULT_KEYWORD | DESCRIPTION_KEYWORD | ENUM_KEYWORD ERROR_APP_TAG_KEYWORD | ERROR_MESSAGE_KEYWORD