Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: meta/syntax/dsltools/bruneliere/extracted
Source used for this grammar: Hugo Brunelière, DSLtools.ecore
, 2006
NamedElement
, LoadedElement
, Namespace
, DomainModel
, Classifier
, Class
, Relationship
, Role
, ValueProperty
, Type
, SimpleType
, EnumerationLiteral
, Enumeration
, Boolean
, Integer
, String
), 0 root (—), 4 top (NamedElement
, Boolean
, Integer
, String
), 3 bottom (PrimitiveTypes/Integer
3, PrimitiveTypes/String
, PrimitiveTypes/Boolean
6).[classifiers]
, [types]
, [isSerializationRoot]
, [isEmbedding]
, [roles]
, [min]
, [max]
, [isUnbounded]
, [accepts]
, [isOrdered]
, [isNavigableFrom]
, [isPropertyGenerator]
, [source]
, [type]
2, [relation]
, [owner]
, [value]
, [literals]
.NamedElement ::= Namespace
NamedElement ::= Role
NamedElement ::= ValueProperty
NamedElement ::= EnumerationLiteral
LoadedElement ::= DomainModel
LoadedElement ::= Classifier
Namespace ::= LoadedElement
Namespace ::= Type
DomainModel ::= [classifiers]::Classifier[types]::Type
Classifier ::= Class
Classifier ::= Relationship
Class ::= [isSerializationRoot]::PrimitiveTypes/Boolean
Relationship ::= [isEmbedding]::PrimitiveTypes/Boolean [roles]::Role
Role ::= [min]::PrimitiveTypes/Integer [max]::PrimitiveTypes/Integer [isUnbounded]::PrimitiveTypes/Boolean [accepts]::PrimitiveTypes/String [isOrdered]::PrimitiveTypes/Boolean [isNavigableFrom]::PrimitiveTypes/Boolean [isPropertyGenerator]::PrimitiveTypes/Boolean [source]::Classifier [type]::Classifier [relation]::Relationship
ValueProperty ::= [owner]::Classifier [type]::Type
Type ::= SimpleType
Type ::= Enumeration
SimpleType ::= ε
EnumerationLiteral ::= [value]::PrimitiveTypes/Integer
Enumeration ::=
[literals]::EnumerationLiteral
Boolean ::= "true" "false"
Integer ::= integer
String ::= string