今天在宿舍自學(xué)了LR(0)項(xiàng)目集規(guī)范族的構(gòu)造焊切,做了一些小筆記。
首先躏筏,要知道什么是LR(0)項(xiàng)目:在文法G中每個(gè)產(chǎn)生式的右部適當(dāng)位置添加一個(gè)圓點(diǎn)板丽,就構(gòu)成了項(xiàng)目。
例如,對于產(chǎn)生式S->aACbd埃碱,其對應(yīng)六個(gè)項(xiàng)目:
[0]S->?aACbd
[1]S->a?ACbd
[2]S->aA?Cbd
[3]S->aAC?bd
[4]S->aACb?d
[5]S->aACbd?
一般一個(gè)產(chǎn)生式可對應(yīng)的項(xiàng)目個(gè)數(shù)為其右部符號(hào)長度加一猖辫。而空產(chǎn)生式A->ε只有一個(gè)項(xiàng)目A->?,因?yàn)榭债a(chǎn)生式的長度為0砚殿。
圓點(diǎn)左部表示分析過程的某時(shí)刻要用該產(chǎn)生式歸約時(shí)已經(jīng)識(shí)別過的句柄部分啃憎,右部表示期待的后綴部分。
項(xiàng)目[0]意味著要想用S的右部歸約似炎,當(dāng)前輸入串中符號(hào)應(yīng)該是a辛萍。項(xiàng)目[1]表明用該產(chǎn)生式歸約已與第一個(gè)符號(hào)a匹配了,需分析A的右部羡藐。以此類推贩毕,直到項(xiàng)目[5]的右部分析完畢,則句柄形成仆嗦,可以進(jìn)行歸約辉阶。