0909对编译原理的理解
2015-09-10 15:51
197 查看
编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。
编译原理课程
大学课程为什么要开设编译原理这门课程呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的 必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。 我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。
学习编译原理主要可以通过以下三步:
1. 读书:龙虎鍄,把课后的题目会做的都做一遍。
2. 自己写一个toy compiler,编译一些简单的代码,尝试理解各部分之间如何整合。
3. 看LLVM的代码,试着在上面加一些东西。
这样就入门了,但要真正学好编译器仍然是要与硬件打交道的,可以尝试去大公司编译组学习。
在没有课本之前,如果要我写一个编译器的话,我可能会上网找一些资料,然后根据资料摸索,在不懂的时候再查找资料。
编译原理课程
大学课程为什么要开设编译原理这门课程呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的 必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。 我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。
学习编译原理主要可以通过以下三步:
1. 读书:龙虎鍄,把课后的题目会做的都做一遍。
2. 自己写一个toy compiler,编译一些简单的代码,尝试理解各部分之间如何整合。
3. 看LLVM的代码,试着在上面加一些东西。
这样就入门了,但要真正学好编译器仍然是要与硬件打交道的,可以尝试去大公司编译组学习。
在没有课本之前,如果要我写一个编译器的话,我可能会上网找一些资料,然后根据资料摸索,在不懂的时候再查找资料。
相关文章推荐
- MTK FAQ L nuplayer播放视频暂停被打断,再回到原播放界面,视频画面全黑
- uva 12086 - Potentiometers--树状数组
- java多线程通信之共享数据
- UVA 1616 - Caravan Robbers
- 基于hadoop的推荐算法-mahout版
- poj 1422&&hdoj 1151 Air Raid
- 广州#########
- yum更新时不升级内核的方法
- PHP基础面试题
- 0909我对编译原理的见解
- Hadoop
- CentOS 安装java环境
- Java反射
- MD5处理的字节流注意事项
- 新装VS2015后,创建ASP.NET 5预览版模版报错问题。
- java删除文件和文件夹
- iptables详解
- 转载:PKG_CONFIG_PATH变量 与 ld.so.conf 文件
- hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”
- 深入解析C++中的函数模板和函数的默认参数