2010-06-10 73 views

回答

4

IIRC;一般來說,不是因爲某些語言有ll(k)個語法,但沒有ll(1)個語法。所以除非我弄錯了,否則ll(1)的所有ll(k)都可以被轉換。但是,這並沒有說明這樣一種工具的可能性,它可以處理可以完成的情況。


左保規則是:

A := A B | 
    A C | 
    D | 
    E ; 

變爲:

A := (D | E) (B | C)* 

,或者如果你不允許()組和*

A := D A' 
    E A' 

A' := B A' | 
     C A' | 
     nul ; 

訣竅是mes如何處理行動規則的翻譯;如果你的語言支持它,lambda可以在那裏很方便。

+0

實際上,我正在尋找一段代碼來實現左遞歸處理器和Left-Factoring.i只是想要一個非常簡單的語法的簡單示例。 – Mahdi 2010-06-10 17:39:12