首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Coco/R诉ANTLR

Coco/R诉ANTLR
EN

Stack Overflow用户
提问于 2010-04-27 15:03:59
回答 4查看 5.6K关注 0票数 6

我正在评估如何使用Coco/R在C#项目中使用,这是本质上是一种可编写脚本的邮件合并功能的一部分。要解析(简单)脚本,我需要一个解析器

我专注于Coco/R和ANTLR,因为两者似乎都相当成熟和维护良好的,并且能够生成像样的C#解析器。

然而,这两种方法似乎都不容易使用,而simplicity是我喜欢的东西--特别是其他人的

有人有什么建议要提吗?分析一种小型语言的利弊是什么--或者我正在彻底地研究错误的事情?如何将这些集成到一个典型的连续集成设置中?什么是陷阱?

相关:很多问题,比如123.4.5

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-27 15:12:09

如果您只是将数据合并到一个复杂的模板中,请考虑Terence的StringTemplate引擎。他是ANTLR的幕后黑手。StringTemplate可能比一个完整的解析器生成器更适合并更易于使用。这是一个非常功能丰富的模板引擎。

在C#中有一个可用的下载端口。

票数 2
EN

Stack Overflow用户

发布于 2014-02-14 17:52:01

我们使用可可已经两年了,已经取代了我们以前使用的安特勒。对于一个典型的大数据查询(我们的应用程序),我们的经验是这样的。注意:我们依赖于完全的Utf-8处理,解析器是用C++实现的。这些数字适用于一种语言,该语言有大约200个EBNF产品。

  • Antler: 260个usecs/query和一个108 the的内存占用空间,用于生成解析器/lexer
  • Coco: 220个usecs/query和一个70 KBYTE内存占用空间用于解析器/扫描器

最初,Coco的启动时间为1.2msecs,并生成了几个60 KBYTE表来映射Utf-8。我们对Coco进行了许多本地增强,例如消除大表、消除1.2m秒启动时间、大幅增强内部文档(以及生成代码中的文档)。

与Antlr相比,我们版本的(开放源码) Coco占用的空间很小,而且速度非常快,没有启动延迟,只是.很管用。它没有Antler的良好的UI,但这从来没有进入我们的脑海,成为一个问题,一旦我们开始使用可可。

票数 4
EN

Stack Overflow用户

发布于 2010-04-28 19:05:44

ANTLR是LL(*),它与PEG一样强大,尽管通常更高效和灵活。LL(*)退化为LL(k),对于k>1,一个任意的查找是不必要的。

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

https://stackoverflow.com/questions/2722315

复制
相关文章

相似问题

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