I am writing a GLR parser generator並希望在互聯網和死樹種類(針對那些不熟悉怪胎說話的人的書籍)中關於此算法的資源提供一些建議。GLR解析算法資源
我知道Bison可以生成GLR解析器,並且考慮到它在GPL下,我可以檢查它的代碼,但是如果對算法有完整的描述,那將會很好。
那麼,有沒有人知道我可以利用的任何優質資源?謝謝。
I am writing a GLR parser generator並希望在互聯網和死樹種類(針對那些不熟悉怪胎說話的人的書籍)中關於此算法的資源提供一些建議。GLR解析算法資源
我知道Bison可以生成GLR解析器,並且考慮到它在GPL下,我可以檢查它的代碼,但是如果對算法有完整的描述,那將會很好。
那麼,有沒有人知道我可以利用的任何優質資源?謝謝。
一些好東西我在網上以前也遇到過:
四月和用於更詳細地:
我知道第三個開源的GLR解析器:DParser。
非常棒!謝謝。 – ljs 2010-01-26 09:47:08
從我所知道的,它的功能與LALR解析器相同 - 除非遇到歧義。
當它,它基本上分爲對應於在該點的可能的選擇分離解析,並在串聯的與他們繼續 - 當解析失敗(由於遇到非法元件),它被簡單地丟棄,因爲它在早些時候的含糊不清之處肯定是錯誤的猜測。
最後,除了一個解析應該已經死了 - 倖存的一個是對這些模糊點的「正確」解析。
真的那麼簡單嗎?或者是否存在特定的替代GLR算法? – ljs 2010-01-25 00:32:38
這基本上來自我閱讀Bison手冊(http://www.gnu.org/software/bison/manual/bison.html#GLR-Parsers) - 它實際上很清楚GLR解析器的工作原理。 – 2010-01-25 00:35:10
您可能會發現它比這更復雜一點。 – 2010-01-27 05:29:06
我所見過的,有圖片說明的算法的每個步驟的最好的說明,包含在這本書:
對於僞代碼,去源:廣義LR分析富田,第70頁左右。 Farshi的論文包含一個簡潔的描述。
這是我嘗試了qb.js技術(qbasic in javascript)之一。
Adrian Johnstone在高級版本的GLR算法上發表了大量的工作。他的publications website可能會是一個有趣的資源。
非常酷的項目(Terse,而不是解析器生成器),我會隨着它的興趣跟進它的進度。 – 2010-03-09 13:49:24
不幸的是,我被許多事情分心了,所以這個項目已經停滯了,但是......更多的工作將在很快就會開始! – ljs 2010-11-04 17:54:29