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]::Token
Movement ::= [exec]::Execution [fire]::Transition [source]::Marking [target]::Marking
String ::= string
Integer ::= integer