Qual idioma (executado na JVM) é mais adequado para criar uma DSL?

Temos um requisito para criar seqüências complexas de comprimento fixo e comprimento variável. Essas strings podem representar um perfil de cliente, um pedido etc. Qual linguagem de programação baseada em JVM vocês sugerem?

A ideia é que um usuário final crie as strings usando essa DSL. Então, eu estou procurando validação, conclusão de código etc.

questionAnswers(8)

yourAnswerToTheQuestion