[ONOS-4762][ONOS-4601]Grammar for meta data +  Union defect fix

Change-Id: I8f78127e5b292cca6a79b32d496c2602c9105acd
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangListener.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangListener.java
index c4c52f0..31bbba5 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangListener.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangListener.java
@@ -27,904 +27,791 @@
 public interface GeneratedYangListener extends ParseTreeListener {
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * yangfile.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule yangfile.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterYangfile(GeneratedYangParser.YangfileContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * yangfile.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule yangfile.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitYangfile(GeneratedYangParser.YangfileContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * moduleStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule moduleStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterModuleStatement(GeneratedYangParser.ModuleStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * moduleStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule moduleStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitModuleStatement(GeneratedYangParser.ModuleStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * moduleBody.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule moduleBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterModuleBody(GeneratedYangParser.ModuleBodyContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * moduleBody.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule moduleBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitModuleBody(GeneratedYangParser.ModuleBodyContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * moduleHeaderStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule moduleHeaderStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterModuleHeaderStatement(GeneratedYangParser.ModuleHeaderStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * moduleHeaderStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule moduleHeaderStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitModuleHeaderStatement(GeneratedYangParser.ModuleHeaderStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * linkageStatements.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule linkageStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterLinkageStatements(GeneratedYangParser.LinkageStatementsContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * linkageStatements.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule linkageStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitLinkageStatements(GeneratedYangParser.LinkageStatementsContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * metaStatements.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule metaStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterMetaStatements(GeneratedYangParser.MetaStatementsContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * metaStatements.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule metaStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitMetaStatements(GeneratedYangParser.MetaStatementsContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * revisionStatements.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule revisionStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterRevisionStatements(GeneratedYangParser.RevisionStatementsContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * revisionStatements.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule revisionStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitRevisionStatements(GeneratedYangParser.RevisionStatementsContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * bodyStatements.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule bodyStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterBodyStatements(GeneratedYangParser.BodyStatementsContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * bodyStatements.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule bodyStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitBodyStatements(GeneratedYangParser.BodyStatementsContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * yangVersionStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule yangVersionStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterYangVersionStatement(GeneratedYangParser.YangVersionStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * yangVersionStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule yangVersionStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitYangVersionStatement(GeneratedYangParser.YangVersionStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * namespaceStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule namespaceStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterNamespaceStatement(GeneratedYangParser.NamespaceStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * namespaceStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule namespaceStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitNamespaceStatement(GeneratedYangParser.NamespaceStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * prefixStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule prefixStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterPrefixStatement(GeneratedYangParser.PrefixStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * prefixStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule prefixStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitPrefixStatement(GeneratedYangParser.PrefixStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * importStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule importStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterImportStatement(GeneratedYangParser.ImportStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * importStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule importStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitImportStatement(GeneratedYangParser.ImportStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * importStatementBody.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule importStatementBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterImportStatementBody(GeneratedYangParser.ImportStatementBodyContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * importStatementBody.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule importStatementBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitImportStatementBody(GeneratedYangParser.ImportStatementBodyContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * revisionDateStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule revisionDateStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterRevisionDateStatement(GeneratedYangParser.RevisionDateStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * revisionDateStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule revisionDateStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitRevisionDateStatement(GeneratedYangParser.RevisionDateStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * includeStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule includeStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterIncludeStatement(GeneratedYangParser.IncludeStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * includeStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule includeStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitIncludeStatement(GeneratedYangParser.IncludeStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * organizationStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule organizationStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterOrganizationStatement(GeneratedYangParser.OrganizationStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * organizationStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule organizationStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitOrganizationStatement(GeneratedYangParser.OrganizationStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * contactStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule contactStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterContactStatement(GeneratedYangParser.ContactStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * contactStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule contactStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitContactStatement(GeneratedYangParser.ContactStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * descriptionStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule descriptionStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterDescriptionStatement(GeneratedYangParser.DescriptionStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * descriptionStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule descriptionStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitDescriptionStatement(GeneratedYangParser.DescriptionStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * referenceStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule referenceStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterReferenceStatement(GeneratedYangParser.ReferenceStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * referenceStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule referenceStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitReferenceStatement(GeneratedYangParser.ReferenceStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * revisionStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule revisionStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterRevisionStatement(GeneratedYangParser.RevisionStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * revisionStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule revisionStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitRevisionStatement(GeneratedYangParser.RevisionStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * revisionStatementBody.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule revisionStatementBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterRevisionStatementBody(GeneratedYangParser.RevisionStatementBodyContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * revisionStatementBody.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule revisionStatementBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitRevisionStatementBody(GeneratedYangParser.RevisionStatementBodyContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * subModuleStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule subModuleStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterSubModuleStatement(GeneratedYangParser.SubModuleStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * subModuleStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule subModuleStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitSubModuleStatement(GeneratedYangParser.SubModuleStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * submoduleBody.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule submoduleBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterSubmoduleBody(GeneratedYangParser.SubmoduleBodyContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * submoduleBody.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule submoduleBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitSubmoduleBody(GeneratedYangParser.SubmoduleBodyContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * submoduleHeaderStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule submoduleHeaderStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterSubmoduleHeaderStatement(GeneratedYangParser.SubmoduleHeaderStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * submoduleHeaderStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule submoduleHeaderStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitSubmoduleHeaderStatement(GeneratedYangParser.SubmoduleHeaderStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * belongstoStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule belongstoStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterBelongstoStatement(GeneratedYangParser.BelongstoStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * belongstoStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule belongstoStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitBelongstoStatement(GeneratedYangParser.BelongstoStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * belongstoStatementBody.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule belongstoStatementBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterBelongstoStatementBody(GeneratedYangParser.BelongstoStatementBodyContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * belongstoStatementBody.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule belongstoStatementBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitBelongstoStatementBody(GeneratedYangParser.BelongstoStatementBodyContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * extensionStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule extensionStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterExtensionStatement(GeneratedYangParser.ExtensionStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * extensionStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule extensionStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitExtensionStatement(GeneratedYangParser.ExtensionStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * extensionBody.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule extensionBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterExtensionBody(GeneratedYangParser.ExtensionBodyContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * extensionBody.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule extensionBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitExtensionBody(GeneratedYangParser.ExtensionBodyContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * argumentStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule argumentStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterArgumentStatement(GeneratedYangParser.ArgumentStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * argumentStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule argumentStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitArgumentStatement(GeneratedYangParser.ArgumentStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * argumentBody.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule argumentBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterArgumentBody(GeneratedYangParser.ArgumentBodyContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * argumentBody.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule argumentBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitArgumentBody(GeneratedYangParser.ArgumentBodyContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * yinElementStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule yinElementStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterYinElementStatement(GeneratedYangParser.YinElementStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * yinElementStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule yinElementStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitYinElementStatement(GeneratedYangParser.YinElementStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * identityStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule identityStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterIdentityStatement(GeneratedYangParser.IdentityStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * identityStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule identityStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitIdentityStatement(GeneratedYangParser.IdentityStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * identityBody.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule identityBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterIdentityBody(GeneratedYangParser.IdentityBodyContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * identityBody.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule identityBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitIdentityBody(GeneratedYangParser.IdentityBodyContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * baseStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule baseStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterBaseStatement(GeneratedYangParser.BaseStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * baseStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule baseStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitBaseStatement(GeneratedYangParser.BaseStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * featureStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule featureStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterFeatureStatement(GeneratedYangParser.FeatureStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * featureStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule featureStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitFeatureStatement(GeneratedYangParser.FeatureStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * featureBody.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule featureBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterFeatureBody(GeneratedYangParser.FeatureBodyContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * featureBody.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule featureBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitFeatureBody(GeneratedYangParser.FeatureBodyContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * dataDefStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule dataDefStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterDataDefStatement(GeneratedYangParser.DataDefStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * dataDefStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule dataDefStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitDataDefStatement(GeneratedYangParser.DataDefStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * ifFeatureStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule ifFeatureStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterIfFeatureStatement(GeneratedYangParser.IfFeatureStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * ifFeatureStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule ifFeatureStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitIfFeatureStatement(GeneratedYangParser.IfFeatureStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * unitsStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule unitsStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterUnitsStatement(GeneratedYangParser.UnitsStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * unitsStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule unitsStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitUnitsStatement(GeneratedYangParser.UnitsStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * typedefStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule typedefStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterTypedefStatement(GeneratedYangParser.TypedefStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * typedefStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule typedefStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitTypedefStatement(GeneratedYangParser.TypedefStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * typeStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule typeStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterTypeStatement(GeneratedYangParser.TypeStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * typeStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule typeStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitTypeStatement(GeneratedYangParser.TypeStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * typeBodyStatements.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule typeBodyStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterTypeBodyStatements(GeneratedYangParser.TypeBodyStatementsContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * typeBodyStatements.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule typeBodyStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitTypeBodyStatements(GeneratedYangParser.TypeBodyStatementsContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * numericalRestrictions.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule numericalRestrictions.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterDecimal64Specification(GeneratedYangParser.Decimal64SpecificationContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * numericalRestrictions.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule numericalRestrictions.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitDecimal64Specification(GeneratedYangParser.Decimal64SpecificationContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * numericalRestrictions.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule numericalRestrictions.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterNumericalRestrictions(GeneratedYangParser.NumericalRestrictionsContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * numericalRestrictions.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule numericalRestrictions.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitNumericalRestrictions(GeneratedYangParser.NumericalRestrictionsContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * rangeStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule rangeStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterRangeStatement(GeneratedYangParser.RangeStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * rangeStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule rangeStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitRangeStatement(GeneratedYangParser.RangeStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * commonStatements.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule commonStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterCommonStatements(GeneratedYangParser.CommonStatementsContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * commonStatements.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule commonStatements.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitCommonStatements(GeneratedYangParser.CommonStatementsContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * stringRestrictions.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule stringRestrictions.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterStringRestrictions(GeneratedYangParser.StringRestrictionsContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * stringRestrictions.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule stringRestrictions.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitStringRestrictions(GeneratedYangParser.StringRestrictionsContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * lengthStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule lengthStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterLengthStatement(GeneratedYangParser.LengthStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * lengthStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule lengthStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitLengthStatement(GeneratedYangParser.LengthStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * patternStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule patternStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterPatternStatement(GeneratedYangParser.PatternStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * patternStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule patternStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitPatternStatement(GeneratedYangParser.PatternStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * defaultStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule defaultStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterDefaultStatement(GeneratedYangParser.DefaultStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * defaultStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule defaultStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitDefaultStatement(GeneratedYangParser.DefaultStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * enumSpecification.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule enumSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterEnumSpecification(GeneratedYangParser.EnumSpecificationContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * enumSpecification.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule enumSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitEnumSpecification(GeneratedYangParser.EnumSpecificationContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * enumStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule enumStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterEnumStatement(GeneratedYangParser.EnumStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * enumStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule enumStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitEnumStatement(GeneratedYangParser.EnumStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * enumStatementBody.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule enumStatementBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterEnumStatementBody(GeneratedYangParser.EnumStatementBodyContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * enumStatementBody.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule enumStatementBody.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitEnumStatementBody(GeneratedYangParser.EnumStatementBodyContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * leafrefSpecification.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule leafrefSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterLeafrefSpecification(GeneratedYangParser.LeafrefSpecificationContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * leafrefSpecification.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule leafrefSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitLeafrefSpecification(GeneratedYangParser.LeafrefSpecificationContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * pathStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule pathStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterPathStatement(GeneratedYangParser.PathStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * pathStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule pathStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitPathStatement(GeneratedYangParser.PathStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * requireInstanceStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule requireInstanceStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterRequireInstanceStatement(GeneratedYangParser.RequireInstanceStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * requireInstanceStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule requireInstanceStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitRequireInstanceStatement(GeneratedYangParser.RequireInstanceStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * instanceIdentifierSpecification.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule instanceIdentifierSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
@@ -932,384 +819,336 @@
             GeneratedYangParser.InstanceIdentifierSpecificationContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * instanceIdentifierSpecification.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule instanceIdentifierSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitInstanceIdentifierSpecification(GeneratedYangParser.InstanceIdentifierSpecificationContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * identityrefSpecification.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule identityrefSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterIdentityrefSpecification(GeneratedYangParser.IdentityrefSpecificationContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * identityrefSpecification.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule identityrefSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitIdentityrefSpecification(GeneratedYangParser.IdentityrefSpecificationContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * unionSpecification.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule unionSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterUnionSpecification(GeneratedYangParser.UnionSpecificationContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * unionSpecification.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule unionSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitUnionSpecification(GeneratedYangParser.UnionSpecificationContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * bitsSpecification.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule bitsSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterBitsSpecification(GeneratedYangParser.BitsSpecificationContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * bitsSpecification.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule bitsSpecification.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitBitsSpecification(GeneratedYangParser.BitsSpecificationContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * bitStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule bitStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterBitStatement(GeneratedYangParser.BitStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * bitStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule bitStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitBitStatement(GeneratedYangParser.BitStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * bitBodyStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule bitBodyStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterBitBodyStatement(GeneratedYangParser.BitBodyStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * bitBodyStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule bitBodyStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitBitBodyStatement(GeneratedYangParser.BitBodyStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * positionStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule positionStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterPositionStatement(GeneratedYangParser.PositionStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * positionStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule positionStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitPositionStatement(GeneratedYangParser.PositionStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * statusStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule statusStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterStatusStatement(GeneratedYangParser.StatusStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * statusStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule statusStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitStatusStatement(GeneratedYangParser.StatusStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * configStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule configStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterConfigStatement(GeneratedYangParser.ConfigStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * configStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule configStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitConfigStatement(GeneratedYangParser.ConfigStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * mandatoryStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule mandatoryStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterMandatoryStatement(GeneratedYangParser.MandatoryStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * mandatoryStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule mandatoryStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitMandatoryStatement(GeneratedYangParser.MandatoryStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * presenceStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule presenceStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterPresenceStatement(GeneratedYangParser.PresenceStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * presenceStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule presenceStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitPresenceStatement(GeneratedYangParser.PresenceStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * orderedByStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule orderedByStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterOrderedByStatement(GeneratedYangParser.OrderedByStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * orderedByStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule orderedByStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitOrderedByStatement(GeneratedYangParser.OrderedByStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * mustStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule mustStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterMustStatement(GeneratedYangParser.MustStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * mustStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule mustStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitMustStatement(GeneratedYangParser.MustStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * errorMessageStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule errorMessageStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterErrorMessageStatement(GeneratedYangParser.ErrorMessageStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * errorMessageStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule errorMessageStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitErrorMessageStatement(GeneratedYangParser.ErrorMessageStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * errorAppTagStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule errorAppTagStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterErrorAppTagStatement(GeneratedYangParser.ErrorAppTagStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * errorAppTagStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule errorAppTagStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitErrorAppTagStatement(GeneratedYangParser.ErrorAppTagStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * minElementsStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule minElementsStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterMinElementsStatement(GeneratedYangParser.MinElementsStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * minElementsStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule minElementsStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitMinElementsStatement(GeneratedYangParser.MinElementsStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * maxElementsStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule maxElementsStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterMaxElementsStatement(GeneratedYangParser.MaxElementsStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * maxElementsStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule maxElementsStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitMaxElementsStatement(GeneratedYangParser.MaxElementsStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * valueStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule valueStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterValueStatement(GeneratedYangParser.ValueStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * valueStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule valueStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitValueStatement(GeneratedYangParser.ValueStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * groupingStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule groupingStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterGroupingStatement(GeneratedYangParser.GroupingStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * groupingStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule groupingStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitGroupingStatement(GeneratedYangParser.GroupingStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * containerStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule containerStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterContainerStatement(GeneratedYangParser.ContainerStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * containerStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule containerStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitContainerStatement(GeneratedYangParser.ContainerStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * leafStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule leafStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterLeafStatement(GeneratedYangParser.LeafStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * leafStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule leafStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitLeafStatement(GeneratedYangParser.LeafStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * leafListStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule leafListStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterLeafListStatement(GeneratedYangParser.LeafListStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * leafListStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule leafListStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitLeafListStatement(GeneratedYangParser.LeafListStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * listStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule listStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterListStatement(GeneratedYangParser.ListStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * listStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule listStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitListStatement(GeneratedYangParser.ListStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * keyStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule keyStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void enterKeyStatement(GeneratedYangParser.KeyStatementContext currentContext);
 
     /**
-     * Exits a parse tree produced by GeneratedYangParser for grammar rule
-     * keyStatement.
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule keyStatement.
      *
      * @param currentContext current context in the parsed tree
      */
     void exitKeyStatement(GeneratedYangParser.KeyStatementContext currentContext);
 
     /**
-     * Enters a parse tree produced by GeneratedYangParser for grammar rule
-     * uniqueStatement.
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule uniqueStatement.
      *
      * @param currentContext current context in the parsed tree
      */
@@ -1965,4 +1804,150 @@
      * @param currentContext current context in the parsed tree
      */
     void exitYangConstruct(GeneratedYangParser.YangConstructContext currentContext);
+
+    /**
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule compiler annotation statement.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void enterCompilerAnnotationStatement(GeneratedYangParser.CompilerAnnotationStatementContext currentContext);
+
+    /**
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule compiler annotation statement.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void exitCompilerAnnotationStatement(GeneratedYangParser.CompilerAnnotationStatementContext currentContext);
+
+    /**
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule annotation statement.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void enterAnnotationStatement(GeneratedYangParser.AnnotationStatementContext currentContext);
+
+    /**
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule annotation statement.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void exitAnnotationStatement(GeneratedYangParser.AnnotationStatementContext currentContext);
+
+    /**
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule annotation type.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void enterAnnotationType(GeneratedYangParser.AnnotationTypeContext currentContext);
+
+    /**
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule annotation type.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void exitAnnotationType(GeneratedYangParser.AnnotationTypeContext currentContext);
+
+    /**
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule
+     * annotation parameter specification.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void enterAnnotationParameterSpecification(GeneratedYangParser.AnnotationParameterSpecificationContext
+                                                       currentContext);
+
+    /**
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule
+     * annotation parameter specification.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void exitAnnotationParameterSpecification(GeneratedYangParser.AnnotationParameterSpecificationContext
+                                                      currentContext);
+
+    /**
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule
+     * annotation parameter specification argument.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void enterAnnotationParameterSpecificationArg(GeneratedYangParser.AnnotationParameterSpecificationArgContext
+                                                          currentContext);
+
+    /**
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule
+     * annotation parameter specification argument.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void exitAnnotationParameterSpecificationArg(GeneratedYangParser.AnnotationParameterSpecificationArgContext
+                                                         currentContext);
+
+    /**
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule annotation parameter instance.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void enterAnnotationParaInstance(GeneratedYangParser.AnnotationParaInstanceContext
+                                             currentContext);
+
+    /**
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule annotation parameter instance.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void exitAnnotationParaInstance(GeneratedYangParser.AnnotationParaInstanceContext
+                                            currentContext);
+
+    /**
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule
+     * annotation parameter type identifier.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void enterAnnotationParaTypeIdentifier(GeneratedYangParser.AnnotationParaTypeIdentifierContext
+                                                   currentContext);
+
+    /**
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule
+     * annotation parameter type identifier.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void exitAnnotationParaTypeIdentifier(GeneratedYangParser.AnnotationParaTypeIdentifierContext
+                                                  currentContext);
+
+    /**
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule
+     * annotation parameter type value.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void enterAnnotationParaTypeValue(GeneratedYangParser.AnnotationParaTypeValueContext
+                                              currentContext);
+
+    /**
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule
+     * annotation parameter type value.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void exitAnnotationParaTypeValue(GeneratedYangParser.AnnotationParaTypeValueContext
+                                             currentContext);
+
+    /**
+     * Enters a parse tree produced by GeneratedYangParser for grammar rule annotation identifier.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void enterAnnotationIdentifier(GeneratedYangParser.AnnotationIdentifierContext
+                                           currentContext);
+
+    /**
+     * Exits a parse tree produced by GeneratedYangParser for grammar rule annotation identifier.
+     *
+     * @param currentContext current context in the parsed tree
+     */
+    void exitAnnotationIdentifier(GeneratedYangParser.AnnotationIdentifierContext
+                                          currentContext);
 }
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
index 8f08842..67c2e36 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
@@ -1376,6 +1376,99 @@
     }
 
     @Override
+    public void enterCompilerAnnotationStatement(GeneratedYangParser.CompilerAnnotationStatementContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void exitCompilerAnnotationStatement(GeneratedYangParser.CompilerAnnotationStatementContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void enterAnnotationStatement(GeneratedYangParser.AnnotationStatementContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void exitAnnotationStatement(GeneratedYangParser.AnnotationStatementContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void enterAnnotationType(GeneratedYangParser.AnnotationTypeContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void exitAnnotationType(GeneratedYangParser.AnnotationTypeContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void enterAnnotationParameterSpecification(GeneratedYangParser.AnnotationParameterSpecificationContext
+                                                              ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void exitAnnotationParameterSpecification(GeneratedYangParser.AnnotationParameterSpecificationContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void enterAnnotationParameterSpecificationArg(GeneratedYangParser.AnnotationParameterSpecificationArgContext
+                                                                 ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void exitAnnotationParameterSpecificationArg(GeneratedYangParser.AnnotationParameterSpecificationArgContext
+                                                                ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void enterAnnotationParaInstance(GeneratedYangParser.AnnotationParaInstanceContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void exitAnnotationParaInstance(GeneratedYangParser.AnnotationParaInstanceContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void enterAnnotationParaTypeIdentifier(GeneratedYangParser.AnnotationParaTypeIdentifierContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void exitAnnotationParaTypeIdentifier(GeneratedYangParser.AnnotationParaTypeIdentifierContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void enterAnnotationParaTypeValue(GeneratedYangParser.AnnotationParaTypeValueContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void exitAnnotationParaTypeValue(GeneratedYangParser.AnnotationParaTypeValueContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void enterAnnotationIdentifier(GeneratedYangParser.AnnotationIdentifierContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
+    public void exitAnnotationIdentifier(GeneratedYangParser.AnnotationIdentifierContext ctx) {
+        // TODO: implement the method.
+    }
+
+    @Override
     public void enterVersion(GeneratedYangParser.VersionContext ctx) {
         // do nothing.
     }
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java
index 9fab09c..4043a8e 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java
@@ -16,7 +16,6 @@
 
 package org.onosproject.yangutils.parser.impl.listeners;
 
-import org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes;
 import org.onosproject.yangutils.datamodel.YangDerivedInfo;
 import org.onosproject.yangutils.datamodel.YangLeaf;
 import org.onosproject.yangutils.datamodel.YangLeafList;
@@ -27,6 +26,7 @@
 import org.onosproject.yangutils.datamodel.YangUnion;
 import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
 import org.onosproject.yangutils.datamodel.utils.Parsable;
+import org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes;
 import org.onosproject.yangutils.linker.impl.YangResolutionInfoImpl;
 import org.onosproject.yangutils.parser.antlrgencode.GeneratedYangParser;
 import org.onosproject.yangutils.parser.exceptions.ParserException;
@@ -94,6 +94,8 @@
         // Obtain the YANG data type.
         YangDataTypes yangDataTypes = YangDataTypes.getType(ctx.string().getText());
 
+        validateTypeSubStatementCardinality(ctx, yangDataTypes);
+
         // Create YANG type object and fill the values.
         YangType<?> type = getYangType(JAVA_GENERATION);
         type.setNodeIdentifier(nodeIdentifier);
@@ -265,4 +267,37 @@
                     TYPE_DATA, ctx.string().getText(), ENTRY, e.getMessage()));
         }
     }
+
+    /**
+     * Validates type body statements cardinality.
+     *
+     * @param ctx          context object of the grammar rule
+     * @param yangDataType yang data type
+     */
+    private static void validateTypeSubStatementCardinality(GeneratedYangParser.TypeStatementContext ctx,
+                                                            YangDataTypes yangDataType) {
+        if (ctx.typeBodyStatements() == null || ctx.typeBodyStatements().isEmpty()) {
+            ParserException parserException;
+            switch (yangDataType) {
+                case UNION:
+                    parserException = new ParserException("YANG file error : a type union" +
+                            " must have atleast one type statement.");
+                    break;
+                case ENUMERATION:
+                    parserException = new ParserException("YANG file error : a type enumeration" +
+                            " must have atleast one enum statement.");
+                    break;
+                case BITS:
+                    parserException = new ParserException("YANG file error : a type bits" +
+                            " must have atleast one bit statement.");
+                    break;
+                // TODO : decimal64, identity ref, leafref
+                default:
+                    return;
+            }
+            parserException.setLine(ctx.getStart().getLine());
+            parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
+            throw parserException;
+        }
+    }
 }