Tenth job - to eliminate left recursion

1. The following grammar eliminate left recursion, and analyzed symbol string i * i + i  

     E -> E+T | T

     T -> T*F | F

     F -> (E) | i

solution:

(1) E-> TE '

     E '-> + TE' | e

(2) T->FT'

      T'->*FT'|ε

 (3) F->(E)|i

     

2. materials page 1017 (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. Workshop:

Seeking the following grammar FIRST set, FOLLOW sets and SELECT sets.

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集:

 

 

 

   

 

 

Guess you like

Origin www.cnblogs.com/hqling/p/11839865.html