pre : the constructors and ebnf meta-grammar in standard ml