Martin Fowler has a couple interesting articles on this: {link:Language Workbenches|http://www.martinfowler.com/articles/languageWorkbench.html} and {link:Related Readings|http://martinfowler.com/bliki/LanguageWorkbenchReadings.html}