Syntax definition for language prototyping by E. Visser