-- SakuraProductions.pgs
-- The following productions will be added to Mesa productions
transfermode ::= DEVICE
block ::= { devicehead devicebody }
devicehead ::= indecl outdecl guardian
indecl ::= IN decseries
outdecl ::= OUT decseries
guardian ::= GUARDIAN block
devicebody ::= statedecl dataflowdecl control
statedecl ::= STATE decseries
dataflowdecl ::= DATAFLOW transferseries
control ::= CONTROL block
transferseries ::=
transferseries ::= transferseries ; transfer
transfer ::= lhs <= exp
statement ::= parallel
parallel ::= PAR { parlist }
parlist ::= statement
parlist ::= parlist // statement
statement ::= guardedcommandlist
guardedcommandlist ::= guardedcommand
guardedcommandlist ::= guardedcommandlist || guardedcommand
guardedcommand ::= WHEN event -> statement
statement ::= on
on ::= ON event -> statement IN statement
event ::= updownsignal
event ::= updownsignal AND expression
updownsignal ::= lhs UP
updownsignal ::= lhs DOWN