--- 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 | '_' | '\'')* ;