
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: automata/petri/pnml/guyard/modular/extracted
Source used for this grammar: Pierrick Guyard, PNML Modular 1.0, PNML_modular.ecore, 2005/06/16
IdedElement, URI, Color, AnyElement, NCName, RotationType, ShapeType, StyleType, DecorationType, AlignType, PNMLDocument, Module, Interface, NetElement, NetContent, ToolSpecific, LabeledElement, Label, Name, Inscription, InitialMarking, NetContentElement, Arc, Page, Reference, ReferencePlace, ReferenceTransition, Instance, ImportNode, 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] 2, [name] 4, [text] 2, [rtvertical], [rthorizontal], [rtdiagonal], [shtline], [shtcurve], [sttsolid], [sttdash], [sttdot], [dtunderligne], [dtoverligne], [dtlinethrough], [atleft], [atcenter], [atright], [xmlns], [nets], [modules], [interfaces], [netcontents], [document] 2, [module] 3, [importplace] 2, [exportplace], [importtransition] 2, [exporttransition], [type], [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], [instance] 2, [ref] 4, [importnode] 2, [parameter], [instanceplace], [instancetransition], [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 ::= Module
IdedElement ::= NetElement
IdedElement ::= Node
IdedElement ::= Arc
IdedElement ::= Page
IdedElement ::= Instance
URI ::= [value]::String
Color ::= ε
AnyElement ::= [name]::String [text]::String
NCName ::= [value]::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 [modules]::Module
Module ::= [interfaces]::Interface [netcontents]::NetContent [document]::PNMLDocument
Interface ::= [module]::Module [importplace]::Node [exportplace]::Reference [importtransition]::Node [exporttransition]::Reference
NetElement ::= [type]::URI [document]::PNMLDocument [contents]::NetContent [tools]::ToolSpecific [netgraphics]::NetGraphics [name]::Name
NetContent ::= NetContentElement
NetContent ::= Arc
NetContent ::= Page
NetContent ::= ReferencePlace
NetContent ::= ReferenceTransition
NetContent ::= Instance
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 [module]::Module [instance]::Node [ref]::NCName [importnode]::ImportNode
ReferenceTransition ::= [net]::NetElement [name]::Name [page]::Page [module]::Module [instance]::Node [ref]::NCName [importnode]::ImportNode
Instance ::= [ref]::URI [importplace]::ImportNode [importtransition]::ImportNode
ImportNode ::= [parameter]::NCName [ref]::Reference [instanceplace]::Instance [instancetransition]::Instance
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