Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: automata/petri/pnml/guyard/structured/extracted
Source used for this grammar: Pierrick Guyard, PNML Structured 1.0, PNML_structured.ecore
, 2005/06/16
IdedElement
, URI
, Color
, AnyElement
, RotationType
, ShapeType
, StyleType
, DecorationType
, AlignType
, PNMLDocument
, NetElement
, NetContent
, ToolSpecific
, LabeledElement
, Label
, Name
, Inscription
, InitialMarking
, NetContentElement
, Arc
, Page
, Reference
, ReferencePlace
, ReferenceTransition
, Node
, Place
, Transition
, Graphics
, NetGraphics
, NodeGraphics
, EdgeGraphics
, AnnotationGraphics
, PageGraphics
, Coordinate
, Position
, Offset
, Dimension
, Fill
, Line
, Font
, Integer
, String
), 0 root (—), 4 top (IdedElement
, Label
, Graphics
, Coordinate
), 0 bottom (—).[value]
, [name]
4, [text]
2, [rtvertical]
, [rthorizontal]
, [rtdiagonal]
, [shtline]
, [shtcurve]
, [sttsolid]
, [sttdash]
, [sttdot]
, [dtunderligne]
, [dtoverligne]
, [dtlinethrough]
, [atleft]
, [atcenter]
, [atright]
, [xmlns]
, [nets]
, [type]
, [document]
, [contents]
2, [tools]
4, [netgraphics]
, [tool]
, [version]
, [anyelement]
, [net]
5, [arc]
3, [node]
3, [page]
4, [namedelement]
2, [netcontent]
, [place]
, [source]
, [target]
, [edgegraphics]
4, [inscription]
, [pagegraphics]
, [ref]
2, [netcontentelement]
, [nodegraphics]
5, [initialmarking]
, [position]
2, [dimension]
, [fill]
3, [line]
3, [offset]
, [font]
, [annotationgraphics]
4, [width]
2, [height]
, [gradientrotation]
, [interiorcolor]
, [gradientcolor]
, [image]
, [color]
, [shape]
, [style]
2, [family]
, [weight]
, [size]
, [decoration]
, [align]
, [rotation]
.IdedElement ::= NetElement
IdedElement ::= Node
IdedElement ::= Arc
IdedElement ::= Page
URI ::= [value]::String
Color ::= ε
AnyElement ::= [name]::String [text]::String
RotationType ::= [rtvertical]::ε [rthorizontal]::ε [rtdiagonal]::ε
ShapeType ::= [shtline]::ε [shtcurve]::ε
StyleType ::= [sttsolid]::ε [sttdash]::ε [sttdot]::ε
DecorationType ::= [dtunderligne]::ε [dtoverligne]::ε [dtlinethrough]::ε
AlignType ::= [atleft]::ε [atcenter]::ε [atright]::ε
PNMLDocument ::=
[xmlns]::URI [nets]::NetElement
NetElement ::= [type]::URI [document]::PNMLDocument [contents]::NetContent[tools]::ToolSpecific [netgraphics]::NetGraphics [name]::Name
NetContent ::= NetContentElement
NetContent ::= Arc
NetContent ::= Page
NetContent ::= ReferencePlace
NetContent ::= ReferenceTransition
ToolSpecific ::=
[tool]::String [version]::String [anyelement]::AnyElement
[net]::NetElement [arc]::Arc [node]::Node [page]::PageLabeledElement ::= Name
LabeledElement ::= Inscription
LabeledElement ::= InitialMarking
Label ::= [text]::String [namedelement]::LabeledElement
Name ::= [net]::NetElement [netcontent]::NetContent
Inscription ::= [arc]::Arc
InitialMarking ::= [place]::Place
NetContentElement ::= Place
NetContentElement ::= Transition
Arc ::=
[source]::NetContentElement [target]::NetContentElement [tools]::ToolSpecific
[edgegraphics]::EdgeGraphics [inscription]::InscriptionPage ::= [contents]::NetContent[tools]::ToolSpecific [pagegraphics]::PageGraphics
Reference ::= ReferencePlace
Reference ::= ReferenceTransition
ReferencePlace ::= [net]::NetElement [name]::Name [page]::Page [ref]::Node
ReferenceTransition ::= [net]::NetElement [name]::Name [page]::Page [ref]::Node
Node ::= Reference
Node ::=
[netcontentelement]::NetContentElement [tools]::ToolSpecific
[nodegraphics]::NodeGraphicsPlace ::= [initialmarking]::InitialMarking
Transition ::= [node]::Node
Graphics ::= NetGraphics
Graphics ::= NodeGraphics
Graphics ::= EdgeGraphics
Graphics ::= AnnotationGraphics
Graphics ::= PageGraphics
NetGraphics ::= [net]::NetElement
NodeGraphics ::= [node]::Node [position]::Position [dimension]::Dimension [fill]::Fill [line]::Line
EdgeGraphics ::=
[arc]::Arc [position]::Position
[fill]::Fill [line]::LineAnnotationGraphics ::= [namedelement]::LabeledElement [offset]::Offset [font]::Font [fill]::Fill [line]::Line
PageGraphics ::= [page]::Page
Coordinate ::= Position
Coordinate ::= Offset
Position ::= [nodegraphics]::NodeGraphics [edgegraphics]::EdgeGraphics
Offset ::= [annotationgraphics]::AnnotationGraphics
Dimension ::= [width]::Integer [height]::Integer [nodegraphics]::NodeGraphics
Fill ::= [gradientrotation]::RotationType [interiorcolor]::Color [gradientcolor]::Color [image]::URI [nodegraphics]::NodeGraphics [edgegraphics]::EdgeGraphics [annotationgraphics]::AnnotationGraphics
Line ::= [color]::Color [width]::Integer [shape]::ShapeType [style]::StyleType [nodegraphics]::NodeGraphics [edgegraphics]::EdgeGraphics [annotationgraphics]::AnnotationGraphics
Font ::= [family]::String [style]::String [weight]::String [size]::String [decoration]::DecorationType [align]::AlignType [rotation]::Integer [annotationgraphics]::AnnotationGraphics
Integer ::= integer
String ::= string