Grm. Grammar ::= [RExp] ;

App.  RExp ::= "(" CId [RExp] ")" ;
AId.  RExp ::= CId ;
AInt. RExp ::= Integer ;
AStr. RExp ::= String ;
AFlt. RExp ::= Double ;
AMet. RExp ::= "?" ;

terminator RExp "" ;

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