NET ::= empty
| \inputnet{FILENAME}{ID} NET
| \beginnet{ID} ELEMENT \endnet NET
| \beginnet{ID} \like{ID} \endnet NET
ELEMENT ::= empty
| PLACE ELEMENT
| TRANSITION ELEMENT
| ARC ELEMENT
| TYPEDEF ELEMENT
| \seeML{ FILENAME } ELEMENT
| FUSION ELEMENT
ID ::= STRING
FILENAME ::= STRING
TYPEDEF ::= \typedef{ID}{ COLOURSET }
FUSION ::= \fuse{ID}{TYPE}{ID IDLIST}
TYPE ::= page | inst | global
IDLIST ::= empty | '|' ID IDLIST
PLACE ::= \place{ID}{ \like{id} }
| \place{ID}{NAME INIT CAP COLOUR P_TYPE PORT COORDS PARTITION EXIT}
NAME ::= empty | \name{ STRING }
INIT ::= empty | \init{ MULTISET }
CAP ::= empty | \capacity{ MULTISET }
COLOUR ::= empty | \colour{ COLOURSET }
P_TYPE ::= empty
| \substitute{ID}
| \queue{immediate} SCHED \weight{ TUPLEEXPR }
| \queue{timed} SCHED \weight{ TUPLEEXPR }
SCHED ::= empty
| \sched{STRING} SCHED
| \noserver{ INTEGER } SCHED
| \rank{ INTEXPR } SCHED
| \prio{ INTEXPR } SCHED
PORT ::= empty
| \port{in}
| \port{out}
| \port{io}
PARTITION ::= \partition{ STRING }
EXIT ::= empty | \exit
TRANSITION ::= \transition{ID}{ \like{ID} }
| \transition{ID}{ NAME T_TYPE PRIO T_WEIGHT GUARD PORT COORDS EXIT
T_TYPE ::= empty
| \substitute{ID}
| \invoke{ID}
PRIO ::= empty
| \prio{ INTEGER }
T_WEIGHT ::= empty
| \weight{ REALEXPR }
GUARD ::= empty
| \guard{ BOOLEXPR }
\end{verbatim}
ARC ::= \arc{ID}{ \from{ID} \to{ID} WEIGHT A_TYPE BIND COORDS_LIST }
WEIGHT ::= empty
| \weight{ MULTISETEXPR }
A_TYPE ::= empty
| \type{ordinary}
| \type{inhibitor}
BIND ::= empty
| \bind{ID} CONT \with{ID} CONT
CONT ::= empty
| \cont{ID} CONT
INTEXPR ::= \like{ID}
| ML-EXPRESSION
REALEXPR ::= \like{ID}
| ML-EXPRESSION
BOOLEXPR ::= \like{ID}
| ML-EXPRESSION
TUPLEEXPR ::= \like{ID}
| ML-EXPRESSION
MULTISETEXPR ::= \like{ID}
| ML-EXPRESSION
COLOURSET ::= \like{ID}
| ML-DEFINITION
TYPEDEF ::= \typedef{ID}{ ML-DEFINITION }
COORDS_LIST ::= empty
| COORDS COORDS_LIST
COORDS ::= empty
| \coords{INTEGER,INTEGER}
Start-symbol: NET