0909编译原理

1、编译原理学什么?

  编译原理是计算机专业的一门重要专业课,介绍编译程序构造的一般原理和基本方法。内容包括语言和语法、语法分析、词法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。编译原理关注的是编译器方面的产生原理和技术问题。从本质上来讲就是一个算法问题,与数据结构和算法分析不同,编译原理的算法比较专注解决的一种算法。编译原理这门课程蕴含着计算机学科中解决问题的思路、形式化问题和解决问题的方法,这些思路和方法对应用软件系统软件的设计和开发有一定的启发。

2、为什么学编译原理?

  现在对于一个初学者而言,学习一个自己并不熟悉的课程并讲述其作用,也只是照搬他人的看法而已。就我现在了解的编译原理的作用是令自己加深对C语言,代码的理解,同时锻炼自己程序设计思维能力,学会如何设计出自己想要程序功能,而且学习编译原理有助于自己将来从事软件设计的开发,编译器的设计以及想要考研、考博的必考科目之一。编译原理的作用(1)有助于理解程序的原理,有助于本身程序功力的提升。(2)经常会用到一些工具需要制作,会用到编译原理。比如做一个数据描述语言等等。可以更加容易的理解在一个语言种哪些写法是等价的,哪些是有差异的。可以更加客观的比较不同语言的差异。更不容易被某个特定语言的宣扬者忽悠。学习新的语言是效率也会更高。其实从语言a转换到语言b是一个通用的需求,学好编译原理处理此类需求时会更加游刃有余。

3、怎么学编译原理?

 如何学习编译原理:(1)做好思想准备,不要畏难,书一遍没看懂没关系,要多看几遍,甚至几十遍,不是有句话么:书读百遍,其义自见;还要结合课本后面的习题多做思考和类比,这些都是最基本的办法,在学习的过程中归纳出自己的难点和疑惑点,然后重点突破;
(2)自己动手做一个虚拟机,在虚拟机的基础上开发自己的语言和编译器,加强实践,当然并不需要你把这些做的多么复杂,主要目的还是为了结合理论的学习,是为了更加深刻的理解书本上那些抽象的东西;但是谁又敢说,你不能由此发明了将来流行世界的新的语言和新的编译器呢?

4、答:编译器顾名思义就是作为桥梁用于翻译的,做一个编译器我认为是编译器中包含源代码语言如:c语言,Java等和机器语言,在接收到源代码时进行语法、词法分析,之后中间代码生成,检验,最后生成目标代码。

原文地址:https://www.cnblogs.com/xiaochenxi/p/4798181.html