- 1
- 0
- 约小于1千字
- 约 5页
- 2026-02-14 发布于河南
- 举报
1)不带回溯的自上而下分析算法
a)消除左递归。
i.什么是左递归:
ii.消除直接左递归,消除间接左递归。
b)消除直接左递归。
c)消除左递归算法。
注:1)若非终结符排列顺序不同,改写后的文法也不同,但它们是等价
的。
d)消除回溯
i.产生回溯的原因:进行推导时,若产生式存在多个候选式,选择哪个
候选式进行推导存在不确定性。
ii.消除回溯的基本原则:对文法的任何非终结符,若能根据当前读头下
的符号,准确的选择一个候选式进行推导,那么回溯就可以消除。
注:之所以会产生回溯是因为在推导匹配的过程中存在虚假匹配。
iii.消除回溯的方法:预测与提左因子
iv.根据读头下符号选择候选式,使其第一个符号与读头下符号相同,或
该候选式可推导出的第一个符号与读头下符号相同。这相当于向前
看了一个符号,所以称为预测。注:使用了预测之后,选择候选式
不再是盲目的了,所以也就无需回溯。
v.求候选式的终结首符集。
vi.采用预测方法后PDA的运行。
vii.提取公共左因子。
原创力文档

文档评论(0)