diff --git a/src/main/grammar/RelAstGrammar.bnf b/src/main/grammar/RelAstGrammar.bnf index fa241e1c37e1ec6594a4a1a05d5773573f46a49f..c0a5b23c9153beebde6744c8317fbfad13f71d6d 100644 --- a/src/main/grammar/RelAstGrammar.bnf +++ b/src/main/grammar/RelAstGrammar.bnf @@ -11,6 +11,8 @@ elementTypeHolderClass="org.jastadd.tooling.parser.RelAstGrammarTypes" elementTypeClass="org.jastadd.tooling.parser.RelAstGrammarElementType" tokenTypeClass="org.jastadd.tooling.parser.RelAstGrammarTokenType" + + psiImplUtilClass="org.jastadd.tooling.psi.impl.RelAstGrammarPsiImplUtil" } relAstGrammarFile ::= comment* declaration* @@ -19,11 +21,11 @@ declaration ::= (type_decl | relation) comment* comment ::= (WHITESPACE | MULTILINECOMMENT | DOCCOMMENT | SINGLELINECOMMENT) -type_decl ::= ABSTRACT? ID (COL ID)? (ASSIGN component*)? SCOL +type_decl ::= ABSTRACT? ID (COL ID)? (ASSIGN (component | nta_component)*)? SCOL -component ::= (SLASH actual_component SLASH) | actual_component +nta_component ::= SLASH component SLASH -actual_component ::= (ID (COL ID)? STAR?) | (LBRACKET ID (COL ID)? RBRACKET) | (LT ID (COL (java_type_use))? GT) +component ::= (ID (COL ID)? STAR?) | (LBRACKET ID (COL ID)? RBRACKET) | (LT ID (COL (java_type_use))? GT) java_type_use ::= parameterized_java_type_use | simple_java_type_use