A DSL for specifying concrete syntax trees. See this introductory post.
See ./rust.ungram for an example.