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