编译原理回顾
最近准备复习编译原理,大脑渴望这些数理的抽象知识。
以宫老师的课程为学习材料。
文章做为一个简要的大纲材料,帮助自己回顾理论。
编译过程
- 词法分析
- 语法分析
- 语义分析
- 中间代码
- 优化
- 生成目标代码
词法分析
把文本流转化为token串
- 正则文法
- 有限自动机,确定的有限自支DFA,不确定的有限自动机NFA
- 用NFA分析基础词法
语法分析
把token形成抽象语法树AST
上下文无关文法
- EBNF
- 产生式
- 终结符与非终结符
- 上下文无关文法定义与线性文法
递归下降算法
- 如何工作的
- 有什么特点
LL 算法
因为递归下降算法
的缺点(需要不断回溯,来识别生产式),引入LL算法。
为预读多一个token,并介绍 LL 算法,引入 first集合与follow集合概念
按集合方式
LR 算法
学习心得
上面不懂,要反复想,反复想,才能迭代。
编译原理回顾
https://blog.fengcl.com/2020/08/20/principles-of-compiler/