diff options
Diffstat (limited to 'aai-traversal/src/main/resources/antlr4/org/onap')
-rw-r--r-- | aai-traversal/src/main/resources/antlr4/org/onap/aai/AAIDsl.g4 | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/aai-traversal/src/main/resources/antlr4/org/onap/aai/AAIDsl.g4 b/aai-traversal/src/main/resources/antlr4/org/onap/aai/AAIDsl.g4 index 2713677..f0c866a 100644 --- a/aai-traversal/src/main/resources/antlr4/org/onap/aai/AAIDsl.g4 +++ b/aai-traversal/src/main/resources/antlr4/org/onap/aai/AAIDsl.g4 @@ -6,21 +6,15 @@ grammar AAIDsl; aaiquery: dslStatement; -dslStatement: (queryStep) (traverseStep | unionTraverseStep)* limitStep*; - -queryStep : (singleNodeStep |singleQueryStep | multiQueryStep); +dslStatement: (singleNodeStep ) (traverseStep )* limitStep*; unionQueryStep: LBRACKET dslStatement ( COMMA (dslStatement))* RBRACKET; -traverseStep: (TRAVERSE ( queryStep | unionQueryStep)); - -unionTraverseStep: TRAVERSE unionQueryStep; +traverseStep: (TRAVERSE ( singleNodeStep | unionQueryStep)); -singleNodeStep: NODE STORE? ; -singleQueryStep: NODE STORE? (filterStep | filterTraverseStep); -multiQueryStep: NODE STORE? (filterStep | filterTraverseStep) (filterStep)+; +singleNodeStep: NODE STORE? (filterStep | filterTraverseStep)*; -filterStep: NOT? (LPAREN KEY COMMA KEY (COMMA KEY)*RPAREN); +filterStep: NOT? (LPAREN KEY (COMMA KEY)* RPAREN); filterTraverseStep: (LPAREN traverseStep* RPAREN); limitStep: LIMIT NODE; @@ -28,7 +22,8 @@ limitStep: LIMIT NODE; LIMIT: 'LIMIT'; NODE: ID; -KEY: ['] ID ['] ; +KEY: ['] (ID | ' ')* ['] ; + AND: [&]; |