最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

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

关注

评论

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

如何成为一名数据分析师(二)——统计学之描述性统计

Data 探险实验室

数据分析 数据 数据分析师

架构实战营-模块2-作业

Geek_e948d4

网站SEO排名不稳定怎么办?

海拥(haiyong.site)

三周年连更

挑战 30 天学完 Python:Day7 数据类型 - 集合 set

MegaQi

Python 挑战30天学完Python 三周年连更

【坚果派-坚果】OpenHarmony Native开发【一】

坚果

OpenHarmony 三周年连更 napi

软件测试/测试开发/接口测试丨Android 高版本无法抓取 HTTPS

测试人

软件测试 自动化测试 接口测试 测试开发

一文上手文档智能Document Mind

六月的雨在InfoQ

OCR 文档理解 文档转换 三周年连更 Document Mind

进程与线程、并行和并发有啥区别 | 社区征文

共饮一杯无

Java 多线程 三周年征文

软件测试/测试开发丨Python 算法与数据结构面试题

测试人

Python 软件测试 面试题 自动化测试 测试开发

软件测试丨Selenium 自动侦测浏览器版本并下载对应的浏览器驱动

测试人

软件测试 自动化测试 测试开发 selenium

浅谈你对单例类中使用volatile关键字的理解 | 超级详细,建议收藏

bug菌

volatile volatile原理 三周年征文 三周年连更

To B第六年,腾讯过分温柔

脑极体

腾讯

iOS MachineLearning系列(1)——简介

珲少

Java房屋出租系统

timerring

Java

【云原生】Docker—Dockerfile写法与用法以及dockerfile简介与构建镜像详解【附加实战】

A-刘晨阳

Linux Dockerfile 三周年连更

企业过等保不再难,华为云提供一站式安全解决方案

秃头也爱科技

是什么影响了MySQL索引B+树的高度?

架构精进之路

MySQL 数据库 三周年连更

分布式事务的21种武器 - 2

俞凡

架构

Kubernetes 多集群网络方案系列 2 -- Submariner 监控

Se7en

Mysql常用数据类型及其默认值

will

MySQL varchar 数据类型 tinyint

Claude,一个可以无需魔法访问的ChatGPT

派大星

ChatGPT Claude

StoreKit:iOS应用内推广其他App

珲少

NoClassDefFoundError 和 ClassNotFoundException 有什么区别 | 社区征文

共饮一杯无

NoClassDefFoundError 三周年连更 ClassNotFoundException

ER 图是什么?这一篇让你搞懂 ER 图!

产品海豚湾

数据分析 产品设计 ER图 产品架构 业务梳理

Hyperledger(超级账本)的worldstate和SAP CRM的CRMD_CUMULAT_H

Jerry Wang

超级账本 hyperledger 三周年连更

为数据安全保驾护航,华为云助力企业快速安全过“等保”

秃头也爱科技

这一次,带你玩转gRPC框架

海风极客

gRPC Go 语言 三周年连更

消息队列常见的使用场景

程序员大彬

Java、 消息队列

JS字符串的截取出现的bug

格斗家不爱在外太空沉思

JavaScript ES6 三周年连更

软件测试/测试开发丨接口测试用例之间参数调用

测试人

软件测试 自动化测试 接口测试 测试开发 测试用例

Vue3 响应式语法糖

程序员海军

Vue 3 三周年连更

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