有关自学编译原理的问题。

来源:百度知道 编辑:UC知道 时间:2024/05/11 17:40:06
目前只学过C语言和数据结构(还没学完)可以看得懂编译原理了吗,如果这些基础足以学习编译原理我该选那本教材?
提醒下我是自学的。还有计算机组成原理看哪个版本的教材较好?

编译原理的"原理"其实跟C语言关系不太大,除非你是想亲手实践一个小型的编译器,对于数据结构,你明白基本的队列和栈基本就够了,如果还没全懂,不必怕看不懂编译原理.
编译原理比较难学,但是在学的过程中我觉得一定要明白每一种词法分析到底是在干什么,不要只为了编译原理的题而学,那样我觉得学起来会非常抽象.
至于书,我觉得还是使用清华大学的<编译原理>,张素琴,吕映芝那本.这本书也是编译原理的经典教材,虽然不是特别好懂,但我觉得这本书你"熟读千遍",肯定会有所收获.把前七章学完,"原理"部分就完毕了.
最好这门课找些视频教程学来会容易一些,否则真是要自己硬看的话还是有一定难度的...

  编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。
  编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。

编译原理挺难的,不过学过C语言和数据结构应该可以看懂了。关于选书,就要看你自己适合什么样的书了,所以先上网看看,觉得自己看了能看下去的就OK了

编译器大致有这么几个功能
一、词法分析,负责解释哪些字符串功能组成词汇(计算机语言的词汇,比如标识符)
二、语法分析,复杂管理一组词汇是否符合语法规则。
三、语义分析(相关书籍中叫“属性文法”),对合法的句子的含义进行解释。
四、中间代码生成、代码优化、目标代码生成等
其中前三个应该算是重点。
其他的部分一般和相关的计算机语言和目标语言有关。

前面三个部分对C语言和数据结构的要求并不高,但是要知道C语言和数据结构的基本知识。无须精通。

学习《计算机组成原理》看由白中英主编的这本书比较好,我推荐你看看。
下面是这本书的一些信息:

题名:计算机组成原理
主编 :白中英
出版发行项:北京-科