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.

Avalie esse artigo

Relevância
Estilo/Redação

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
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.