编译原理 语法分析问题,30分全给了!救人对下面文法G:S->SaA|bBA->aB|cB->Bb|d1.消除该方法的左递归.2.计算消除左递归后的方法的每个非终结符的FIRST集和FOLLOW集.3.判断方法是否为LL(1)方法,若是
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/31 03:50:16
![编译原理 语法分析问题,30分全给了!救人对下面文法G:S->SaA|bBA->aB|cB->Bb|d1.消除该方法的左递归.2.计算消除左递归后的方法的每个非终结符的FIRST集和FOLLOW集.3.判断方法是否为LL(1)方法,若是](/uploads/image/z/13222302-6-2.jpg?t=%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86+%E8%AF%AD%E6%B3%95%E5%88%86%E6%9E%90%E9%97%AE%E9%A2%98%2C30%E5%88%86%E5%85%A8%E7%BB%99%E4%BA%86%21%E6%95%91%E4%BA%BA%E5%AF%B9%E4%B8%8B%E9%9D%A2%E6%96%87%E6%B3%95G%EF%BC%9AS-%3ESaA%7CbBA-%3EaB%7CcB-%3EBb%7Cd1.%E6%B6%88%E9%99%A4%E8%AF%A5%E6%96%B9%E6%B3%95%E7%9A%84%E5%B7%A6%E9%80%92%E5%BD%92.2.%E8%AE%A1%E7%AE%97%E6%B6%88%E9%99%A4%E5%B7%A6%E9%80%92%E5%BD%92%E5%90%8E%E7%9A%84%E6%96%B9%E6%B3%95%E7%9A%84%E6%AF%8F%E4%B8%AA%E9%9D%9E%E7%BB%88%E7%BB%93%E7%AC%A6%E7%9A%84FIRST%E9%9B%86%E5%92%8CFOLLOW%E9%9B%86.3.%E5%88%A4%E6%96%AD%E6%96%B9%E6%B3%95%E6%98%AF%E5%90%A6%E4%B8%BALL%EF%BC%881%EF%BC%89%E6%96%B9%E6%B3%95%2C%E8%8B%A5%E6%98%AF)
xAKAǿJJf4S+M.ѠL@0]Wjb(=HjܤC)_3eRӾo?/p;!ǼEwQBu,&~AݶWp߶,h>29kOԨfR
r *KAyj}lTϪVr{k|+̯Gݿ&g
<0 ߴ)LϿWɩ_RBr):6am-Ex/鿤{`=KXg_Xɿ65+5Jd +iPq;!xvv_[Sz"&cy9/W\lTAJ
sƭ
y>鏫kjdf]+@IF0X6 E)
5WǤWV>SOlO zFQp<_WMj"fN]O,<W4NXW}Y
编译原理 语法分析问题,30分全给了!救人对下面文法G:S->SaA|bBA->aB|cB->Bb|d1.消除该方法的左递归.2.计算消除左递归后的方法的每个非终结符的FIRST集和FOLLOW集.3.判断方法是否为LL(1)方法,若是
编译原理 语法分析问题,30分全给了!救人
对下面文法G:
S->SaA|bB
A->aB|c
B->Bb|d
1.消除该方法的左递归.
2.计算消除左递归后的方法的每个非终结符的FIRST集和FOLLOW集.
3.判断方法是否为LL(1)方法,若是请构造它的预测分析表.
麻烦把过程写下,
编译原理 语法分析问题,30分全给了!救人对下面文法G:S->SaA|bBA->aB|cB->Bb|d1.消除该方法的左递归.2.计算消除左递归后的方法的每个非终结符的FIRST集和FOLLOW集.3.判断方法是否为LL(1)方法,若是
1.
S->bBS'
S'->aAS'|ε
A->aB|c
B->dB'
B'->bB'|ε
2.
First(S)={b}
First(S')={a,ε}
First(A)={a,c}
First(B)={d}
First(B')={b,ε}
Follow(S)={#}
Follow(S')={a,#}
Follow(A)={a}
Follow(B)={a}
Follow(B')={a}
3.不是LL(1)文法,因为
SELECT(S'->aAS')∩SELECT(S'->ε)={a}∩{a,#} ={a}≠空集
SELECT(A->aB)∩SELECT(A->c)={a}∩{c}=空集
SELECT(B'->bB')∩SELECT(B'->ε)={b}∩{a}=空集