我正在写 一个 GLR解析器发生器 并希望在互联网和Dead-Tree品种(不熟悉Geek-Specepeal的人的书籍)上有关与该算法有关的资源的一些建议。

我知道Bison可以生成GLR解析器,并且鉴于它可以在GPL下检查其代码,但是对该算法进行完整的描述是很好的。

那么,有人知道我可以利用的任何好的资源吗?谢谢。

有帮助吗?

解决方案

如果您有该应用程序的解决方案,那么只需收回该应用程序。它将从您的网站中删除整个应用程序。

按照此链接: http://technet.microsoft.com/zh-US / Library / FP161233.aspx

其他提示

阿德里安·约翰斯通(Adrian Johnstone)发表了许多关于GLR算法的高级版本的工作。他的 出版物网站 可能是一个有趣的资源。

我见过的最好的描述,其中包含算法的每个步骤的图片,都包含在本书中:

http://books.google.ca/books?id=05xa_d5dswac&lpg=pa381&dq = generalized%20deterministic%20parsers&pg=pa381#v = onepage&q = generalized;

对于伪代码,请转到来源:tomita的广义LR解析,第70页左右。 Farshi的论文包含一个紧凑的描述。

http://books.google.ca/books?id=pvzizizivqWcc&lpg=pp1&dq = generalized%20lr%20parsing&pg = pa70#v = onepage&q =&f = false

这是我尝试过qb.js的技术之一(JavaScript中的QBASIC).

据我所知,它的功能与LALR解析器相同 - 除非它遇到歧义。

当这样做时,它本质上将其分为与此相对应的单独的解析,并以串联的方式继续与它们继续 - 当解析失败(由于遇到非法元素而失败),它只是放弃了,因为它一定是一个错误地猜测较早的歧义。

最后,除了一个分析外,其他所有解析都应该死了 - 幸存的是那些模棱两可的观点的“正确”分析。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top