
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: automata/petri/net/bruneliere/extracted
Source used for this grammar: Hugo Brunelière, Petri Net extended 1.0, PetriNet_extended.ecore, 2005/08/11
LocatedElement, NamedElement, PetriNet, Element, Place, Transition, Arc, PlaceToTransition, TransitionToPlace, Execution, Token, Marking, Movement, String, Integer), 0 root (—), 3 top (LocatedElement, String, Integer), 0 bottom (—).[elements], [arcs], [execs], [incomingArc] 2, [outgoingArc] 2, [from] 2, [to] 2, [net], [markings], [movements], [placedAt], [marking], [exec] 2, [tokens], [fire], [source], [target].LocatedElement ::= NamedElement
NamedElement ::= PetriNet
NamedElement ::= Element
NamedElement ::= Arc
PetriNet ::= [elements]::Element [arcs]::Arc [execs]::Execution
Element ::= Place
Element ::= Transition
Place ::= [incomingArc]::TransitionToPlace [outgoingArc]::PlaceToTransition
Transition ::= [incomingArc]::PlaceToTransition [outgoingArc]::TransitionToPlace
Arc ::= PlaceToTransition
Arc ::= TransitionToPlace
PlaceToTransition ::= [from]::Place [to]::Transition
TransitionToPlace ::= [from]::Transition [to]::Place
Execution ::= [net]::PetriNet [markings]::Marking [movements]::Movement
Token ::= [placedAt]::Place [marking]::Marking
Marking ::=
[exec]::Execution [tokens]::TokenMovement ::= [exec]::Execution [fire]::Transition [source]::Marking [target]::Marking
String ::= string
Integer ::= integer