
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: uml/fragment/extracted
Source used for this grammar: Julien Baudry, UML Metamodel Fragment integrating statecharts, generalization of classes, and stereotypes, UML_metamodel_fragment.ecore, 2006/07/20
Class, Generalization, Dependency, Stereotype, StateMachine, State, CompositeState, SimpleState, FinalState, StateVertex, PseudoState, Transition, Event, Boolean, Integer, String), 0 root (—), 2 top (Boolean, Integer), 0 bottom (—).[parent], [child], [dependency], [supplier], [client], [stereotype], [baseClass], [extendedElement], [context], [top], [stateMachine] 3, [internal] 3, [subvertex], [compositeState] 2, [trigger], [source], [target].Class ::= [parent]::Generalization [child]::Generalization [dependency]::Dependency
Generalization ::= ε
Dependency ::= [supplier]::StateMachine [client]::Class [stereotype]::Stereotype
Stereotype ::= [baseClass]::String [extendedElement]::Dependency
StateMachine ::= [context]::Class [top]::State
State ::= CompositeState
State ::= SimpleState
State ::= FinalState
State ::= [stateMachine]::StateMachine [internal]::Transition
CompositeState ::= [subvertex]::StateVertex
SimpleState ::= [stateMachine]::StateMachine [internal]::Transition
FinalState ::= [stateMachine]::StateMachine [internal]::Transition
StateVertex ::= State
StateVertex ::= PseudoState
StateVertex ::= [compositeState]::CompositeState
PseudoState ::= [compositeState]::CompositeState
Transition ::= [trigger]::Event [source]::StateVertex [target]::StateVertex
Event ::= ε
Boolean ::= "true" "false"
Integer ::= integer
String ::= string