Nitra:CLR 开源语言工具

  • Roopesh Shenoy
  • 朱伟健

2014 年 6 月 5 日

话题:.NET语言 & 开发

Nitra 是用于处理运行在 CLR 上的编程语言的工具集,JetBrains 前不久将它的源代码公之于众。开发者可以用Nemerle定义语法,然后 Nitra 根据定义来构建语法分析器并产生类,并以此描绘和导航抽象语法树(AST)。

Nitra 能够构建语法块并可以跨语言重用,这是很有趣的功能。Nitra 附带的模块,比如whitespacesCStyleComments,可以很轻松地应用在你自己语言的语法定义中。

使用 Nitra 需要三个步骤:

一旦你定义好句法、抽象语法树和语言分析器,你还能在 Visual Studio 中获得代码高亮、代码折叠和错误高亮的支持。其他功能比如静态分析、重构、导航和字符查找等功能也会很快面世。

这个项目相当得有志向。Nemerle 的开发者(同时也是 Nitra 的幕后开发者)计划在 Nitra 完成后使用它重写 Nemerle。然而,Nitra 仍然处于预览阶段,它还需要些时间来完善自己,尤其是缺少些诸如编译之类的功能。

JetBrains 著名的决定就是不使用 Roslyn支撑他们 Resharper 的功能,特别是 Resharper 要支持许多其他的语言,而 Roslyn 仅仅是面向 C# 和 VB 的。Nitra 看起来让这个多语言架构更加有扩展性。由于仅仅在 Nitra 中定义语法就激活语言服务,JetBrians 将来可以更快的支持新语言,这是该项目的关键驱动因素之一。

你可以通过翻阅Nita 源代码或者这个文档来了解更多信息。

查看英文原文:Nitra: Open Source Language Tooling For CLR

.NET语言 & 开发