我对编译原理的小小了解

    编译原理是什么?

    编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。在我看来,编译原理就是编译过程的基本思路,是高级语言和机器语言之间的沟通桥梁。

    学习编译原理有什么好处?

    这门课程关注的是编译器方面的产生原理和技术问题。该课程作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。

  编译原理的教材都是分成词法分析,语法分析,语义分析,运行时环境,中间代码,代码生成,代码优化这些部分。本来说,作为一个编译器,起作用的部分就是用户输入的源程序到最终的代码生成。但是在讲解最终代码生成的时候,又不得不讲解机器运行环境等内容。因为如果你不知道机器是怎么执行最终代码的,那么你当然无法知道如何生成合适的最终代码。这些东西都是我们编写平常程序的时候经常要做的事情,但是我们却少去探求其内部是如何完成。简单的来说,你想制作一个东西出来,那你肯定得知道制作的原理。假如连原理都不知道,那只是照着图纸画葫芦而已。那不学编译原理有什么损失?很简单,你不知道原理,没有学到该方面的知识,没能让自己在该方面的能力和思维得到相应的提高。
   如何学习编译原理?

   编译原理的课程是讲解原理的课程,而原理的课关注讲解其基本理论。所以,首先需要反复看书,这个办法看起来最笨,却是基本的方法.其次,结合源码来看。因为只有看懂了代码,才能说在根本上理解了理论.然后删繁就简,避重就轻,提高学习兴趣。

原文地址:https://www.cnblogs.com/cs007/p/5857548.html