编译原理1

本学期学习编译原理,挺难的,但只要搞懂了会发现挺有意思的,分享一下自己学习整理的笔记。

编译原理是程序员的基础课之一,希望大家也要努力学好,加油加油!!!

建议放大看

  • 编译阶段:
    • 前端:(依赖于语言不依赖目标机)
      • 词法分析:读取源程序,单词分类
      • 语法分析:分析单词,组成单词序列
      • 语义分析:审查语法错误
    • 分界线:生成中间代码:生成结构简单、含义明确的记号系统
    • 后端:(依赖目标机,一般不依赖语言)
      • 代码优化:对中间代码优化
      • 生成目标代码:将中间代码转换成机器指令(汇编指令)
  • 编译程序的结构:
    • 六个阶段的程序
    • 表格管理程序:源程序的信息保留在许多不同的表格中,编译的各个阶段涉及了构造、查找、更新这些表格
    • 出错处理程序:源程序编译过程出错,需报告错误性质和发生地点,缩小影响范围,使其余部分继续执行
  • ”遍“和”趟“
    • 多遍,少内存,时间长
    • 少遍,多内存,时间短
  • 编译程序与解释程序的区别
    • 编译程序:把源代码一次性翻译成目标代码,程序才能运行;只需要编译一次,程序就可以以机器速度运行
    • 解释程序:不需事先把源代码翻译成目标代码,而是一行一行地翻译代码,并生成结果;交互性好,但每次运行代码都需要翻译,且速度慢,空间开销大
  • 处理源程序的软件工具
    • 语言的结构化编辑器
    • 语言程序的调试工具
    • 程序格式化工具
    • 语言程序的测试工具
    • 程序理解工具
    • 高级语言转换工具

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值