一、编译原理学习概要

写在前面

写一个编译器是一个非常艰巨的任务,即使现在的编译理论和技术使得编译器的编写周期大大缩短,但是编写一个编译器仍然是一个很困难的工作。因此学习编译原理的主要目的不是去写一个编译器,而是去理解编译的过程,根据编译的原理来优化自己的代码。还可以学习编译原理中一些处理字符的方法。如果掌握得比较好,还可以通过一些生成编译器的插件来写一个简易的编译器,比如JavaCC等等。

其次,在我看来,作为一个程序员,大多数时间都在和高级语言打交道,去了解自己所写的代码是如何被翻译成机器能够直接执行的机器码,是一件很有意思也很有意义的事。就像我在用C++里的STL时,也会思考这么丰富的功能是如何实现的。
如果只是为了应付考试,这门课确实是非常枯燥的,因此,抱着对技术的好奇去学习编译原理是很重要的。

另外,在进行复习的时候参考了哈工大的编译原理慕课,讲得非常好,简洁又容易理解,强烈安利。

学习内容

编译一份代码一般分多个环节进行:
1.词法分析
2.语法分析
3.语义分析和中间代码的生成
4.优化
5.目标代码的生成

在学校的课程中主要学习123环节,45只是稍作了解

由于是自己的总结加笔记,因此难免会有错误。其次,因为复习时间比较紧张,所以不会太深入,内容较少。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值