Parsing 我可以使用RPython的哪个前端来实现一种语言?
我到处寻找使用RPython工具链实现语言的例子,但到目前为止,我能找到的唯一一个例子是作者编写了一个简单的BF解释器。因为语法非常简单,他不需要使用解析器/词法生成器。是否有一个前端支持在RPython中开发语言Parsing 我可以使用RPython的哪个前端来实现一种语言?,parsing,bison,lex,pypy,Parsing,Bison,Lex,Pypy,我到处寻找使用RPython工具链实现语言的例子,但到目前为止,我能找到的唯一一个例子是作者编写了一个简单的BF解释器。因为语法非常简单,他不需要使用解析器/词法生成器。是否有一个前端支持在RPython中开发语言 谢谢 我不知道有任何专门针对RPython的通用lexer或解析器生成器。一些带有Python输出的应用程序可能会工作,但我不敢打赌。但是,中有一组解析工具。它似乎很有用。OTOH,文档中有一个警告:据报道它仍在开发中,处于实验阶段,目前只用于Prolog解释器 或者,您可以手工编写
谢谢 我不知道有任何专门针对RPython的通用lexer或解析器生成器。一些带有Python输出的应用程序可能会工作,但我不敢打赌。但是,中有一组解析工具。它似乎很有用。OTOH,文档中有一个警告:据报道它仍在开发中,处于实验阶段,目前只用于Prolog解释器 或者,您可以手工编写前端。当然,lexer可能会让人恼火和不自然(您可能可以删除Python实现使用的DFA实用程序模块)。但是如果你知道正确的算法,解析器就是小菜一碟。我非常喜欢“自上而下的运算符优先解析器”,也称为“Pratt解析器”,它们相当简单(递归下降),但所有表达式解析问题(嵌套、优先级、关联性等)都轻而易举。令人沮丧的是,关于它们的信息非常少,但这几篇博文对我来说已经足够了:
- 一个接一个(虽然不推荐,但它会将大量不相关的东西扔进解析器中,从而使其变得模糊)
- 另一个在(使用Python)
- 第三个是一个不幸的甚至不那么有名的家伙,他自己正在发展一门语言