Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: uml/yuml/extracted
Source used for this grammar: Cauê Avila Clasen, yUML.ecore
, 2009/11/10
LocatedElement
, Model
, Class
, ModelElement
, ColorableElement
, ClassReference
, AssociationType
, Relationship
, ClassDefinition
, Association
, Inheritance
, Cardinality
, Visibility
, ClassMember
, Attribute
, Method
, Note
, NoteAssociation
, Boolean
, Integer
, String
), 0 root (—), 1 top (LocatedElement
), 0 bottom (—).[classes]
, [elements]
, [name]
, [class]
, [stereotype]
, [definition]
, [simpleAssociation]
, [aggregation]
, [composition]
, [attributes]
, [methods]
, [type]
2, [sourceCardinality]
, [sourceLabel]
, [navigableSource]
, [sourceVisibility]
, [targetCardinality]
, [targetLabel]
, [navigableTarget]
, [targetVisibility]
, [source]
, [target]
, [lowerBound]
, [upperBound]
, [unspecified]
, [public]
, [private]
, [protected]
, [package]
, [arguments]
, [text]
, [note]
.LocatedElement ::= Model
LocatedElement ::= Class
LocatedElement ::= ModelElement
LocatedElement ::= ClassDefinition
LocatedElement ::= Cardinality
LocatedElement ::= ClassMember
Model ::= [classes]::Class[elements]::ModelElement
Class ::= [name]::String
ModelElement ::= ColorableElement
ModelElement ::= Relationship
ColorableElement ::= ClassReference
ColorableElement ::= Note
ClassReference ::= [class]::Class [stereotype]::String [definition]::ClassDefinition
AssociationType ::= [simpleAssociation]::ε [aggregation]::ε [composition]::ε
Relationship ::= Association
Relationship ::= Inheritance
Relationship ::= NoteAssociation
ClassDefinition ::= [attributes]::Attribute[methods]::Method
Association ::= [type]::AssociationType [sourceCardinality]::Cardinality [sourceLabel]::String [navigableSource]::Boolean [sourceVisibility]::Visibility [targetCardinality]::Cardinality [targetLabel]::String [navigableTarget]::Boolean [targetVisibility]::Visibility
Inheritance ::= [source]::ClassReference [target]::ClassReference
Cardinality ::= [lowerBound]::Integer [upperBound]::Integer
Visibility ::= [unspecified]::ε [public]::ε [private]::ε [protected]::ε [package]::ε
ClassMember ::= Attribute
ClassMember ::= Method
Attribute ::= [type]::String
Method ::=
[arguments]::String
Note ::=
[text]::String
NoteAssociation ::= [note]::Note
Boolean ::= "true" "false"
Integer ::= integer
String ::= string