The grammar rules for statements are:
stmt:: lhstup : type ;lhs [:=
<-] expr ;
{ block }
if ( expr ) stmt
case { cblk }
switch ( tuple ) { cblk }
[for
chain] ( atom = expr ; expr ; atom = expr ) stmt
lhs:: idnext ( id )
( lhstup )
lhstup::![]()
lhs
lhstup lhs
block:: stmtblock stmt
cblk:: expr : stmtcblk expr : stmt