Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: uml/oocm/extracted
Source used for this grammar: Hugo Brunelière, UML For Object Oriented Class Modeling 1.0, UMLForOOClassModeling.ecore
, 2005/08/09
VisibilityKind
, ScopeKind
, MultiplicityType
, ModelElement
, Feature
, NameSpace
, GeneralizableElement
, Classifier
, Class
, StructuralFeature
, Attribute
, BehavioralFeature
, Operation
, Integer
, String
, Boolean
), 0 root (—), 1 top (ModelElement
), 0 bottom (—).[vk_public_vis]
, [vk_private_vis]
, [vk_protected_vis]
, [sk_instance_level]
, [sk_classifier_level]
, [lower]
, [upper]
, [isOrdered]
, [isUnique]
, [name]
2, [ownerScope]
, [visibility]
, [owner]
, [isRoot]
2, [isLeaf]
2, [isAbstract]
2, [feature]
, [isActive]
, [multiplicity]
, [isChangeable]
, [targetScope]
, [initialValue]
, [isQuery]
, [specification]
.VisibilityKind ::= [vk_public_vis]::ε [vk_private_vis]::ε [vk_protected_vis]::ε
ScopeKind ::= [sk_instance_level]::ε [sk_classifier_level]::ε
MultiplicityType ::= [lower]::Integer [upper]::Integer [isOrdered]::Boolean [isUnique]::Boolean
ModelElement ::= Feature
ModelElement ::= NameSpace
ModelElement ::= GeneralizableElement
ModelElement ::= [name]::String
Feature ::= StructuralFeature
Feature ::= BehavioralFeature
Feature ::= [ownerScope]::ScopeKind [visibility]::VisibilityKind [owner]::Classifier
NameSpace ::= Classifier
NameSpace ::= [name]::String
GeneralizableElement ::= Classifier
GeneralizableElement ::= [isRoot]::Boolean [isLeaf]::Boolean [isAbstract]::Boolean
Classifier ::= Class
Classifier ::=
[feature]::Feature
Class ::= [isActive]::Boolean
StructuralFeature ::= Attribute
StructuralFeature ::= [multiplicity]::MultiplicityType [isChangeable]::Boolean [targetScope]::ScopeKind
Attribute ::= [initialValue]::String
BehavioralFeature ::= Operation
BehavioralFeature ::= [isQuery]::Boolean
Operation ::= [isRoot]::Boolean [isLeaf]::Boolean [isAbstract]::Boolean [specification]::String
Integer ::= integer
String ::= string
Boolean ::= "true" "false"