我目前正在为某种语言编写解析器。我已经获得了这种语言的语法,但是这种语法有一些左递归和非 LL(*) 结构,因此即使使用回溯,ANTLR 也表现不佳。
因为删除这些左递归和非 LL(*) 构造比乍一看更难,所以我现在想尝试 LR(k) 或 LALR(k) 解析器生成器。 k越高越好。
谁能推荐我一个满足这些要求的解析器生成器?
用于具有大量内存和 CPU 功率的台式机。
谢谢和问候,
约斯特
PS:我问这个不是因为我不能自己用谷歌搜索,而是因为没有时间自己测试一些生成器。因此,请仅在您对推荐的解析器生成器有经验时才回答。
最佳答案
您可能会考虑 LRSTAR 。
我没有使用该工具本身的经验,但我见过作者,他似乎是一个非常称职的人。 (我确实以构建解析引擎和相关技术为生)。
关于parsing - LR(k) 或 LALR(k) 解析器生成器,其特征类似于 ANTLR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12122372/