编译原理:文法转换
发布时间:
更新时间:
👀 阅读量:
文法转换
- 例
⚠️
同一非终结符的多个候选式存在共同前缀,将导致回溯现象
- 例
⛔
左递归文法会使递归下降分析器陷入无限循环
概念
💡
含有形式产生式的文法称为是直接左递归
如果一个文法中有一个非终结符A使得对某个串a存在一个推导,那么这个文法就是左递归的
经过两步或两步以上推到产生的左递归成为是间接左递归的
消除直接左递归
ℹ️
事实上,这种消除过程,就是把左递归转换成了右递归
更一般地
⚠️
消除左递归是要付出代价的---引进了一些非终结符和_产生式
消除间接左递归
例
提取左公因子
例
文法G
文法
ℹ️
通过改写产生式来推迟决定,等读入了足够多的输入,获得足够信息后再做出正确的选择
留言评论