[ONOS-4941][ONOS-4883][ONOS-4979]Grouping and uses interfile linking issue + defect fix
Change-Id: I5e8145f05d3ef570d4ecbbe885c93de172de0ea3
diff --git a/utils/yangutils/plugin/src/main/resources/GeneratedYang.g4 b/utils/yangutils/plugin/src/main/resources/GeneratedYang.g4
index eb23364..0362cb0 100644
--- a/utils/yangutils/plugin/src/main/resources/GeneratedYang.g4
+++ b/utils/yangutils/plugin/src/main/resources/GeneratedYang.g4
@@ -124,7 +124,8 @@
| augmentStatement
| rpcStatement
| notificationStatement
- | deviationStatement)*
+ | deviationStatement
+ | compilerAnnotationStatement)*
;
/**
@@ -237,13 +238,34 @@
* [status-stmt stmtsep]
* [description-stmt stmtsep]
* [reference-stmt stmtsep]
- * [compiler-annotation-stmt stmtsep]
* "}")
- * TODO : 0..1 occurance to be checked in listener
*/
extensionStatement : EXTENSION_KEYWORD identifier (STMTEND | LEFT_CURLY_BRACE extensionBody RIGHT_CURLY_BRACE);
- extensionBody : (argumentStatement | statusStatement | descriptionStatement
- | referenceStatement | compilerAnnotationStatement)* ;
+ extensionBody : argumentStatement? statusStatement? descriptionStatement? referenceStatement?
+ | argumentStatement? statusStatement? referenceStatement? descriptionStatement?
+ | argumentStatement? descriptionStatement? statusStatement? referenceStatement?
+ | argumentStatement? descriptionStatement? referenceStatement? statusStatement?
+ | argumentStatement? referenceStatement? descriptionStatement? statusStatement?
+ | argumentStatement? referenceStatement? statusStatement? descriptionStatement?
+ | statusStatement? referenceStatement? argumentStatement? descriptionStatement?
+ | statusStatement? referenceStatement? descriptionStatement? argumentStatement?
+ | statusStatement? descriptionStatement? referenceStatement? argumentStatement?
+ | statusStatement? descriptionStatement? argumentStatement? referenceStatement?
+ | statusStatement? argumentStatement? referenceStatement? descriptionStatement?
+ | statusStatement? argumentStatement? descriptionStatement? referenceStatement?
+ | descriptionStatement? argumentStatement? statusStatement? referenceStatement?
+ | descriptionStatement? argumentStatement? referenceStatement? statusStatement?
+ | descriptionStatement? statusStatement? argumentStatement? referenceStatement?
+ | descriptionStatement? statusStatement? referenceStatement? argumentStatement?
+ | descriptionStatement? referenceStatement? statusStatement? argumentStatement?
+ | descriptionStatement? referenceStatement? argumentStatement? statusStatement?
+ | referenceStatement? descriptionStatement? argumentStatement? statusStatement?
+ | referenceStatement? descriptionStatement? statusStatement? argumentStatement?
+ | referenceStatement? statusStatement? argumentStatement? descriptionStatement?
+ | referenceStatement? statusStatement? descriptionStatement? argumentStatement?
+ | referenceStatement? argumentStatement? descriptionStatement? statusStatement?
+ | referenceStatement? argumentStatement? statusStatement? descriptionStatement?
+ ;
/**
* argument-stmt = argument-keyword sep identifier-arg-str optsep
@@ -270,13 +292,35 @@
* [status-stmt stmtsep]
* [description-stmt stmtsep]
* [reference-stmt stmtsep]
- * [compiler-annotation-stmt stmtsep]
* "}")
- * TODO : 0..1 occurance to be checked in listener
*/
identityStatement : IDENTITY_KEYWORD identifier (STMTEND | LEFT_CURLY_BRACE identityBody RIGHT_CURLY_BRACE);
- identityBody : (baseStatement | statusStatement | descriptionStatement | referenceStatement
- | compilerAnnotationStatement)*;
+ identityBody : baseStatement? statusStatement? descriptionStatement? referenceStatement?
+ | baseStatement? statusStatement? referenceStatement? descriptionStatement?
+ | baseStatement? descriptionStatement? statusStatement? referenceStatement?
+ | baseStatement? descriptionStatement? referenceStatement? statusStatement?
+ | baseStatement? referenceStatement? descriptionStatement? statusStatement?
+ | baseStatement? referenceStatement? statusStatement? descriptionStatement?
+ | referenceStatement? baseStatement? statusStatement? descriptionStatement?
+ | referenceStatement? baseStatement? descriptionStatement? statusStatement?
+ | referenceStatement? statusStatement? baseStatement? descriptionStatement?
+ | referenceStatement? statusStatement? descriptionStatement? baseStatement?
+ | referenceStatement? descriptionStatement? statusStatement? baseStatement?
+ | referenceStatement? descriptionStatement? baseStatement? statusStatement?
+ | descriptionStatement? referenceStatement? statusStatement? baseStatement?
+ | descriptionStatement? referenceStatement? statusStatement? baseStatement?
+ | descriptionStatement? referenceStatement? baseStatement? statusStatement?
+ | descriptionStatement? statusStatement? baseStatement? referenceStatement?
+ | descriptionStatement? statusStatement? referenceStatement? baseStatement?
+ | descriptionStatement? baseStatement? referenceStatement? statusStatement?
+ | descriptionStatement? baseStatement? statusStatement? referenceStatement?
+ | statusStatement? baseStatement? descriptionStatement? referenceStatement?
+ | statusStatement? baseStatement? referenceStatement? descriptionStatement?
+ | statusStatement? descriptionStatement? baseStatement? referenceStatement?
+ | statusStatement? descriptionStatement? referenceStatement? baseStatement?
+ | statusStatement? referenceStatement? descriptionStatement? baseStatement?
+ | statusStatement? referenceStatement? baseStatement? descriptionStatement?
+ ;
/**
* base-stmt = base-keyword sep identifier-ref-arg-str
@@ -294,13 +338,34 @@
* [status-stmt stmtsep]
* [description-stmt stmtsep]
* [reference-stmt stmtsep]
- * [compiler-annotation-stmt stmtsep]
* "}")
- * TODO : 0..1 occurance to be checked in listener
*/
featureStatement : FEATURE_KEYWORD string (STMTEND | LEFT_CURLY_BRACE featureBody RIGHT_CURLY_BRACE);
- featureBody : (ifFeatureStatement | statusStatement | descriptionStatement
- | referenceStatement | compilerAnnotationStatement)* ;
+ featureBody : ifFeatureStatement* statusStatement? descriptionStatement? referenceStatement?
+ | ifFeatureStatement* statusStatement? referenceStatement? descriptionStatement?
+ | ifFeatureStatement* descriptionStatement? statusStatement? referenceStatement?
+ | ifFeatureStatement* descriptionStatement? referenceStatement? statusStatement?
+ | ifFeatureStatement* referenceStatement? statusStatement? descriptionStatement?
+ | ifFeatureStatement* referenceStatement? descriptionStatement? statusStatement?
+ | statusStatement? ifFeatureStatement* descriptionStatement? referenceStatement?
+ | statusStatement? ifFeatureStatement* referenceStatement? descriptionStatement?
+ | statusStatement? descriptionStatement? ifFeatureStatement* referenceStatement?
+ | statusStatement? descriptionStatement? referenceStatement? ifFeatureStatement*
+ | statusStatement? referenceStatement? ifFeatureStatement* descriptionStatement?
+ | statusStatement? referenceStatement? descriptionStatement? ifFeatureStatement*
+ | descriptionStatement? ifFeatureStatement* statusStatement? referenceStatement?
+ | descriptionStatement? ifFeatureStatement* referenceStatement? statusStatement?
+ | descriptionStatement? statusStatement? ifFeatureStatement* referenceStatement?
+ | descriptionStatement? statusStatement? referenceStatement? ifFeatureStatement*
+ | descriptionStatement? referenceStatement* statusStatement? ifFeatureStatement*
+ | descriptionStatement? referenceStatement* ifFeatureStatement? statusStatement?
+ | referenceStatement? ifFeatureStatement* statusStatement? descriptionStatement?
+ | referenceStatement? ifFeatureStatement* descriptionStatement? statusStatement?
+ | referenceStatement? descriptionStatement? statusStatement? ifFeatureStatement*
+ | referenceStatement? descriptionStatement? ifFeatureStatement* statusStatement?
+ | referenceStatement? statusStatement? descriptionStatement? ifFeatureStatement*
+ | referenceStatement? statusStatement? ifFeatureStatement* descriptionStatement?
+ ;
/**
* data-def-stmt = container-stmt /
@@ -340,13 +405,11 @@
* [status-stmt stmtsep]
* [description-stmt stmtsep]
* [reference-stmt stmtsep]
- * [compiler-annotation-stmt stmtsep]
* "}"
* TODO : 0..1 occurance to be validated in listener
*/
typedefStatement : TYPEDEF_KEYWORD identifier LEFT_CURLY_BRACE
- (typeStatement | unitsStatement | defaultStatement | statusStatement | descriptionStatement
- | compilerAnnotationStatement | referenceStatement)*
+ (typeStatement | unitsStatement | defaultStatement | statusStatement | descriptionStatement | referenceStatement)*
RIGHT_CURLY_BRACE;
/**
@@ -715,7 +778,6 @@
* [status-stmt stmtsep]
* [description-stmt stmtsep]
* [reference-stmt stmtsep]
- * [compiler-annotation-stmt stmtsep]
* *((typedef-stmt /
* grouping-stmt) stmtsep)
* *(data-def-stmt stmtsep)
@@ -724,7 +786,7 @@
*/
groupingStatement : GROUPING_KEYWORD identifier (STMTEND | LEFT_CURLY_BRACE
(statusStatement | descriptionStatement | referenceStatement | typedefStatement | groupingStatement
- | dataDefStatement | compilerAnnotationStatement)* RIGHT_CURLY_BRACE);
+ | dataDefStatement)* RIGHT_CURLY_BRACE);
/**
* container-stmt = container-keyword sep identifier-arg-str optsep
@@ -739,7 +801,6 @@
* [status-stmt stmtsep]
* [description-stmt stmtsep]
* [reference-stmt stmtsep]
- * [compiler-annotation-stmt stmtsep]
* *((typedef-stmt /
* grouping-stmt) stmtsep)
* *(data-def-stmt stmtsep)
@@ -749,7 +810,7 @@
containerStatement : CONTAINER_KEYWORD identifier
(STMTEND | LEFT_CURLY_BRACE (whenStatement | ifFeatureStatement | mustStatement | presenceStatement | configStatement
| statusStatement | descriptionStatement | referenceStatement | typedefStatement | groupingStatement
- | dataDefStatement | compilerAnnotationStatement)* RIGHT_CURLY_BRACE);
+ | dataDefStatement)* RIGHT_CURLY_BRACE);
/**
* leaf-stmt = leaf-keyword sep identifier-arg-str optsep
@@ -771,7 +832,7 @@
*/
leafStatement : LEAF_KEYWORD identifier LEFT_CURLY_BRACE (whenStatement | ifFeatureStatement | typeStatement | unitsStatement
| mustStatement | defaultStatement | configStatement | mandatoryStatement | statusStatement | descriptionStatement
- | referenceStatement | compilerAnnotationStatement)* RIGHT_CURLY_BRACE;
+ | referenceStatement)* RIGHT_CURLY_BRACE;
/**
* leaf-list-stmt = leaf-list-keyword sep identifier-arg-str optsep
@@ -794,7 +855,7 @@
*/
leafListStatement : LEAF_LIST_KEYWORD identifier LEFT_CURLY_BRACE (whenStatement | ifFeatureStatement | typeStatement
| unitsStatement | mustStatement | configStatement | minElementsStatement | maxElementsStatement | orderedByStatement
- | statusStatement | descriptionStatement | referenceStatement | compilerAnnotationStatement)* RIGHT_CURLY_BRACE;
+ | statusStatement | descriptionStatement | referenceStatement)* RIGHT_CURLY_BRACE;
/**
* list-stmt = list-keyword sep identifier-arg-str optsep
@@ -820,8 +881,7 @@
*/
listStatement : LIST_KEYWORD identifier LEFT_CURLY_BRACE (whenStatement | ifFeatureStatement | mustStatement | keyStatement
| uniqueStatement | configStatement | minElementsStatement | maxElementsStatement | orderedByStatement | statusStatement
- | descriptionStatement | referenceStatement | typedefStatement | groupingStatement| dataDefStatement
- | compilerAnnotationStatement)* RIGHT_CURLY_BRACE;
+ | descriptionStatement | referenceStatement | typedefStatement | groupingStatement| dataDefStatement)* RIGHT_CURLY_BRACE;
/**
* key-stmt = key-keyword sep key-arg-str stmtend
@@ -852,7 +912,7 @@
*/
choiceStatement : CHOICE_KEYWORD identifier (STMTEND | LEFT_CURLY_BRACE (whenStatement | ifFeatureStatement | defaultStatement
| configStatement | mandatoryStatement | statusStatement | descriptionStatement | referenceStatement | shortCaseStatement
- | caseStatement | compilerAnnotationStatement)* RIGHT_CURLY_BRACE);
+ | caseStatement)* RIGHT_CURLY_BRACE);
/**
* short-case-stmt = container-stmt /
@@ -897,7 +957,7 @@
*/
anyxmlStatement : ANYXML_KEYWORD identifier (STMTEND | LEFT_CURLY_BRACE (whenStatement | ifFeatureStatement
| mustStatement | configStatement | mandatoryStatement | statusStatement | descriptionStatement
- | referenceStatement | compilerAnnotationStatement)* RIGHT_CURLY_BRACE);
+ | referenceStatement)* RIGHT_CURLY_BRACE);
/**
* uses-stmt = uses-keyword sep identifier-ref-arg-str optsep
@@ -909,15 +969,13 @@
* [status-stmt stmtsep]
* [description-stmt stmtsep]
* [reference-stmt stmtsep]
- * [compiler-annotation-stmt stmtsep]
* *(refine-stmt stmtsep)
* *(uses-augment-stmt stmtsep)
* "}")
* TODO : 0..1 occurance to be checked in listener
*/
usesStatement : USES_KEYWORD string (STMTEND | LEFT_CURLY_BRACE (whenStatement | ifFeatureStatement | statusStatement
- | descriptionStatement | referenceStatement | refineStatement | augmentStatement
- | compilerAnnotationStatement)* RIGHT_CURLY_BRACE);
+ | descriptionStatement | referenceStatement | refineStatement | augmentStatement)* RIGHT_CURLY_BRACE);
/**
* refine-stmt = refine-keyword sep refine-arg-str optsep
@@ -1032,8 +1090,7 @@
* TODO : 0..1 occurance to be checked in listener
*/
augmentStatement : AUGMENT_KEYWORD augment LEFT_CURLY_BRACE (whenStatement | ifFeatureStatement | statusStatement
- | descriptionStatement | referenceStatement | dataDefStatement | caseStatement
- | compilerAnnotationStatement)* RIGHT_CURLY_BRACE;
+ | descriptionStatement | referenceStatement | dataDefStatement | caseStatement)* RIGHT_CURLY_BRACE;
/**
* when-stmt = when-keyword sep string optsep
@@ -1061,13 +1118,10 @@
* grouping-stmt) stmtsep)
* [input-stmt stmtsep]
* [output-stmt stmtsep]
- * [compiler-annotation-stmt stmtsep]
* "}")
- * TODO : 0..1 occurance to be checked in listener
*/
- rpcStatement : RPC_KEYWORD identifier (STMTEND | LEFT_CURLY_BRACE (ifFeatureStatement | statusStatement
- | descriptionStatement | referenceStatement | typedefStatement | groupingStatement | inputStatement
- | outputStatement | compilerAnnotationStatement)* RIGHT_CURLY_BRACE);
+ rpcStatement : RPC_KEYWORD identifier (STMTEND | LEFT_CURLY_BRACE (ifFeatureStatement | statusStatement | descriptionStatement
+ | referenceStatement | typedefStatement | groupingStatement | inputStatement | outputStatement)* RIGHT_CURLY_BRACE);
/**
* input-stmt = input-keyword optsep
@@ -1101,7 +1155,6 @@
* [status-stmt stmtsep]
* [description-stmt stmtsep]
* [reference-stmt stmtsep]
- * [compiler-annotation-stmt stmtsep]
* *((typedef-stmt /
* grouping-stmt) stmtsep)
* *(data-def-stmt stmtsep)
@@ -1110,7 +1163,7 @@
*/
notificationStatement : NOTIFICATION_KEYWORD identifier (STMTEND | LEFT_CURLY_BRACE (ifFeatureStatement
| statusStatement | descriptionStatement | referenceStatement | typedefStatement
- | groupingStatement | dataDefStatement | compilerAnnotationStatement)* RIGHT_CURLY_BRACE);
+ | groupingStatement | dataDefStatement)* RIGHT_CURLY_BRACE);
/**
* deviation-stmt = deviation-keyword sep
@@ -1119,7 +1172,6 @@
* ;; these stmts can appear in any order
* [description-stmt stmtsep]
* [reference-stmt stmtsep]
- * [compiler-annotation-stmt stmtsep]
* (deviate-not-supported-stmt /
* 1*(deviate-add-stmt /
* deviate-replace-stmt /
@@ -1129,7 +1181,7 @@
*/
deviationStatement: DEVIATION_KEYWORD deviation LEFT_CURLY_BRACE (descriptionStatement | referenceStatement
| deviateNotSupportedStatement | deviateAddStatement | deviateReplaceStatement
- | deviateDeleteStatement | compilerAnnotationStatement)* RIGHT_CURLY_BRACE;
+ | deviateDeleteStatement)* RIGHT_CURLY_BRACE;
/**
* deviate-not-supported-stmt =
@@ -1190,67 +1242,42 @@
maxElementsStatement? RIGHT_CURLY_BRACE));
/**
- * compiler-annotation-stmt = compiler-annotation-keyword optsep
- * "{" stmtsep
- * ;; these stmts can appear in any order
- * *(if-feature-stmt stmtsep)
- * [status-stmt stmtsep]
- * [units-stmt stmtsep]
- * [reference-stmt stmtsep]
- * 1*(compiler-annotation-stmt stmtsep)
- * "}"
+ * compiler-annotation-stmt = prefix:compiler-annotation-keyword string
+ * "{"
+ * [app-data-structure-stmt stmtsep]
+ * [app-extended-stmt stmtsep]
+ * "}"
*/
- compilerAnnotationStatement : COMPILER_ANNOTATION_KEYWORD LEFT_CURLY_BRACE (ifFeatureStatement | statusStatement
- | unitsStatement | referenceStatement | annotationStatement)*
- RIGHT_CURLY_BRACE;
+ compilerAnnotationStatement : COMPILER_ANNOTATION string LEFT_CURLY_BRACE
+ compilerAnnotationBodyStatement RIGHT_CURLY_BRACE;
+
+ compilerAnnotationBodyStatement : appDataStructureStatement? appExtendedStatement? ;
/**
- * annotation-stmt = "@" annotation-type [annotation-parameter-specification] ";"
+ * app-data-structure-stmt = prefix:app-data-structure-keyword string
+ * (";" /
+ * "{"
+ * [data-structure-key-stmt stmtsep]
+ * "}")
*/
- annotationStatement : annotationType annotationParameterSpecification? STMTEND;
+ appDataStructureStatement : APP_DATA_STRUCTURE appDataStructure (STMTEND | (LEFT_CURLY_BRACE
+ dataStructureKeyStatement? RIGHT_CURLY_BRACE));
/**
- * annotation-type = identifier
+ * data-structure-key-stmt = prefix:key-keyword string ";"
*/
- annotationType : annotationIdentifier;
+ dataStructureKeyStatement : DATA_STRUCTURE_KEY string STMTEND;
/**
- * annotation-parameter-specification = "(" optsep annotation-parameter-specification-arg optsep ")"
+ * app-extended-stmt = prefix:app-extended-name-keyword string ";"
*/
- annotationParameterSpecification : LEFT_ROUND_BRACE annotationParameterSpecificationArg RIGHT_ROUND_BRACE;
-
- /**
- * annotation-parameter-specification-arg = annotation-para-type-value
- * / annotation-para-instance *("," annotation-para-instance)
- */
- annotationParameterSpecificationArg : annotationParaTypeValue
- | annotationParaInstance (COMMA annotationParaInstance)*;
-
- /**
- * annotation-para-instance = annotation-para-type-identifier optsep "=" optsep annotation-para-type-value
- */
- annotationParaInstance : annotationParaTypeIdentifier EQUAL annotationParaTypeValue;
-
- /**
- * annotation-para-type-identifier = identifier
- */
- annotationParaTypeIdentifier : identifier;
-
- /**
- * annotation-para-type-value = identifier
- */
- annotationParaTypeValue : identifier;
+ appExtendedStatement : APP_EXTENDED extendedName STMTEND;
string : STRING (PLUS STRING)*
| IDENTIFIER
| INTEGER
| yangConstruct;
- annotationIdentifier : STRING (PLUS STRING)*
- | ANNOTATION_IDENTIFIER
- | IDENTIFIER
- | yangConstruct;
-
identifier : STRING (PLUS STRING)*
| IDENTIFIER
| yangConstruct;
@@ -1296,15 +1323,19 @@
fraction : string;
+ appDataStructure : string;
+
+ extendedName : 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
+ | DEFAULT_KEYWORD | DESCRIPTION_KEYWORD | ENUM_KEYWORD | ERROR_APP_TAG_KEYWORD | ERROR_MESSAGE_KEYWORD
| EXTENSION_KEYWORD | DEVIATION_KEYWORD | DEVIATE_KEYWORD | FEATURE_KEYWORD
| FRACTION_DIGITS_KEYWORD | GROUPING_KEYWORD | IDENTITY_KEYWORD | IF_FEATURE_KEYWORD
| IMPORT_KEYWORD | INCLUDE_KEYWORD | INPUT_KEYWORD | KEY_KEYWORD | LEAF_KEYWORD | LEAF_LIST_KEYWORD
| LENGTH_KEYWORD | LIST_KEYWORD | MANDATORY_KEYWORD | MAX_ELEMENTS_KEYWORD | MIN_ELEMENTS_KEYWORD
| MODULE_KEYWORD | MUST_KEYWORD | NAMESPACE_KEYWORD | NOTIFICATION_KEYWORD | ORDERED_BY_KEYWORD
- | ORGANIZATION_KEYWORD | OUTPUT_KEYWORD | PATH_KEYWORD | PATTERN_KEYWORD |POSITION_KEYWORD
+ | ORGANIZATION_KEYWORD | OUTPUT_KEYWORD | PATH_KEYWORD | PATTERN_KEYWORD | POSITION_KEYWORD
| PREFIX_KEYWORD | PRESENCE_KEYWORD | RANGE_KEYWORD | REFERENCE_KEYWORD | REFINE_KEYWORD
| REQUIRE_INSTANCE_KEYWORD | REVISION_KEYWORD | REVISION_DATE_KEYWORD | RPC_KEYWORD
| STATUS_KEYWORD | SUBMODULE_KEYWORD | TYPE_KEYWORD | TYPEDEF_KEYWORD | UNIQUE_KEYWORD
@@ -1312,4 +1343,5 @@
| YIN_ELEMENT_KEYWORD | ADD_KEYWORD | CURRENT_KEYWORD | DELETE_KEYWORD | DEPRECATED_KEYWORD
| FALSE_KEYWORD | MAX_KEYWORD | MIN_KEYWORD | NOT_SUPPORTED_KEYWORD | OBSOLETE_KEYWORD
| REPLACE_KEYWORD | SYSTEM_KEYWORD | TRUE_KEYWORD | UNBOUNDED_KEYWORD | USER_KEYWORD
- | COMPILER_ANNOTATION_KEYWORD;
+ | COMPILER_ANNOTATION_KEYWORD | APP_DATA_STRUCTURE_KEYWORD | DATA_STRUCTURE_KEYWORD
+ | APP_EXTENDED_KEYWORD;
diff --git a/utils/yangutils/plugin/src/main/resources/YangLexer.g4 b/utils/yangutils/plugin/src/main/resources/YangLexer.g4
index d1f7fea..8abe32f 100644
--- a/utils/yangutils/plugin/src/main/resources/YangLexer.g4
+++ b/utils/yangutils/plugin/src/main/resources/YangLexer.g4
@@ -101,6 +101,14 @@
UNBOUNDED_KEYWORD : 'unbounded';
USER_KEYWORD : 'user';
COMPILER_ANNOTATION_KEYWORD : 'compiler-annotation';
+ COMPILER_ANNOTATION : IDENTIFIER COLON COMPILER_ANNOTATION_KEYWORD;
+ APP_DATA_STRUCTURE_KEYWORD : 'app-data-structure';
+ APP_DATA_STRUCTURE : IDENTIFIER COLON APP_DATA_STRUCTURE_KEYWORD;
+ DATA_STRUCTURE_KEYWORD : 'data-structure';
+ DATA_STRUCTURE : IDENTIFIER COLON DATA_STRUCTURE_KEYWORD;
+ DATA_STRUCTURE_KEY : IDENTIFIER COLON KEY_KEYWORD;
+ APP_EXTENDED_KEYWORD : 'app-extended-name';
+ APP_EXTENDED : IDENTIFIER COLON APP_EXTENDED_KEYWORD;
// Lexer tokens to be skipped
COMMENT
@@ -117,18 +125,11 @@
DATE_ARG : DIGIT DIGIT DIGIT DIGIT '-' DIGIT DIGIT '-' DIGIT DIGIT;
LEFT_CURLY_BRACE : '{';
RIGHT_CURLY_BRACE : '}';
- LEFT_ROUND_BRACE : '(';
- RIGHT_ROUND_BRACE : ')';
- ANNOTATION_START : '@';
- ANNOTATION_IDENTIFIER : ('@')(ALPHA | '_')
- (ALPHA | DIGIT | '_' | '-' | '.')*;
IDENTIFIER : (ALPHA | '_')
(ALPHA | DIGIT | '_' | '-' | '.')*;
STMTEND : ';';
DQUOTE : '"';
COLON : ':';
- COMMA : ',';
- EQUAL : '=';
PLUS : '+';
MINUS: '-';