第十次作业-消除左递归

1.将以下文法消除左递归,并分析符号串 i*i+i  

     E -> E+T | T

     T -> T*F | F

     F -> (E) | i

解:

(1) E->TE'

     E'->+TE'|ε

(2) T->FT'

      T'->*FT'|ε

 (3) F->(E)|i

     

2.教材101页7(2) (3)

 (2) A->aABe|a

      B->Bb|d

解:S->Aa|b    S->SBa|b

       A->SB

       B->ab

(3) S->Aa|b

     A->SB

     B->ab

3.课堂练习:

求以下文法的FIRST集、FOLLOW集和SELECT集。

S->Ap
A->a |ε
A->cA

A->aA

① FIRST集:

First(S) = First(Ap) ={a,c}

First(a) = {a}

First(cA) = {c}

First(aA) = {a}

② FOLLOW集:

Follow

S->Ap
S->Bq
A->a
A->cA
B->b
B->dB

① FIRST集:

First(S1) = First(Ap) ={a,c}

First(S2) = First(Bq) ={b,d}

First(a) = {a}

First(cA) = {c}

First(b) = {b}

First(dB) = {d}

First(A) = {a,c}   First(B) = {b,d}

② FOLLOW集:

   

猜你喜欢

转载自www.cnblogs.com/hqling/p/11839865.html
今日推荐