0909 编译原理的学习

在21世纪的信息快速发展时代,计算机的技术已经渗入到生活当中。因此,我们需要学习更多的计算机的专业知识。『编译原理』这门课程是一门设计和构造编译程序原理和方法的课程,是计算机各专业的一门重要专业基础课。这门课程旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。 我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。

这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是『编译原理』却一直作为『大学本科』的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器据说花了18年的时间才完成。在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论和技术,而这些理论和技术比一个实际的编译器本身价值更大。就犹如数学家们在解决著名的哥德巴赫猜想一样,虽然没有最终解决问题,但是其间诞生不少名著的相关数论。还有,这门课程实际蕴含着计算机学科中解决问题的思路、形式化问题和解决问题的方法,并且这些思路和方法除了对应用软件的设计与开发具有一定的启发和指导作用外,在提倡创新的时代下具有非常重要意义。根据以上所述,大学就是因为以上原因才开设这么课程的。

我们应该端正意识去学习。首先,编译原理在静态文本处理上有广泛的应用,举个简单的例子,把HTML文件转化为纯文本,利用编译原理来实现”非常”简单.理解了编译原理的实用性,大概可以提高学习兴趣。第二;反复看书: 这个办法看起来最笨,却是基本的方法。忘了是哪位名人说过,书只要多看,总能看得懂的.第三:结合源码来看: 这是经典教材Compiler Design in C的作者Allen Hollub建议的方法。这本教材的特色就是包含了大段yacc,lex的代码.这也是个好方法,而且,只有看懂了代码,才能说在根本上理解了理论。当然,要完全看懂yacc的代码,工作量是很大的,而且同样要先理解理论。

最后,如果没有学习理论课,根本不知如何创建编译器。如果学习了,应该会有一点思路吧。

时间: 2024-08-11 03:26:01

0909 编译原理的学习的相关文章

0909 编译原理个人理解

1.编译原理学什么? 我们可以从中学习到语言及文法的基本知识.词法分析.语法分析.语义分析及中间代码生成.符号表组织.运行时的存储组织与分配.代码优化及目标代码生成等,学习编译器的原理和制作方式. 2.为什么学编译原理? 学习一样技术,不但要知其然,还要知其所以然,这样才能应对技术的不断更新,才能不被技术的发展所淘汰.编译原理就是这样一门课程,它教给我们的不只是编译器构造的基本原理和流程,同时,还教给我们如何严谨地去思考.编写程序,也就是说,它教给我们的还有一种思考问题的方法,即逻辑. 3.怎么

0909 编译原理第1次上机作业

1.答:编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂.我们学习编译原理这门课程讲的就是比较专注解决一种算法的问题. 2.答:学习编译原理可以更好地去追寻程序设计语言的本质,从编译原理的学习中所获得的东西,所思考的东西足以让我终生获益. 3.答:1.端正认识:2.反复看书:3.结合源码来看:4.删繁就简,避重就轻. 4.思考:如果要写一个C语言的编译器,我会把C语言的语法汇总起来,再做一个解释器,再和机器语言进行对比转化.

0909编译原理

1.编译原理学什么? “编译原理”是一门研究设计和构造编译程序原理和方法的课程,是计算机各专业的一门重要专业基础课. 2.为什么学编译原理? 通过学习该课程,掌握编译的基本理论.常用的编译技术,了解编译过程及编译系统结构和机理,更好的理解程序. 3.怎么学编译原理? 实践中学习,当然,需要掌握一些基本知识,通过在课堂中认真听课,运用已有的编程基础多加实践. 4.思考:在没有学习本书理论之前,如果让你写一个编译器,你是什么思路? 之前了解过编译器的原理就是将高级语言翻译成机器语言,但是如何写一个编

0909编译原理作业

1.学习编译原理既掌握编译理论和方法方面的基本知识,而且也获得设计.实现.分析和移植编译程序方面的初步能力.知道程序编译器是怎么编译的,学好了以后可以开发编译器.学会使自己写的程序更优,提高程序的效率.告诉我们编译器是怎么在内存中为程序的函数(包括变量)分配空间的等等. 2.编译原理是计算机专业设置的一门重要的专业课程.虽然只有少数人从事编译方面的工作,但是这门课在理论.技术.方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力.编译原理是计算机科学与技术中一个非常成熟的分支,非

0909 编译原理

1.编译原理学什么? 编译原理是计算机专业的一门重要专业课.内容包括语言和文法.词法分析.语法分析.语法制导翻译.中间代码生成.存储管理.代码优化和目标代码生成. 2.为什么学编译原理? 编译原理是计算机专业设置的一门重要的专业课程.编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂.我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了. 3.怎么学编译原理? 1)提高学习

0909 编译原理 第1次上机

1.编译原理学什么? 答:把用高级编写的源程序翻译成等价的机器语言或者汇编语言. 2.为什么学编译原理? 答:计算机不能够直接接受和执行用高级语言编写的程序,需要通过一个翻译程序将它翻译成等价的机器语言程序才能执行. 3.怎么学编译原理? 答:对现代编译器的结构.词法分析和语法分析实现,代码生成等进行融会贯通,掌握书上内容. 4.思考:在没有学习本书理论之前,如果让你写一个编译器,你是什么思路? 答:对源程序语言与目标程序语言,掌握其语法,语意.要注意,语言与语言之间的差异.例如c++与c,c+

0909 编译原理的理解

编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法.内容包括语言和文法.词法分析.语法分析.语法制导翻译.中间代码生成.存储管理.代码优化和目标代码生成. 个人觉得学习编译原理可以使我更好的了解代码的世界.学习了编译原理我就想医生靠解剖尸体从而了解人的身体构造一样,我可以了解机器的世界.这就是应该去学习编译原理的理由. 我觉得从这几个方面去学习编译原理是比较好的. 首先是教材的学习,然后是去看这个编译世界所推崇的三书,<龙书>,<虎书>,<鲸书&g

0909编译原理理解和解释

编译: 1.利用编译程序从源语言编写的源程序产生目标程序的过程. 2.用编译程序产生目标程序的动作. 所以我们应先多加了解多种程序设计语言. 编译程序是高级语言的支撑基础,是计算机系统中重要的系统软件之一.编译程序的功能是把高级语言源程序翻译成等价的第几语言目标程序. 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的.编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析:语法分析:语义检查和中间代码生成:代码优化:目标代码生

0909 编译原理第一次上机作业

1.编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法.内容包括语言和文法.词法分析.语法分析.语法制导翻译.中间代码生成.存储管理.代码优化和目标代码生成. 2.这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容.编译原理这门课程讲的就是比较专注解决一种的算法了. 3.认真听课,多动手编程.总结经验,巩固知识. 4.(1)对源语言和目标语言认真分析(2)设计编译