1
2
如果您只是将数据合并到一个复杂的模板中,请考虑terence parr的 StringTemplate engine . 他是安特尔背后的人。stringtemplate可能比完整的解析器生成器更适合和更易于使用。这是一个功能非常丰富的模板引擎。 在 downloads . |
2
4
我们用椰子代替以前用的鹿角已经两年了。对于典型的大数据查询(我们的应用程序),我们的经验是这样的。Caveat:我们依赖于完整的UTF-8处理,在C++中实现了解析器。这些数字是针对一种拥有200个ebnf产品的语言。
最初,coco有1.2毫秒的启动时间,并生成了几个60kbyte的表来映射utf-8。我们对coco做了很多本地增强,比如消除了大表,消除了1.2msec的启动时间,极大地增强了内部文档(以及生成的代码中的文档)。 我们的(开源)coco版本与antlr相比占地面积很小,速度非常快,没有启动延迟,只是……作品。它没有鹿角般漂亮的用户界面,但一旦我们开始使用coco,我们就再也没有想过这会成为一个问题。 |
3
3
antlr是ll(*),它和peg一样强大,尽管通常效率和灵活性都要高得多。ll(*)退化为k的ll(k)>1不需要一个任意展望。 |
4
2
基本上,coco/r生成递归下降解析器,只支持ll(1)文法,而antlr使用回溯(以及其他技术),这使得它能够处理更复杂的文法。语法分析器更轻,更容易理解和部署,但有时把语法转换成一种形式,使它理解它的一种前瞻性约束——对于许多常见的编程语言语法(如C++、SQL)来说,这是不可能的。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |