GO/ast编程-编译原理剩余部分

2024-01-13  本文已影响0人  温岭夹糕

目录

链接地址

1.语义分析

又叫类型检查或上下文相关分析,负责检查抽象语法树的上下文相关属性(语法分析是利用上下文无关文法),包括:

再通俗点解释:
语法分析阶段,我们只能判断一个句子是不是合法,即是否符合文法,不能给出句子的含义,句子的含义是通过语义分析体现出来的,如下,我们就能知道该句子是要进行求和运算

3+4
语义分析就会去检测加号两边的子树结构是否合法,即相同类型,所以又叫类型检查 image.png

1.1符号表

符号表数据结构用来存储程序中的变量相关信息,如类型、作用域和访问控制信息等,符号表用来帮助语义分析进行上下文相关分析

2.编译器后端

image.png

2.1代码生成

image.png
image.png

3.代码优化

又叫编译优化,为什么需要进行代码优化?

  1. 源语言和目标语言有差异
  2. 程序员编写的代码不是最优的,编译器帮忙纠正
  3. 让程序比以前更小,更快等
优化的时机: image.png

4.编译过程总结

image.png
上一篇下一篇

猜你喜欢

热点阅读