
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]::StringNote ::=
[text]::StringNoteAssociation ::= [note]::Note
Boolean ::= "true" "false"
Integer ::= integer
String ::= string