首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#有(直接) flex/yacc端口吗?或者人们对C#使用的是什么词汇/解析器?

C#有(直接) flex/yacc端口吗?或者人们对C#使用的是什么词汇/解析器?
EN

Stack Overflow用户
提问于 2010-06-04 13:39:35
回答 3查看 17.5K关注 0票数 18

我可能错了,但是到目前为止,C#/.NET没有直接的flex/bison (lex/yacc)端口。

对于LALR解析器,我找到了GPPG/GPLEX,对于LL解析器,有著名的ANTLR。但是,我想尽可能地重用我的flex/bison语法。

  • C#有直接的flex/bison端口吗?
  • 人们通常为C#使用的词汇/解析器是什么?有什么选择的理由吗?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-04 17:17:41

我认为您最好的选择是GPLEX/GPPG,这是我所知道的C#中最接近于Yacc/Lex的东西,您需要将您的操作移植到C#中。

我还使用了Coco/R、ANTLR (当然),最近还使用了Irony.net、fslex/fsyacc (F#)和fparsec (F#)。

这里有一些链接

法尔塞特

Coco/R

Irony.net

花园点分析器发生器

花园点莱克斯

我没有一个技术上的理由来使用一种对另一种:我玩这些主要是为了好玩。很多年前,我确实为工作项目创建了一些DSL,但是我把扫描仪/解析器放在上面(当时我主要是在Pascal上工作,我发现TP Lex/Yacc不适合我的口味,而且DSLs已经足够简单了)。我发现FParsec和讽刺最适合我的口味,因为我发现另一个有点“凌乱”(缺乏优雅)。

票数 20
EN

Stack Overflow用户

发布于 2010-06-09 16:15:19

是一个非常成熟(也非常棒)的解析器/词法生成器。它最初生成了Java代码,但现在可以针对几种语言,即包括C#

票数 2
EN

Stack Overflow用户

发布于 2010-06-05 10:19:10

看看"Managed“扩展,这里有一个非常经典的lex和yacc端口。

http://msdn.microsoft.com/en-us/library/bb165037(VS.80).aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2974630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档