如何为 if 和 while 语句编写简单的解析器?
我需要编写一个简单的解析器,将标记转换为解析器树。 我已经编写了返回标记的 LexicalAnalyzer。现在,我想要 为“if and while”语句编写规则(作为开始),这样我可以将此规则传递给解析器,它将创建一棵树。 所以我需要以这种方式编写解析器,这样我就可以编写新的规则。
你能告诉我如何在 C# 中实现它吗?你能给我举个例子吗?
I need to write a simple parser that will convert the tokens to parser tree.
I've already wrote LexicalAnalyzer that returns the tokens. Now, I want
to write rules for "if and while" statements(for the beginning), so I could pass this rules to parser and it will create a tree.
So i need to write the parser in the way, so I could write new rules.
Can you advise me how I can implement it in C#? Can you give me some example?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在递归下降解析器中,如果您有普通的块和表达式解析器,则很容易实现这些语句。在伪代码中,它们基本上是:
和
In a recursive descent parser it's easy to implement these statements if you have the normal block and expression parsers. In pseudo-code, they are basically:
and