--- target language

Tg. Object ::= [Fun] ;

FVal. Fun ::= Id "=" Val ;

terminator Fun ";" ;

VRec. Val ::= "[" [Val] "]" ;
VPro. Val ::= "(" Val "." Val ")" ;
VTok. Val ::= String ;
VArg. Val ::= "$" Integer ;
VPar. Val ::= Integer ;
VCat. Val ::= "(" Val Val ")" ;

terminator Val "," ;

token Id (letter | '_') (letter | digit | '_' | '\'')* ;
