生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

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:551951
用户头像

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

关注

评论

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

数字资产助力未来十年打赢数字经济战

CECBC

数字经济

机器学习笔记之:

Nydia

诊所数字化从预约开始

boshi

数字化医疗 七日更 线上预约

【译文】工作六年后,我对软件开发的认知转变

Zhendong

程序员 软件开发

Elasticsearch dynamic mapping

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

翻译:《实用的Python编程》01_03_Numbers

codists

Python

日记 2021年2月15日(周一)

Changing Lin

2月春节不断更

week12-homework

J

中国科学家突破区块链核心技术

CECBC

区块链

保持模块的兼容性

Rayjun

go modules Go 语言

SpringMVC专栏 第1篇 - 快速入门

小马哥

Java spring Spring MVC 七日更 二月春节不断更

第十二周课后作业

Binary

第十二周学习总结

Binary

ElasticSearch.01-简介

insight

elasticsearch 2月春节不断更

熬夜7天,我总结了JavaScript与ES的25个重要知识点!

我是哪吒

学习 程序员 面试 大前端 2月春节不断更

Tomcat异常: Unable to process Jar entry [module-info.class] from Jar

小马哥

Java maven 七日更 二月春节不断更

松耦合

sinsy

设计模式 RabbitMQ

【STM32】串口通信出现乱码(使用官方标准库)

AXYZdong

硬件 stm32 2月春节不断更

公路交通区块链技术的痛点问题和典型场景应用

CECBC

区块链

今日出门

Nydia

工作学习累了?试试 GitHub 上的那些简单易学的游戏项目吧!

JackTian

GitHub 开源 游戏 2月春节不断更

深入 Python 解释器源码,我终于搞明白了字符串驻留的原理!

Python猫

Python 编程

记一次有意思的微信视频号直播

小匚

产品经理

深入理解gradle中的task

程序那些事

Java maven Gradle 程序那些事 构建工具

华为 MPLS的数据转发流程

艺博东

华为

Idea应用启动时WEB-INF/lib无效标记问题处理

程序员架构进阶

Java IntelliJ IDEA 七日更 2月春节不断更

10. 比找女朋友还难的技术点,Python 面向对象

梦想橡皮擦

Python 2月春节不断更 python入门

面试官系列:你对Spring事件发布和广播监听有了解吗?

后台技术汇

面试 2月春节不断更

《我们脑中挥之不去的问题》 - 卓克科普(3)

石云升

读书笔记 科普 2月春节不断更

JUnit速查手册

jiangling500

Java JUnit

【LeetCode】最大连续1的个数Java题解

Albert

算法 LeetCode 2月春节不断更

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