编译原理:消除文法中的左递归
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/14 12:24:28
编译原理:消除文法中的左递归
消除文法G1中的左递归后构造预测分析表.
![](http://img.wesiedu.com/upload/3/f8/3f82207107905930532b9d50020a505f.jpg)
消除文法G1中的左递归后构造预测分析表.
![](http://img.wesiedu.com/upload/3/f8/3f82207107905930532b9d50020a505f.jpg)
第一个消除左递归后
S->TS'
S'->-TS'|ε
第二个T消除左递归后
T->FT'
T'->/FT'|ε
然后求STS'T'F的FIRST集和FOLLOW集
first {S} = { ( ,e} follow{S} ={#,)}
first {S'} = {-,ε} follow{S'}={#,)}
first{T} = {(,e} follow{T} ={-,#,)}
first{T'}= {/,ε} follow{T'}={-,#,)}
first(F)={(,e} follow{F}={-,#,),/}
预测分析表:
e ( ) - / #
S TS' TS'
S' ε -TS' ε
T FT' FT'
T' ε ε /FT' ε
F e (S)
再问: ���������⼸�� ��ָ�л http://zhidao.baidu.com/question/680468671167188732.html?quesup2&oldq=1 http://zhidao.baidu.com/question/454915656036153405.html?quesup2&oldq=1 ���ߵȣ���л
S->TS'
S'->-TS'|ε
第二个T消除左递归后
T->FT'
T'->/FT'|ε
然后求STS'T'F的FIRST集和FOLLOW集
first {S} = { ( ,e} follow{S} ={#,)}
first {S'} = {-,ε} follow{S'}={#,)}
first{T} = {(,e} follow{T} ={-,#,)}
first{T'}= {/,ε} follow{T'}={-,#,)}
first(F)={(,e} follow{F}={-,#,),/}
预测分析表:
e ( ) - / #
S TS' TS'
S' ε -TS' ε
T FT' FT'
T' ε ε /FT' ε
F e (S)
再问: ���������⼸�� ��ָ�л http://zhidao.baidu.com/question/680468671167188732.html?quesup2&oldq=1 http://zhidao.baidu.com/question/454915656036153405.html?quesup2&oldq=1 ���ߵȣ���л
编译原理:消除文法中的左递归
编译原理,如何消除文法的左递归
编译原理中,经过消除左递归的文法就一定是LL1文法么?
编译原理题:消除以下文法的公共左因子和左递归
编译原理语法分析中,求first,follow集合时,要消除左递归吗
编译原理题,在建立LL(1)语法分析器时,提左因子和消除左递归的目的是什么.
编译原理 上下文无关文法
编译原理的文法是什么?
编译原理,G:S->Pa|Pb|cP->Pd|Se|f是哪一类文法?A 左线性文法 B 右线性文法 C LL(1)文法
编译原理,改造文法使之变为LL(1)文法,怎么提取最左公因式 如题:
编译原理的LL(1)文法是什么意思?
编译原理,构造上下文无关文法,