Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: uml/extended/extracted
Source used for this grammar: Julien Baudry, Extended UML Core Package metamodel, Extended_UML_Core_Package.ecore
, 2006/07/10
ModelElement
, Name
, AssociationEnd
, AggregationKind
, Multiplicity
, ChangeableKind
, ScopeKind
, RfIntegretyKind
, RlIntegretyKind
, Namespace
, GeneralizableElement
, Classifier
, Class
, Feature
, StructureFeature
, Attribute
, Expression
, Boolean
, Integer
, String
), 0 root (—), 4 top (ModelElement
, RfIntegretyKind
, Integer
, String
), 2 bottom (Key
2, Constraint
2).[name]
, [isNavigable]
, [isOrdered]
, [aggregation]
, [multiplicity]
, [changeable]
, [TargetScope]
, [rfIntegrety]
, [rlIntegrety]
, [isActive]
, [mutliplicity]
, [key]
, [initialValue]
, [isKey]
, [isUnique]
.ModelElement ::= AssociationEnd
ModelElement ::= Namespace
ModelElement ::= Key
ModelElement ::= Feature
ModelElement ::= [name]::Name
Name ::= ε
AssociationEnd ::= [isNavigable]::Boolean [isOrdered]::Boolean [aggregation]::AggregationKind [multiplicity]::Multiplicity [changeable]::ChangeableKind [TargetScope]::ScopeKind [rfIntegrety]::RlIntegretyKind [rlIntegrety]::RlIntegretyKind
AggregationKind ::= ε
Multiplicity ::= ε
ChangeableKind ::= ε
ScopeKind ::= ε
RfIntegretyKind ::= ε
RlIntegretyKind ::= ε
Namespace ::= GeneralizableElement
GeneralizableElement ::= Classifier
Classifier ::= Class
Class ::=
[isActive]::Boolean [mutliplicity]::Multiplicity [key]::Key
Feature ::= StructureFeature
Feature ::= Constraint
Feature ::= StructureFeature Constraint
StructureFeature ::= Attribute
Attribute ::= [initialValue]::Expression [isKey]::Boolean [isUnique]::Boolean
Expression ::= ε
Boolean ::= "true" "false"
Integer ::= integer
String ::= string