编译原理知识点笔记

*绪论

1.面向机器——》面向人类

汇编指令:用符号表示的指令
汇编语言:汇编指令的集合称为汇编语言

2.语言之间的翻译

  • 编译与汇编
  • 反编译与反汇编
  • 转换
  • 交叉汇编
    -在这里插入图片描述

3.编译器与解释器

(1)语言翻译的两种基本状态
(2)各自特点

  • 编译器:工作效率高:时间快、空间省;交互性胡动态性差,可移植性差
  • 解释器:工作效率低
    差异:编译器采用先翻译后执行,解释器采用边翻译边执行;区别往往是从形成中间代码之后开始的

4.编译器的工作原理与基本组成

(1)程序设计语言构成 声明+操作 == 完整定义

  • 声明性语句

  • 操作性语句

  • 过程定义 = 过程头 + 过程体
    (2)以阶段划分编译器
    在这里插入图片描述(3)编译器各阶段工作

  • 词法分析:源程序————>记号流

  • 语法分析:记号流————>语法树

  • 语义分析:静态语义检查

  • 中间代码生成:既接近目标语言,又与具体机器无关的表示

  • 中间代码优化:局部优化,循环优化,全局优化

  • 目标代码生成

  • 符号表管理:合理组织符号,便于各阶段查找/填写

  • 出错处理:动态出错、静态出错
    (4)编译器的分析/综合模式

  • 分析部分(前端):

  • 综合部分(后端):
    在这里插入图片描述

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值