LL(1)分析

LL(1)分析使用顯式棧而不是遞歸調用來完成分析。以標準方式表示這個棧非常有用,這樣LL(1)分析程式的動作就可以快捷地顯現出來。

在這個介紹性的討論中,我們使用了生成成對括弧的串的簡單文法:

S →(S)S

且將額外的棧項推向右邊。輸入符號由左列向右。美元符號標出了輸入的結束(它與由掃描程式生成的 EOF 記號相對應)。給出了由分析程式執行的動作的簡短描述,它將改變棧和(有可能)輸入。

LL(1)分析中的重複和選擇也存在著與在遞歸下降程式分析中遇到的類似問題,而且正是由於這個原因,還不能夠為的簡單算法表達式文法給出一個LL(1)分析表。

LL(1)的含義是:第一個L表明自頂向下分析是從左向右掃描輸入串,第2個L表明分析過程中將使用最左推導,1表明只需向右看一個符號便可決定如何推導,即選擇哪個產生式(規則)進行推導。

相關詞條

相關搜尋

熱門詞條

聯絡我們