Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: uml/simple/extracted
Source used for this grammar: Ivan Kurtev, QVT_SimpleUML.ecore
,
UMLModelElement
, Attribute
, Package
, PackageElement
, Classifier
, Class
, PrimitiveDataType
, Association
, String
), 0 root (—), 2 top (UMLModelElement
, String
), 0 bottom (—).[owner]
, [type]
, [elements]
, [attribute]
, [general]
, [generalOpposite]
, [reverse]
, [forward]
, [typeOpposite]
, [source]
, [destination]
.UMLModelElement ::= Attribute
UMLModelElement ::= Package
UMLModelElement ::= PackageElement
Attribute ::= [owner]::Class [type]::Classifier
Package ::=
[elements]::PackageElement
PackageElement ::= Classifier
PackageElement ::= Association
Classifier ::= Class
Classifier ::= PrimitiveDataType
Class ::= [attribute]::Attribute[general]::Class [generalOpposite]::Class [reverse]::Association [forward]::Association
PrimitiveDataType ::=
[typeOpposite]::Attribute
Association ::= [source]::Class [destination]::Class
String ::= string