【发布时间】:2010-02-23 19:23:50
【问题描述】:
我正在尝试为一种模板(配置)文件构建一个简单的 LR 解析器,该文件将用于生成其他一些文件。我已经阅读并阅读了有关 LR 解析器的信息,但我似乎无法理解它!我知道有一个解析堆栈、一个状态堆栈和一个解析表。令牌被读入解析堆栈,当规则匹配时,令牌被移动或减少,具体取决于解析表。这会递归地继续,直到所有标记都被减少并且解析完成。
问题是我真的不知道如何生成解析表。我已经阅读了很多描述,但语言是技术性的,我就是不明白。谁能告诉我该怎么做?
另外,我将如何存储我的语法规则之类的东西?
http://codepad.org/oRjnKacH 是我尝试解析的文件示例,我尝试对其语言进行语法分析。
我以前从未这样做过,所以我只是在寻求一些建议,谢谢。
【问题讨论】:
-
如果你想了解LR解析背后的理论,最好的资源是龙书:en.wikipedia.org/wiki/Dragon_Book_%28computer_science%29
-
我在编译器书籍中阅读了一些关于LR解析的描述,但我不明白。在我开始自己弄清楚一些事情之前,我作为最后的手段来到这里。
标签: c++ parsing configuration file