编译原理回顾

最近准备复习编译原理,大脑渴望这些数理的抽象知识。
以宫老师的课程为学习材料。
文章做为一个简要的大纲材料,帮助自己回顾理论。

编译过程

  • 词法分析
  • 语法分析
  • 语义分析
  • 中间代码
  • 优化
  • 生成目标代码

词法分析

把文本流转化为token串

  • 正则文法
  • 有限自动机,确定的有限自支DFA,不确定的有限自动机NFA
  • 用NFA分析基础词法

语法分析

把token形成抽象语法树AST

上下文无关文法

  • EBNF
  • 产生式
  • 终结符与非终结符
  • 上下文无关文法定义与线性文法

递归下降算法

  • 如何工作的
  • 有什么特点

LL 算法

因为递归下降算法的缺点(需要不断回溯,来识别生产式),引入LL算法。

为预读多一个token,并介绍 LL 算法,引入 first集合与follow集合概念

按集合方式

LR 算法

学习心得

上面不懂,要反复想,反复想,才能迭代。


编译原理回顾
https://blog.fengcl.com/2020/08/20/principles-of-compiler/
作者
frank
发布于
2020年8月20日
许可协议