NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Nitra:CLR 开源语言工具

  • 2014-06-05
  • 本文字数:619 字

    阅读完需:约 2 分钟

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

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

使用 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

2014-06-05 20:551957
用户头像

发布了 21 篇内容, 共 64633 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

可读代码编写炸鸡三 - 审美

多选参数

代码质量 代码 代码注释

可读代码编写炸鸡四(上篇) - 来写注释

多选参数

代码质量 代码 代码注释

架构师训练营第四周总结:互联网架构概要

hifly

高可用 高性能 极客大学架构师训练营 互联网架构

父亲节会员礼遇免费送,联想来酷重点发力"健康赛道"

Geek_116789

架构师训练营 第4周作业

坂田吴奇隆

极客大学架构师训练营

架构师训练营 No.4 周总结

连增申

分布式计算DAG1-画猫

Hervor。

第四周学习总结

李白

架构师训练营-第4周总结

坂田吴奇隆

极客大学架构师训练营

第三周总结

李白

程序员面试与 HR 谈薪资技巧

张小方

程序员 面试 offer 年终奖 月薪

架构师训练营 - 系统架构

Pontus

极客大学架构师训练营

架构师训练营 - 作业 - 第四周

心在飞

极客大学架构师训练营

一个大型互联网应用采用的技术方案和手段

李白

时间管理的本质到底是什么?

非著名程序员

程序员 提升认知 时间管理

架构师训练营第 04周——总结

李伟

极客大学架构师训练营

Mac开发环境 React Native0.60 环境 安卓环境Java变量 及~/.zshrc文件配置

蛋蛋

React

消息队列(六)如何处理消费者故障导致的百万消息积压?

奈何花开

Java MQ 消息队列

架构师训练营第四周作业

Bruce Xiong

第三周作业

李白

作业 - 第4周

Happy-Coming

印度下黑手!59款中国APP被禁用,微信微博QQ抖音等在列

程序员生活志

JDBC拾遗

qihuajun

数据库周刊30丨数据安全法草案将亮相;2020数据库产业报告;云南电网上线达梦;达梦7误删Redo Log;Oracle存储过程性能瓶颈;易鲸捷实践案例……

墨天轮

MySQL 数据库 oracle mongodb 周刊

出海蓝军先锋联想来酷,今夏再征"丝路"

Geek_116789

架构师训练营——第四周作业

jiangnanage

猿灯塔:关于Java面试,你应该准备这些知识点

猿灯塔

面试

为什么大公司一定要使用DevOps?

张启华

自己动手编译一个HEIF图片转jpeg工具(Mac平台)

GeorgeMR

HEIF HEIC jpeg 图片

真棒! 20 张图揭开内存管理的迷雾,瞬间豁然开朗

小林coding

Linux 操作系统 计算机基础 内存管理

Python中进行None判断时,为什么用is而不是==

王坤祥

Python 编程 进阶 计算机基础

Nitra:CLR开源语言工具_.NET_Roopesh Shenoy_InfoQ精选文章