BT

Nitra: Ferramental Open Source para Linguagens no CLR

por Roopesh Shenoy , traduzido por Roberto Pepato em 04 Ago 2014 |


Recentemente a JetBrains abriu o código do Nitra, um conjunto de ferramentas para suporte de diversas linguagens de programação no CLR. Desenvolvedores podem definir gramáticas utilizando o Nemerle, que é usado pelo Nitra para construir parsers e gerar classes que representem e naveguem em sua AST.

Uma funcionalidade interessante do Nitra é sua habilidade em construir blocos de gramáticas e reutilizá-los em diferentes linguagens. Módulos como o Whitespaces e CStyleComments são disponibilizados com o Nitra e podem ser facilmente reutilizados na definição da gramática de sua própria linguagem.

Existem três passos para utilização do Nitra:

Uma vez definida a sintaxe, juntamente com a AST e os parsers, você também terá sintax highlighting, code folding e errors highlighting no Visual Studio. Outras funcionalidades como análise estática, refactoring, navegação e busca por símbolos estarão em breve disponíveis.

O projeto é bastante ambicioso - os desenvolvedores do Nemerle (que também são os desenvolvedores por trás do Nitra) planejam reescrever o Nemerle utilizando Nitra, assim que ele estiver finalizado. Entretanto, o Nitra ainda está em preview e vai levar algum tempo até estar pronto, especialmente com funções como compilação, atualmente inexistentes.

A JetBrains ficou famosa por decidir não utilizar o Roslyn para construir as funcionalidades do Resharper, especialmente porque o Resharper suporta diversas outras linguagens, enquanto o Roslyn é limitado a C# e VB. O Nitra se apresenta como um passo para tornar ainda mais extensível esta arquitetura multi-linguagem. A ativação de serviços de linguagem pela simples definição de uma gramática no Nitra vai permitir à JetBrains suportar novas linguagens de forma rápida, o que é uma das principais diretrizes do projeto.

Acesse o código fonte do Nitra ou sua documentação para conhecer mais sobre o projeto.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT