免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
41 [报告]
发表于 2008-12-06 22:04 |只看该作者
原帖由 izhier 于 2008-12-5 23:04 发表
现在
只看懂了语法分析和词法分析部分,其他还没看呢!

介绍的挺详细,比国内教材好多了

我特别欣赏这本书讲的编译时内存和CPU中的状态变化,以及代码在这两个硬件上发生的单步改变

这在最底层揭示了代码到硬件执行的转换全过程,从中我明白了C语言怎么能效率更高,功能更好

下个星期开始C++,又要忙了~~希望能得一本,电子版 的看得不爽

论坛徽章:
0
42 [报告]
发表于 2008-12-07 21:53 |只看该作者
我只看过第一版的前5章
虽然没资格评论,但是还是说一下自己的看法。
我判断书好不好的必要条件是看作者的身份.
  aho是编译理论方面的权威, AC, awk的作者, yacc的设计者之一?, unix grep的最早实现者, 著名的科学家
  第一版作者感谢了很多人, 我认识一些重量级的:
   Steven Johnson, yacc的作者
  Brian Kernighan awk之k, K&R之K, 技术作家
   Rob Pike plan9的作者?
   Dennis Ritchie  c语言作者, unix作者
  Bjarne Stroustrup c++作者

前面4章看过好多遍了,  听说编译原理高深的地方是优化, 可是对我来说, 受益最大的往往是这几章讲的知识.
我手头有几本编译方面的书, 像什么鲸书一般人根本看不懂, 编译原理与实践一看就知道和龙书不是一个风格和级别的
看龙书让我感觉到一个科学家应有的气质, 客观, 低调, 高水准, 没有废话, 不缺胳膊少腿.  这在<<编译原理与实践>>中是看不出来的, 这种感觉

是少有的, 虽然像apue, ulk也是好书, 但是还是没到这种级别. 因为我基本只看过这本书, 所以比较也只是感觉上的.

第1章是概述, 如果这本书是看编译的第一本书, 那么可能不会太有感觉, 但是回过头看就能发现也到处都是精华, 特别是介绍各个分析阶段.

第2章是前端的概括, 看完之后不舍得不往下看, 词法分析, 符号表, 抽象堆栈机, 综合, 可读性非常高, 觉不是那种懂的人不用看, 不懂的人不容

易看懂的那种.

第3章 名字叫词法分析, 里面有大量的自动机理论方面的介绍, 正则表达式原理的介绍, 里面给的两个从正则到自动机的实现算法, grep和flex分别

使用了一个, 最后一页提到的压缩方法, flex使用. 看了这一章就会对正则表达式有全新的认识, 看了这一章, 如果还去买<<精通正则表达式>>, 那

绝对是浪费, 后者在我看来就是属于那种懂的不用看, 不懂的看了也懂不了多少的那种, 我买了之后发现有价值的没几页.

第4章 语法分析, 如果完全看懂了, 去分析一个简单的yacc应该是没有问题的, 会发现比较容易.
看完能明白yacc的实现, 在遇到一些使用yacc生成翻译器的代码时能看懂

后面的基本没怎么看, 看了也忘记了, 这是一本应该拥有的书, 就像java程序员也应该拥有K&R一样, 这本书看不看都应该有。

另外aho很帅,而且一看就像科学家,不信去主页http://www1.cs.columbia.edu/~aho/看看  里面有一些资料, 特别是有他写过的书,发表过的文章

论坛徽章:
0
43 [报告]
发表于 2008-12-07 22:01 |只看该作者
有道是拿过龙书翻几遍,不会编译也会吟~

我就算属于那种不会编译但会"吟"几个字的人
这个说的好, 补充几个印象中的评价:

所有现代编译器作者都看过的书
所有现代编译器教材作者都参考的书
几乎所有相关实现者都参考的书
...

论坛徽章:
0
44 [报告]
发表于 2008-12-08 12:50 |只看该作者
大学里学了编译原理,觉得理论性太强了,压根没入门,并且也没用过,看样子还是要在认真学一篇了。

论坛徽章:
0
45 [报告]
发表于 2008-12-08 18:18 |只看该作者
原帖由 disheng727 于 2008-12-8 12:50 发表
大学里学了编译原理,觉得理论性太强了,压根没入门,并且也没用过,看样子还是要在认真学一篇了。

其实你随便在用什么编程语言的时候都在用编译原理,用C语言指针的时候特别是~~~

间接寻址就是指的指针的特殊用法

论坛徽章:
0
46 [报告]
发表于 2008-12-08 19:51 |只看该作者
果然是龙书,第一版我看过相当的不错,有人说现在这些看来没用了,为什么没用呢??我就想不明白,只要是写代码的,就得弄懂编译原理,不但可以懂得原理,里面讲解的实现算法也是相当的精妙。

论坛徽章:
0
47 [报告]
发表于 2008-12-08 22:44 |只看该作者
非常好的一本书,"龙书"从整体上讲述了编译原理的具体概念。
只要你是一个想成为软件高手的人才,就得弄懂编译原理,不但可以懂得原理,里面讲解的实现算法也是相当的精妙。

第一、系统全面的了解了编译原理,理解Java程序设计语言的跨平台原理就不难了。Java程序编译是可运行Java源程序经这一编译过程同C/C++的编译有些不同。当C编译器编译生成一个对象的代码时,该代码是为某一特定硬件平台运行而产生的。因此,在编译过程中,编译程序通过查表将所有对符号的引用转换为特定的内存偏移量,以保证程序运行。过编译链接而形成的java字节码.

第二、“龙书”第一章着重讲了引用,引用就是变量的别名,变量名表当中的相对地址,会不断随着引用方法的不同,而不断发生变化,特别是对于C、C++的最头疼的指针来说,编译程序通过查表将所有对符号的引用转换为特定的内存偏移量,即“龙书”中的间接寻址(第六章),理解了这些,C、C++中艰涩的语句就能理解了

第三、“龙书”(第六章)也谈到了内存对齐,结构体大小涉及到字节对齐,为什么要对齐,编译的时候怎么对齐,内存对齐有什么好处。“龙书”都在编译器一层上做了详细的解答。

[ 本帖最后由 aaaaa5aa 于 2009-1-1 17:24 编辑 ]

论坛徽章:
0
48 [报告]
发表于 2008-12-09 09:46 |只看该作者
原帖由 小公猫 于 2008-12-3 00:48 发表
我看过这本书的第一版,也是本科时候的教材,虽然很经典,但确实有点老了,好像是1986年出的,相信第二版增加不少新的技术,看一下目录就知道变化还是挺大的,尤其是后面几章。
第一版也分12章,从第一章介绍编 ...

看过这本书(或者第一版的)的说不想拿奖品了,没看过的或这看不懂的又发表不了评论,奖品那给谁呢?不过我还是想要的.

[ 本帖最后由 cnhp 于 2008-12-9 09:58 编辑 ]

论坛徽章:
0
49 [报告]
发表于 2008-12-09 10:08 |只看该作者
好书啊,不过看英的太费劲了

论坛徽章:
0
50 [报告]
发表于 2008-12-09 12:35 |只看该作者
原帖由 banggou 于 2008-11-28 09:20 发表
。。没有看到章节的选摘,难道就对目录评论???

目录有链接的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP