2020-编译原理-Parser5-错误恢复
错误恢复
- 恐慌(Panic)模式:丢弃输入、调整状态、假装成功
- 丢弃输入:不断调用词法分析器,直到找到下一个分号
- 调整状态:不断出栈,直到找到一个状态s满足
- 假装成功:将状态压栈,恢复语法分析过程
- 分号作为语句分隔符,可用作同步单词(Synchronizing Word)
- 终结符a作为非终结符A的同步单词(如,),跳出错误时,可能选择跳出的粒度比较小,导致没有实际从错误中跳出,也可能会跳过过多的部分。
- 可为多个非终结符A设置相应的同步单词a
2020-编译原理-Parser5-错误恢复
https://spricoder.github.io/2021/01/16/2020-Compilation-Principle/2020-Compilation-Principle-Parser5-%E9%94%99%E8%AF%AF%E6%81%A2%E5%A4%8D/