context-free DSL for ruby-1.9 and CF3 syntax