码迷,mamicode.com
首页 > 其他好文 > 详细

消除左递归

时间:2019-11-14 18:24:50      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:code   img   课堂   width   mic   练习   image   inf   info   

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

   并分别求FIRST集、FOLLOW集,和SELECT集

     E -> E+T | T

     T -> T*F | F

     F -> (E) | i

 技术图片

技术图片

2.P101练习7(2)(3)文法改写,并分别求FIRST集、FOLLOW集,和SELECT集

 

消除左递归:                FIRST集:          FOLLOW集:             SELECT集:

A→aA‘                                 FIRST(A)→{a}        FOLLOW(A)→{d,#}              SELECT(A→aA‘)={d,#}

A‘→ABe|ε        FIRST(A‘)→{a,ε}       FOLLOW(A‘)→{d,#}              SELECT(A‘→ABe)={a}

B→dB‘           FIRST(B)→{d}        FOLLOW(B)→{e}            SELECT(A‘→ε)={d,#}

B‘→bB‘|ε          FIRST(B‘)→{b,ε}        FOLLOW(B‘)→{e}            SELECT(B→dB‘)={e}

                                                SELECT(B‘→bB‘)={b}

                                               SELECT(B‘→ε)={e}

 

 

(3)S→Aa|b

 A→SB

 B→ab

技术图片

课堂练习:

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

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

A->aA

 技术图片

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

技术图片

技术图片

消除左递归

标签:code   img   课堂   width   mic   练习   image   inf   info   

原文地址:https://www.cnblogs.com/miaoxiaowen/p/11858760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!