Boo is very powerful tool for DSL creation (external and internal)
Internal DSLs can be created using Macros, Meta-methods and extendable compiler pipeline.
The extension of Boo language - Boo.OMeta.Parser can be used to create external DSLs.
Currently the parser is under development but it can already be used for creation of complex external DSLs. OMeta is powerful tool which enables programmers to easily implement lexical analyzers and parsers. Extendable compiler pipeline architecture of Boo allows to replace standard Boo.Parser with Boo.OMeta.Parser. It can be used to extend Boo syntax with almost any kind of syntax.
The example can be find here.