Browsable yUML Grammar

CC-BY

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

Summary

Syntax

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

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []