美文网首页
GO/ast编程-编译原理剩余部分

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

作者: 温岭夹糕 | 来源:发表于2024-01-13 10:57 被阅读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

    相关文章

      网友评论

          本文标题:GO/ast编程-编译原理剩余部分

          本文链接:https://www.haomeiwen.com/subject/usitndtx.html