|
|
1
17
我亲自发现了这篇文章, Grammars and Parsing with C# 2.0 是编写lexer/parsers的一个很好的介绍,其中有一些与c相关的例子。 我写 a brief blog post 关于它,不久前,做它赞美。好的是,它的目标是完全初学者解析理论(它提供了理论的背景和实现),并逐步采取措施。当然,如果你想继续学习这个领域更先进的想法,你将需要各种其他资源,但我认为这是一个很好的基础。 |
|
|
2
4
如果您确实想学习如何编写解析器,这可能不是您的答案,但是如果您只想解析和处理解析结果,那么您应该明确地查看 Irony.net . 它是一个帮助实现语言(使用.NET)的工具包。 |
|
|
3
2
安特尔: 这是学习语法和解析器的好方法 |
|
|
4
1
C自2.0以来已经取得了长足进步。最近添加的表达式树和动态类型使实现编译器更有趣。 Here is a tutorial 关于如何在codeproject.com的C 4.0中创建解释器。 |
|
|
5
0
更困难的是,这看起来可能有点太高级了,看看单语法分析器组合器。Lukeh的博客上有一篇很棒的博文: http://blogs.msdn.com/lukeh/archive/2007/08/19/monadic-parser-combinators-using-c-3-0.aspx 一旦你掌握了基础知识,它就可以很清楚地定义解析器。 |
|
|
6
0
我所读过的学习解析成语的最好的书是“小语言”。 如果您能够掌握System.Text.RegularExpressions的.NET源代码,您还将看到如何构建解析器的现实实现。 贾斯汀·罗杰斯在他的博客上发表了一些关于如何构建通用解析器的优秀文章: 最后,如果你想进入解析器和语法的新世界,你真的应该在读“奥斯陆”以及如何使用M和MGramar语言。在解析结果对象图并将其转换为其他可用形式时,它们将给予您很大的灵活性。 Justin的文章可能是最容易和最简单的,可以用一个构建在.NET上的原始解析器来启动和运行。 |