BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Groovy-Eclipse 2.5: Integração com Groovy 1.8 e expansão no suporte a DSLs

Groovy-Eclipse 2.5: Integração com Groovy 1.8 e expansão no suporte a DSLs

Favoritos

A SpringSource anunciou recentemente o lançamento da versão 2.5.0 do Groovy-Eclipse, o plug-in que possibilita o uso do IDE Eclipse para o desenvolvimento com a linguagem Groovy. A principal novidade é o suporte aos novos Descritores de DSLs (DSLDs), que estendem o suporte a DSLs (linguagens específicas ao domínio). O editor também evoluiu, com uma melhor assistência para criação de código e inferência de tipos. O Groovy 1.7.10 é suportado por padrão, mas a recém-lançada versão 1.8 pode ser utilizada através de um add-on. 

Para ilustrar o funcionamento dos DSLDs, usamos como exemplo uma DSL para cálculo de distância, definida na documentação do Groovy-Eclipse:

Sublinhados

Mesmo sem entrar em detalhes sobre a implementação dessa DSL, podemos notar sua utilidade. Com uma notação simples, o código na imagem acima faz o cálculo de distância envolvendo quatro unidades diferentes: metros, jardas, milhas e quilômetros. Observe na imagem que m, yd, ml e km estão sublinhados. Isso significa que o editor de código Groovy do Eclipse inicialmente não reconhece a nova “linguagem”. 

É neste ponto que entram os descritores de DSLs. Ao adicionar arquivos do tipo Groovy DSL Descriptor (extensão .dsld) ao projeto Eclipse, é habilitado o suporte às linguagens especificas ao domínio no editor de código. Um exemplo de DLSD:

currentType( subType( Number ) ).accept {
  [ m: "Meter",  yd: "Yard",  cm: "Centimeter",  mi: "Mile",  km: "Kilometer"].each 
  {
    // Considerando que url foi definida anteriormente
    property name:it.key, type:"Distance",
    doc: """A <code>${it.value}</code> from <a href="$url">$url</a>"""
  }
}

(Este exemplo e as imagens foram extraídos deste post no blog da Spring Source, que mostra mais detalhes sobre a definição e suporte a DSLs no Eclipse.) 

Analisando o exemplo acima, pode-se observar que a própria descrição da DSL obedece a uma sintaxe própria e aceita comandos Groovy. Em outras palavras, a linguagem utilizada pelos DSLDs também é uma DSL, e por isso possui o seu próprio meta-descritor. Como resultado da presença do .dsld no projeto, o editor já será capaz de exibir informações sobre a nova linguagem para cálculo de distâncias, conforme a figura a seguir:

Sublinhados

Mesmo desenvolvedores que ainda não tiveram necessidade de criar suas DSLs serão beneficiados – através de DSLDs criados por terceiros. A tendência é que rapidamente surjam DSLDs de uso comum, suportando por exemplo as diferentes peças do ecossistema do Groovy (como Grails, Gaelyk, e Griffon).

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT