免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Send_linux
打印 上一主题 下一主题

2008年12月有奖书评赠书活动:《编译原理》(原书第2版)(样章更新) [复制链接]

论坛徽章:
0
81 [报告]
发表于 2008-12-24 15:58 |只看该作者
原帖由 jjj137 于 2008-12-19 16:53 发表


呵呵,多谢版主~
不过之前已经在网上找到了China-pub放出的试阅,看了看,果然不愧是强书啊。

由于不是学软件的,本身没有学过编译原理,看了CU的活动,才知道原来还有“龙书”这么一本巨著。
赶快到 ...


网上好多都不全,试读完了觉得好,还是看真书比较好

论坛徽章:
0
82 [报告]
发表于 2008-12-24 20:08 |只看该作者

回复 #1 Send_linux 的帖子

非常好的一本书,我们就是用他的。比起国内的哪些垃圾。这个真的好很多,这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。在20世纪 50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器据说花了18年的时间才完成。在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论和技术,而这些理论和技术比一个实际的编译器本身价值更大。就犹如数学家们在解决著名的哥德巴赫猜想一样,虽然没有最终解决问题,但是其间诞生不少名著的相关数论 。。。

论坛徽章:
0
83 [报告]
发表于 2008-12-24 21:40 |只看该作者
我想要书,不知道有没有这个机会!

论坛徽章:
0
84 [报告]
发表于 2008-12-25 00:16 |只看该作者
原帖由 liuxuejin 于 2008-12-24 20:08 发表
非常好的一本书,我们就是用他的。比起国内的哪些垃圾。这个真的好很多,这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成 ...

http://www.8go.com.cn/tech/p300/J30036913.shtml
这82楼完全就是抄的嘛

编译原理学习导论
        大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理与技术问题,似乎与计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容.编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂.我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了.在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第一fortran的编译器据说花了18年的时间才完成.在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论与技术,而这些理论与技术比一个实际的编译器本身价值更大.就犹如数学家们在解决著名的哥德巴赫猜想一样,虽然没有最终解决问题,但是其间诞生不少名著的相关数论.

论坛徽章:
0
85 [报告]
发表于 2008-12-25 11:17 |只看该作者
原帖由 0vk0 于 2008-12-25 00:16 发表

http://www.8go.com.cn/tech/p300/J30036913.shtml
这82楼完全就是抄的嘛

编译原理学习导论
        大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理与技术问题,似乎与计算机的基 ...


哈哈
举报有效~

论坛徽章:
0
86 [报告]
发表于 2008-12-25 20:30 |只看该作者

学习编译原理的首选

编译原理一般认为是较难的一门课.从网上的评论来看,有人说学了一年半软件理论,就一门编译看不懂;有人甚至说它是大本软件课程里最难的一门;有人抱怨国内的编译教材没有一本容易懂的。很多人以为编译原理只能应用在写程序语言的编译器上,觉得用处不大,学习兴趣不高。

其实编译原理对了解计算机编程语言原理有非常大的帮助。明白了编译原理,那学习C语言Pascal语言等等一类的编程语言就变得非常容易,而且你就不会问“为什么+=要从右到左,而*要从左到右”这种问题了!而且学得好的话,还可以深入到C语言编译原理等等!

“龙书”《编译原理》第一版就享有盛誉,第二版再续辉煌。前阵子去研究PHP解析器的源代码,但是读代码的时候发现很多不懂地方,好像PHP是怎么样把PHP脚本编译成中间代码然后再执行?PHP是怎么样解析switch语句的等等这样的问题,原因是PHP解析器有很多关于编译原理的知识,所以没有编译原理的基础是很难读得懂源代码的!

在3.5章中,作者介绍了词法分析器生成工具Lex~为什么我要特意说这章呢?因为在你用过Lex之后你就会发现原来词法分析也不是太难,而且用过Lex之后,你会发现自己不能离开他,因为Lex非常强大,配合上Yacc的话就天衣无缝了!!在这章中,作者讲的很好,很清晰。不过还是不过详细,可能因为太多的知识面要涉及,不能什么都很详细。不过大体上还是不错的!!

在4.9章节中介绍了语法分析器的生成工具Yacc,而且还介绍了用Lex创建Yacc的词法分析器,讲解到位,其实学会了Lex和Yacc就可以编写一个简单的语言解析器了,本人就用这两个工具写了一个简单的BASIC解析器了!所以大家有兴趣的话可以深入了解这两个工具!!

另外在介绍正则表达式的章节也很不错的!!可以了解到正则表达式的强大和魅力!!!

