第四章作业及相关知识点
一、第一题知识点
1、消除左递归
P→Pα|β等价于P→βP′(P′为新增加的非终结符),P′→αP′|ε
2、判断一个上下文无关文法是LL(1)文法
一个上下文无关文法是LL(1)文法的充分必要条件是,对每个非终结符的两个不同的产生式,A→α,A→β,满足:SELECT(A→α)∩SELECT(A→β)=φ
3、求select集
设G=(VT,VN,S,P)α∈V∗
$FIRST(α)={a|α==*> aβ,a∈V_T}
若α==∗>ε,则SELECT(A→α)=FIRST(α)
若α==∗>ε,则SELECT(A→α)=(FIRST(α)−ε)∪FOLLOW(A)
4、求first集
设G=(VT,VN,S,P)α∈V∗
$FIRST(α)={a|α==*> aβ,a∈V_T}
若α==∗>ε,则ε∈FIRST(α)
FIRST(α)是α的所有可能推导的首遇终结符号或ε,是选择产生式的依据。
5、求follow集
A∈VN
FOLLOW(A)=a|S==∗>…Aa…,a∈VT
若S==∗>…A,则#∈FOLLOW(A)
'#'—输入串的结束符 也可看作是句子的括号 #S#
FOLLOW(A)表示了句型中可能紧跟在A后面的终结符号
6、构造预测分析表
设有文法G,预测分析表构造过程:
- 计算所有候选式α的首符集 FIRST(α)
- 计算所有非终结符A的后继符集FOLLOW(A)
- 计算所有产生式的SELECT(A→α)集合
- 构造预测分析表 M
本文作者:风归去
本文链接:https://www.cnblogs.com/N-lim/p/16981377.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步