编译原理总体介绍

程序执行的方式

  • 先编译后执行
  • 边解释边执行

编译过程

  • 识别单词(拼写正确
  • 语法检查(顺序格式
  • 语义理解(合理
  • 组织译文(符合原文

工作逻辑

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

词法分析

  • 分析字符序列
  • 识别单词:种别、属性
  • 查词法错误
  • 标识符等级

语法分析

  • 分析单词序列
  • 识别语法结构
  • 查语法错误
  • 构造分析树


    image.png

语义分析

  • 确认标识符的属性

    • 类型、作用域等
  • 语义检查

    • 运算的合法性、取值范围等

    • 比如字符串+数字

  • 子程序的静态绑定

    • 代码存储的相对地址
  • 变量的静态绑定

    • 数据存储的相对地址

生成中间代码

  • 中间语言

    • 机器无关

    • 易于优化与转换

    image.png

代码优化

image.png

目标代码生成

  • 中间代码——>目标机的机器指令代码或汇编代码


    image.png

编译程序的逻辑过程

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。