编译原理感悟

1、编译原理就是什么?

  编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。

  编译就是将源代码当作字符串的集合进行处理,转化为目标汇编代码。说白了就是对字符串的一个处理的过程,但是要将源代码转化为正确的目标汇编代码是个很复杂的,需要严密的数学逻辑,这样就造成了编译的复杂性。

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

通过学习该课程,掌握编译的基本理论、常用的编译技术,了解编译过程及编译系统结构和机理。另外,通过学习了解编译过程能更好的掌握开发软件的基本原理和对开发软件工具的需要,从而对软件的开发有跟深的了解。

3、不学有什么损失?

作为一个软件开发专业的学生,以后学的每门高级语言即使学得再好也就只是懂得了表层意思,

却不能知道它在下层是如何运行的。你学习它更多的是去追寻程序设计语言的本质,如它在寄存器

分配中将会使用到贪心算法,死代码消除中将会使用到图论算法,数据流分析中使用到的Fixed-Po

int Algorithm,词法分析与语法分析中使用到有限状态机与递归下降这样的重要思想等等,也许你

以后不会成为一个编译器开发工作者,但是编译原理的学习中所获,所思的东西足以让你终生获益。

4、如何学习编译原理?

编译原理是计算机专业课程中很有挑战性的一门课程,理论上高度抽象,而且要求扎实的数学功底,在实践上也对数据结构的知识要求比较高。但是编译原理又是计算机科学中最为基础和重要的,所以把编译原理这门课学好对于计算机专业的人来讲是至关重要的。

  做好思想准备,不要畏难,书一遍没看懂没关系,要多看几遍,甚至几十遍,不是有句话么:书读百遍,其义自见。还要结合课本后面的习题多做思考和类比,这些都是一些最基本的办法,在学习的过程中归纳出自己的难点和疑惑点,然后重点突破。一步一步把教材书啃完,在入门之后不断深入,挖掘出自己想要的知识。

时间: 2024-11-04 13:30:39

编译原理感悟的相关文章

编译原理初感悟

1.编译原理就是什么? 个人理解,编译就是像翻译一样,将一种语言翻译成另一种语言,编译就是将高级语言或汇编语言翻译成电脑能识别的二进制机器语言,编译原理就是讲解这个编译的过程.内容包括语言和文法.词法分析.语法分析.语法制导翻译.中间代码生成.存储管理.代码优化和目标代码生成. 编译原理是计算机专业设置的一门重要的专业课程.虽然只有少数人从事编译方面的工作,但是这门课在理论.技术.方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力. 2.学习编译原理有什么好处? 学习编译原理可

9.8对编译原理的初步认识

编译原理的第一节课,老师为我们分享了几个网站(网站详情本文最底下),是有关于网友们对编译原理这门学问的看法.在别人的眼中,让我们初步领略<编译原理>的气息. 刚开始老师带领我们进入编译原理的世界,为我们介绍了编译原理的三大圣书——龙书.虎书和鲸书,可见在编译原理是一门多大的学问. 编译原理就是什么? 所谓编译,我们能够通俗的想到“翻译”这个词.一个编译程序就是一个语言翻译程序,语言翻译程序把一种语言(源程序)书写的程序翻译成另一种语言(目的语言)的等价程序. 就是程序员编写的高级语言翻译成计二

编译原理123

1.编译原理就是什么? 个人理解,编译就是像翻译一样,将一种语言翻译成另一种语言,编译就是将高级语言或汇编语言翻译成电脑能识别的二进制机器语言,编译原理就是讲解这 个编译的过程.内容包括语言和文法.词法分析.语法分析.语法制导翻译.中间代码生成.存储管理.代码优化和目标代码生成. 编译原理是计算机专业设置的一门重要的专业课程.虽然只有少数人从事编译方面的工作,但是这门课在理论.技术.方法上都对学生提供了系统而有效的训练,有 利于提高软件人员的素质和能力. 2.学习编译原理有什么好处? 学习编译原

编译原理的理解

编译原理内容包括语言和文法.词法分析.语法分析.语法制导翻译.中间代码生成.存储管理.代码优化和目标代码生成.大一点的应用可以做到一定的技术先进性,从而让你在本行业站稳脚跟:分析和分解用户输入的SQL语句,理解是否有害和是否有SQL注入等.如果不学,对于不是不是本行业的人来说就没损失,如果是本行业的专业人士,不学只会令自己的编译理解更慢.

编译原理

1.编译原理是什么? (1)就是对程序语言进行翻译: (2)介绍编译程序构造的原理和基本方法: (3)从本质上讲是一个算法问题: 2.学习编译原理有什么好处? (1)接触一些新的算法,如,贪心算法,图论算法等: (2)学习一些新的思想,如,有限状态机,递归下降等: (3)多了一项技能: 3.不学有什么损失? (1)将来出社会可能比较难混: (2)不学好这门课程期末可能不及格: (3)有学不一定有用,不学肯定没用: 4.如何学习编译原理? (1)上课跟上老师的步伐,课前预习,课后复习: (2)多从

编译原理第二次作业 编译器任务总结

在学习了编译原理后我开始明白编译的工作原理了,也更了解编译语言的结构.明白了编译器的编写中需要注意的各项问题,更了解了编译器的编译过程为我之后的编程提供了一些必不可少的经验,还是我的改错能力有所提高.因为写编译器使我在编程发生错误后能及时了解程序在编译过程中的原理是什么,这样我就能知道我的程序是何处的问题. 而且在学习编译原理的时候,学到了一些比较难理解的东西,通过实践不断地消化书本上的理论,最终就会有一个雏形出现.而且在编写的过程时候有一些不知道如何解决的问题时,我就会和组员讨论以得出一个可行

编译原理简单介绍

编译原理学习导论 大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容.编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂.我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了.在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第

编译原理基础概念介绍

关于编译原理 语法树 句柄 简单短语 短语 的区分,通过两个例子来理解概念以及方法: 例子1——语法树 S -> a|b|(T)  T -> TdS|S Vt={a,b,d,(,)}.Vn={S,T},S是开始符 句型(Sd(T)db)是S的一个推导,其中___是句柄;____是最左素短语:____是该句型的直接短语,_____是短语.     素短语的概念:它是一个递归的定义,至少含有一个终结符,并且除它自身之外不再含任何更小的素短语,所谓最左素短语就是处于句型最左边的素短语的短语.而一个算

编译原理之扫描器

https://github.com/zzusunjs/Scanner 编译原理实验课要求自己实现一个简单一些的扫描器. 我是用c++实现的.具体的原理的话,完全是按照书上的算法实现的,也没有什么特别难懂的地方,不过想要写的比较完备的话还是有一定难度的. Go ->  preProcess() -> init() -> delete-space() ->  Scanner() -> 首字符 ->.... 代码大致的结构就是上面的那个样子.