BT

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

Contribuir

Tópicos

Escolha a região

Início Notícias Nitra: Ferramental Open Source para Linguagens no CLR

Nitra: Ferramental Open Source para Linguagens no CLR


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.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT