We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
ANTLR (没什么可说的)
ANTLR (nothing else to say)
Gold 就解析器生成器而言是可以的。
Gold is OK as far a parser generators go.
块上有一个名为 LLLPG 的新解析器生成器,它支持 LL(k) 语法和零宽度断言。 运行时库是可选的(基类就足够了)。 现在文档已经相当详细了,我已经使用 LLLPG 来解析 C# 方言的大部分内容,称为增强型 C#(实际上,它是 LLLPG 的主要输入语言)。 不过,输入语法不是 EBNF(它有点像 C# + ANTLR 样式代码的混搭)。
完全披露:我写的。 欢迎提问。
编辑:“C# 解析器生成器”的 Google 搜索结果是由一个名叫“Tomassetti”的人编写的,他声称我的解析器生成器“并不能真正独立使用” - 这就像说 PC“不是真正可用”可以用作独立的游戏设备”,因为它还可以进行网页浏览和电子表格。 确实,安装 Visual Studio 扩展后,您必须单独转到 NuGet 并获取运行时库 (Loyc.Syntax),但我不认为这就是他的意思,而且我认为他从未真正尝试过使用它。 LLLPG 的设计是一个功能,而不是一个错误。 我只能说,请尝试一下,然后告诉我您的想法。
There is a new parser generator on the block called LLLPG, that supports LL(k) grammars and zero-width assertions. The runtime library is optional (a base class suffices). The documentation is fairly detailed now, and I have used LLLPG to parse most of a dialect of C# called Enhanced C# (which, in fact, is the main input language of LLLPG). The input syntax is not EBNF, though (it's sort of a mashup of C# + ANTLR-style code).
Full disclosure: I wrote it. Questions welcome.
Edit: the top Google result for "C# parser generator" is written by a guy named "Tomassetti" who claims my parser generator "is not really usable standalone" - that's like saying a PC is "not really usable as a standalone gaming rig" because it can also do web browsing and spreadsheets. True, after installing the Visual Studio extension you must separately go to NuGet and get the runtime library (Loyc.Syntax), but I don't think that's what he means and I don't think he ever actually tried to use it. LLLPG's design is a feature, not a bug. All I can say is, please give it a try and let me know what you think.
您可能需要查看 MinosseCC,它是
JavaCC< 的端口/代码> 到 C#。 另一种可能性是Spart。
You might want to look at MinosseCC, a port of
JavaCC
to C#. Another possibility is Spart.在 http://irony.codeplex.com/ 中查找 Irony
优点:很简单
缺点:-缺乏文件
-相当慢
Find Irony in http://irony.codeplex.com/
PROS: It is simple
CONS: -Lack of document
-Rather Slow
Grammatica 支持 LL(k)。 http://grammatica.percederberg.net/
Grammatica supports LL(k). http://grammatica.percederberg.net/
Coco/R(来自林茨 SSW -“约翰开普勒”大学)
Coco/R (from the SSW - "Johannes Kepler" University Linz)