“龙书”是编译原理界龙头大哥,对编译原理的讲解可以说是面面独到!虽然编译原理是一门高深的学问,但是“龙书”却可以以简单的语言来陈述。而且在书本上有不少的插图帮助阅读,使读者阅读时更清晰明了。读了《编译原理》的几章,觉得本书比市面上很多的同类书籍有很大的优势,如语言组织,排版和内容的权威性等等。

要学好计算机技术就学好编译原理吧,要比别人强就学好编译原理吧,想可以在计算机事业上有所作为就学好编译原理吧!!要学好编译原理就读“龙书”吧!!

毫无疑问,“龙书”是学习编译原理的首选之书!

[ 本帖最后由 liexusong 于 2009-1-15 20:43 编辑 ]

论坛徽章:
0
87 [报告]
发表于 2008-12-25 20:56 |只看该作者
还可以免费给啊。。。可是没有这个机会了。。自己没有这么好的机会,也没有这个能力啊。。。只能自己有钱的时候自己买一本看看了啊

论坛徽章:
0
88 [报告]
发表于 2008-12-27 11:00 |只看该作者

编译原理

编译原理是计算机学科中较难的一门课,这本书和国内其他相比较,涉及的内容非常广。普遍说编译原理难学。我也发表点看法。
其实编译原理本身是很多经常技术的综合。但是这些技术并不是一些非常晦涩的技术。人们普遍感觉编译原理难学,我认为主要是有以下几个障碍。
第一个就是所选用的教材。目前,国内选用的编译原理教材基本上就几种,国防科技大学陈老师的,清华大学出版社的,还有一本就是我上学时候用过的32开的黄皮的,已经忘记是谁写的了。中国科技大学陈意云的教材好像也是一本知名教材。但是我感觉国内教材普遍都有一个缺点,都是以PASCAL语法作为讲解范例,目前大部分学生学习的都是C/C++语言,这一点对于已经掌握了C/C++语言,并且已经有了程序设计经验的人可能没什么,但是对于一个新接触编译的学生,会给他造成很大的障碍。当初我就吃过这个苦。aho的书里面能够全面照顾C语言,的确是容易看懂好多。

第二点,就是国内教材章节之间太孤立了。当初看完教材后,感觉每一张的技术都掌握了,考试也没问题了(因为考试也知识考单一的技术,比如LALR文法,词法分析等等),但是我却没有一个如何编写出一个编译器的整体概念。一般,教材的第一,第二章应该着重介绍编译原理总体技术架构。让学生了解到后面每个章节都分别是在解决编译器构造环节中的哪方面问题。这样有目的的学习效果会好很多。国内教材的概论部分往往过于简单,只是一个框图就应付了事了。aho的书的第一,第二章个人认为是这本书的最大亮点。因为他实际的实现了一个简单的编译器。同时,指名了其中具体技术将会在哪章中讨论。也许新学者看这两章会有一点困难,但是就算是复习再看,将会给学生们一个编译原理的整体架构,一个roadmap。编译原理涉及的技术很多,如果没有一个roadmap,那么学生往往会出现以下情况:对每个单一的知识点都掌握了,但是却不知道这个知识点是干什么的!就好像一个差的钢笔,在纸上画下了一串的点,而不是一条连续的线。

第三点,就是对编译原理中单一技术点的理解问题。会者不难,难者不会。这句成语我认为有两方面理解。1 你将要学习的技术其实不难。二你将要学习的技术的文字表达难于被你理解接受。对于编译原理就是这样,其实编译原理中每个技术点并不难。就以求FIRST集合为例子吧,其实说白了就是求这个文法生成的句子中,所有打头的字母的集合(看这句是不是也感觉很拗口啊),但是书中为了表达准确清晰的意思,就需要使用很多的符号,定语。这样使得读者很难理解。这一点是不可避免的,因为科学必须要严紧准确。但是如何改善这个情况,能更好的理解这个技术呢?我认为就是要弄清楚当前你在学习的技术的目的是什么。该技术要去解决什么问题。如果你能够有目的的去学习一个技术点,那么这个技术一定会很快被掌握的。aho的书总是先提出问题,然后去讨论解决方法。这一点很好。国内的书似乎对这点的重视不够。

论坛徽章:
0
89 [报告]
发表于 2008-12-27 16:16 |只看该作者
原帖由 袋鼠 于 2008-12-24 15:58 发表


网上好多都不全,试读完了觉得好,还是看真书比较好

袋鼠也玩儿这个?

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
90 [报告]
发表于 2008-12-29 15:38 |只看该作者
原帖由 0vk0 于 2008-12-25 00:16 发表

http://www.8go.com.cn/tech/p300/J30036913.shtml
这82楼完全就是抄的嘛

编译原理学习导论
        大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理与技术问题,似乎与计算机的基 ...

呵呵,放心,到时候,我们会有所考证的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP