Browsable PNML Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: automata/petri/pnml/guyard/basic/extracted
Source used for this grammar: Pierrick Guyard, PNML Basic 1.0, PNML_basic.ecore, 2005/06/15

Summary

Syntax

IdedElement ::=
	NetElement
IdedElement ::=
	Node
IdedElement ::=
	Arc
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
ToolSpecific ::=
	[tool]::String [version]::String [anyelement]::AnyElement+ [net]::NetElement [arc]::Arc [node]::Node
LabeledElement ::=
	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]::Inscription
Node ::=
	[netcontentelement]::NetContentElement [tools]::ToolSpecific+ [nodegraphics]::NodeGraphics
Place ::=
	[initialmarking]::InitialMarking
Transition ::=
	[node]::Node
Graphics ::=
	NetGraphics
Graphics ::=
	NodeGraphics
Graphics ::=
	EdgeGraphics
Graphics ::=
	AnnotationGraphics
NetGraphics ::=
	[net]::NetElement
NodeGraphics ::=
	[node]::Node [position]::Position [dimension]::Dimension [fill]::Fill [line]::Line
EdgeGraphics ::=
	[arc]::Arc [position]::Position+ [fill]::Fill [line]::Line
AnnotationGraphics ::=
	[namedelement]::LabeledElement [offset]::Offset [font]::Font [fill]::Fill [line]::Line
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

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []