0

Left recursion對於構建在遞歸下降解析基礎上的許多解析器生成器似乎是一個大問題。我正在尋找一種基於PEG的解析器生成器來支持它 - 無論使用何種語言。是否有支持左遞歸的基於PEG的解析器生成器?

+0

PEGs不支持左遞歸,正如維基百科所說 - 「PEG無法在規則引用自身而不在字符串中向前移動的情況下表達左遞歸規則。」雖然可能有一些嘗試去除左遞歸。 – delnan 2011-04-28 13:10:45

+0

好吧,我打開PEG轉換或刪除左側遞歸沒有用戶干預。 – 2011-04-28 13:13:28

+1

[可以處理左遞歸的任何PEG分析器?]的可能重複(http://stackoverflow.com/questions/4397039/any-peg-parser-capable-to-handle-left-recursion) – bummi 2015-01-03 18:45:27

回答

0

我的語法分析器生成器AustenX(scratchy.nz/austen.php)支持左遞歸(包括間接),其中選項順序很重要(儘管我從來沒有想過寫出這個工作原理)。它的核心是Packrat解析器,但記憶可以被丟棄,並沒有什麼區別。

相關問題