当前位置:首页 » 编程软件 » 编译原理龙书第三版怎么样

编译原理龙书第三版怎么样

发布时间: 2025-07-12 04:11:53

① 为什么要学习编译原理(转)

大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器据说花了18年的时间才完成。在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论和技术,而这些理论和技术比一个实际的编译器本身价值更大。就犹如数学家们在解决着名的哥德巴赫猜想一样,虽然没有最终解决问题,但是其间诞生不少名着的相关数论。 推荐参考书 虽然编译理论发展到今天,已经有了比较成熟的部分,但是作为一个大学生来说,要自己写出一个像TurbocC,Java那样的编译器来说还是太难了。不仅写编译器困难,学习闷数编译原理这门课程也比较困难。 第一本书的原名叫《CompilersPrinciples,Techniques,andTools》,另外一个响亮的名字就是龙书。原因是这本书的封面上有条红色的龙,也因为獗臼樵诒嘁朐?砘?嘴域确实?忻?所以很多国外的学者都直接取名为龙书。最近机械工业出版社已经出版了此书的中文版,名字就叫《编译原理》。该书出的比较早,大概是在85或86年编写完成的,作者之一还是着名的贝尔实验室的科学家。里面讲解的核心编译原理至今都没有变过,所以一直到今天,它的价值都非凡。这本书最大的特点就是一开始就通过一个实际的小例子,把编译原理的大致内容罗列出来,让很多编译蚂罩首原理的初学者很快心里有了个底,也知道为什么会有这些理论,怎么运用这些理论。而这一点是我感觉国内的教材缺乏的东西,所以国内的教材都不是写给愿意自学的读者,总之让人看了半天,却不知道里面的东西有什么用。 第二本书的原名叫《ModernCompilerDesign》,中文名字叫做《现代编译程序设计》。该书由人民邮电出版社所出。此书比较关注的是编译原理的实践,书中给出了不少的实际程序代码,还有很多实际的编译技术问题等等。此书另外一个特点就是其现代而字。在传统的编译原理教材中,你是不可能看到如同Java中的垃圾回收等算法的。因为Java这样的解释执行语言是在近几年才流行起来的东西。如果你想深入学习编译原理的理论知识,那么你肯定得看前面那本龙书,如果你想自己动手做一个先进的编译器,那么你得看这本《现代编译程序设计》。 第三本书就是很多国内的编译原理学者都推荐的那本《编译原理及实践》。或许是这本书引入国内比较早吧,我记得我是在高中就买了这本书,不过也是在前段时间才把整本书看完。此书作为入门教程也的确是个不错的选择。书中给出的编译原理讲解也相当细致,虽然不如前面的龙书那么深入,但是很多地方都是点到为止,作为大学本科教学已经是十分深入了。该书的特点就是注重实践,不过感觉还不如前面那本《现代编译程序设计》的实践味道更重。此书的重点还是在原理上的实践,而非前面那本那样的技术实践。《编译原理及实践》在讲解编译原理的各个部分的同时,也在逐步实践一个现代的编译器TinyC.等你把整本书看完,差不多自己也可以写一个TinyC了。作者还对Lex和Yacc这两个常用的编译相关的工具进行了很详细的说明,这一点也是很难在国内的教材中看到的。 推荐了这三本教材,都有英文版和中文版的。很多英文好的同学只喜欢看原版的书,不我的感觉是这三本书的翻译都很不错,没有必要特别去买英文版的。理解理论的实质比理解表面的文字更为重要。 编译原理的实质 几乎每本编译原理的教材都是分成词法分析,语法分析(LL算法,递归下降算法,LR算法),语义分析,运行时环境,中间闷悉代码,代码生成,代码优化这些部分。其实现在很多编译原理的教材都是按照85,86出版的那本龙书来安排教学内容的,所以那本龙书的内容格式几乎成了现在编译原理教材的定式,包括国内的教材也是如此。一般来说,大学里面的本科教学是不可能把上面的所有部分都认真讲完的,而是比较偏重于前面几个部分。像代码优化那部分东西,就像个无底洞一样,如果要认真讲,就是单独开一个学期的课也不可能讲得清楚。所以,一般对于本科生,对词法分析和语法分析掌握要求就相对要高一点了。 词法分析相对来说比较简单。可能是词法分析程序本身实现起来很简单吧,很多没有学过编译原理的人也同样可以写出各种各样的词法分析程序。不过编译原理在讲解词法分析的时候,重点把正则表达式和自动机原理加了进来,然后以一种十分标准的方式来讲解词法分析程序的产生。这样的做法道理很明显,就是要让词法分析从程序上升到理论的地步。 语法分析部分就比较麻烦一点了。现在一般有两种语法分析算法,LL自顶向下算法和LR自底向上算法。LL算法还好说,到了LR算法的时候,困难就来了。很多自学编译原理的都是遇到LR算法的理解成问题后就放弃了自学。其实这些东西都是只要大家理解就可以了,又不是像词法分析那样非得自己写出来才算真正的会。像LR算法的语法分析器,一般都是用工具Yacc来生成,实践中完全没有比较自己来实现。对于LL算法中特殊的递归下降算法,因为其实践十分简单,那么就应该要求每个学生都能自己写。当然,现在也有不少好的LL算法的语法分析器,不过要是换在非C平台,比如Java,Delphi,你不能运用YACC工具了,那么你就只有自己来写语法分析器。 等学到词法分析和语法分析时候,你可能会出现这样的疑问:词法分析和语法分析到底有什么?就从编译器的角度来讲,编译器需要把程序员写的源程序转换成一种方便处理的数据结构(抽象语法树或语法树),那么这个转换的过程就是通过词法分析和语法分析的。其实词法分析并非一开始就被列入编译器的必备部分,只是我们为了简化语法分析的过程,就把词法分析这种繁琐的工作单独提取出来,就成了现在的词法分析部分。除了编译器部分,在其它地方,词法分析和语法分析也是有用的。比如我们在DOS,Unix,linux下输入命令的时候,程序如何分析你输入的命令形式,这也是简单的应用。总之,这两部分的工作就是把不规则的文本信息转换成一种比较好分析好处理的数据结构。那么为什么编译原理的教程都最终把要分析的源分析转换成树这种数据结构呢?数据结构中有Stack,Line,List这么多数据结构,各自都有各自的特点。但是Tree这种结构有很强的递归性,也就是说我们可以把Tree的任何结点Node提取出来后,它依旧是一颗完整的Tree。这一点符合我们现在编译原理分析的形式语言,比如我们在函数里面使用函树,循环中使用循环,条件中使用条件等等,那么就可以很直观地表示在Tree这种数据结构上。同样,我们在执行形式语言的程序的时候也是如此的递归性。在编译原理后面的代码生成的部分,就会介绍一种堆栈式的中间代码,我们可以根据分析出来的抽象语法树,很容易,很机械地运用递归遍历抽象语法树就可以生成这种指令代码。而这种代码其实也被广泛运用在其它的解释型语言中。像现在流行的Java,.NET,其底层的字节码bytecode,可以说就是这中基于堆栈的指令代码的。 关于语义分析,语法制导翻译,类型检查等等部分,其实都是一种完善前面得到的抽象语法树的过程。比如说,我们写C语言程序的时候,都知道,如果把一个浮点数直接赋值给一个整数,就会出现类型不匹配,那么C语言的编译器是怎么知道的呢?就是通过这一步的类型检查。像C++语言这中支持多态函数的语言,这部分要处理的问题就更多更复杂了。大部编译原理的教材在这部分都是讲解一些比较好的处理策略而已。因为新的问题总是在发生,旧的办法不见得足够解决。 本来说,作为一个编译器,起作用的部分就是用户输入的源程序到最终的代码生成。但是在讲解最终代码生成的时候,又不得不讲解机器运行环境等内容。因为如果你不知道机器是怎么执行最终代码的,那么你当然无法知道如何生成合适的最终代码。这部分内容我自我感觉其意义甚至超过了编译原理本身。因为它会把一个计算机的程序的运行过程都通通排在你面前,你将来可能不会从事编译器的开发工作,但是只要是和计算机软件开发相关的领域,都会涉及到程序的执行过程。运行时环境的讲解会让你更清楚一个计算机程序是怎么存储,怎么装载,怎么执行的。关于部分的内容,我强烈建议大家看看龙书上的讲解,作者从最基本的存储组织,存储分配策略,非局部名字的访问,参数传递,符号表到动态存储分配(malloc,new)都作了十分详细的说明。这些东西都是我们编写平常程序的时候经常要做的事情,但是我们却少去探求其内部是如何完成。 关于中间代码生成,代码生成,代码优化部分的内容就实在不好说了。国内很多教材到了这部分都会很简单地走马观花讲过去,学生听了也只是作为了解,不知道如何运用。不过这部分内容的东西如果要认真讲,单独开一学期的课程都讲不完。在《编译原理及实践》的书上,对于这部分的讲解就恰到好处。作者主要讲解的还是一种以堆栈为基础的指令代码,十分通俗易懂,让人看了后,很容易模仿,自己下来后就可以写自己的代码生成。当然,对于其它代码生成技术,代码优化技术的讲解就十分简单了。如果要仔细研究代码生成技术,其实另外还有本叫做《》,那本书现在由机械工业出版社引进的,十分厚重,而且是英文原版。不过这本书我没有把它列为推荐书给大家,毕竟能把龙书的内容搞清楚,在中国已经就算很不错的高手了,到那个时候再看这本《》也不迟。代码优化部分在大学本科教学中还是一个不太重要的部分,就是算是实践过程中,相信大家也不太运用得到。毕竟,自己做的编译器能正确生成执行代码已经很不错了,还谈什么优化呢? 编译原理的课程毕竟还只是讲解原理的课程,不是专门的编译技术课程。这两门课程是有很大的区别的。编译技术更关注实际的编写编译器过程中运用到的技术,而原理的课

② 想学电脑买什么书好关于自学电脑买啥书比较好

❶ 推荐计算机基础知识学习的书籍

大学计算机基础资料网络网盘资源免费下载

https://pan..com/s/1Six2stp9YnHUQbgNBAUxvA提取码:ek8j

大学计算机基础|5PPT视频|4Excel视频|3Word综合视频|2Word单项视频|计算机二级(AOA)考前提醒20160413.pdf|单项题&判断题(胡秋芬).pdf|5PPT真题.rar|5PPT视频.rar|4Excel真题.rar|4Excel视频.rar|3Word综合真题.rar|3Word综合视频.rar|2Word单项真题.rar|2Word单项视频.rar

❷ 想学IT应该买什么书看

首先,我觉得你需要明确自己的发展方向,你想学习的课程起码串联起来是个完整的体系,以后能够帮助你就业

书籍整理如下:

C++开发

1.《C++ Primer》:全面学习C++的必备书籍

2.《Thinking in C++》:了解C++背后的一些机制

3.《深度探索C++对象模型》:深入了解C++,也是学习COM的必经之路

Windows平台

入门

1.《Windows程序设计》:这本书主要讲的是Windows API的使用,是Windows编程入门书籍。上册涉及到的知识基本上就够用了,时间不充裕的话阅读上册即可。

2.《Win32多线程程序设计》:Windows下多线程编程必备

3.《Windows核心编程》:Window平台基础知识:消息机制,内存管理,多线程,动态链接库等

4.《Windows网络编程》:介绍Windows下各种网络协议的开发和并发处理模型。

进阶

1.《深入浅出MFC》:Windows下编程,MFC虽然有些过时,但其机制还是有学习的价值。重点学习书中提到的MFC 6大机制

2.《COM本质论》:COM是Windows构建用户态的重要技术之一,Windows开发必修课,本书对COM的设计动机作了深入阐述

3.《深入解析ATL》:ATL全名Active Templete Library,是用C++的模版封装了COM,这本书主要讲的是对源码分析

4.《WTL White Paper》:WTL源自微软,基于ATL的一套开源模版库,主要用于界面编程和工具类的使用

5.《代码大全》:这边书主要讲的是工程编码规范

高级

1.《深入解析Windows操作系统》:Windows大牛书籍,讲的主要是Windows操作系统的内核原理

调试技术

1.《软件调试》

2.《Windows高级调试》

3.《windows用户态程序高效排错》

Linux平台

Linux内核

1.《Linux Kernel Development》/《Linux内核设计与实现》:Robert Love的着作,不厚的一本书,深入浅出地将Linux内核娓娓道来

Linux使用和Shell编程

1.《sed & awk》/《sed与awk》:sed与awk都是Linux下常用的日志分析利器

Linux编程

1.《Beginning Linux Programming》/《Linux程序设计》:老牌的Linux编程入门书

2.《Advanced Programming in the Unix Environment》/《Unix环境高级编程》:对Unix编程环境做了细致的总结,涵盖了进程间通讯、网络通讯、文件系统等各方面的知识

网络编程

1.《TCP/IP Illustrated, Volume I》/《TCP/IP详解,卷一》:对理解TCP/IP协议的设计理念和协议细节有显着的帮助。

2.《Unix Network Programming》/《Unix网络编程》,卷一、卷二:网络编程方面难以逾越的着作,事无巨细、深入浅出,强烈推荐

对这些书目抱有100%的信心,全部掌握,融会贯通,即可打通奇经八脉,天下无双。

对了,你没有基础最好从c与c++基础开始。找些基础书开始看。

[C语言入门经典(第四版)].(美)霍顿.扫描版,《C++ Primer》就不错。

❸ 学计算机买什么书好

《计算机组成原理》

是清华大学出版社出版的图书,作者是蒋本珊。
《计算机组成原理》系统地介绍了计算机的基本组成原理和内部工作机制。《计算机组成原理》共分8章,主要内容分成两个部分:第1、2章介绍了计算机的基础知识;第3~8章介绍了计算机的各子系统(包括运算器、存储器、控制器、外部设备和输入输出子系统等)的基本组成原理、设计方法、相互关系以及各子系统互相连接构成整机系统的技术。
《计算机组成原理》讲述了计算机的一般原理,并注意到与实际应用相结合。全书内容由浅入深,每章之后均附有习题,便于自学。
《计算机组成原理》可以作为高等院校计算机及相关专业“计算机组成原理”课程的教材,也可供从事计算机工作的工程技术人员参考。
蒋本珊北京理工大学计算机科学技术学院教授,主要研究方向是嵌入式片上系统(SOPC)、软硬件协同设计。主讲“计算机组成原理”等课程二十余年,具有丰富的教学经验,多次获得北京市和北京理工大学教学优秀成果奖,被评为三育人和师德先进个人。正式出版教材和教学参考书十余本,其中1本被评为北京市精品教材,3本入选教育部普通高等教育“十一五”国家级规划教材。主持和参与科研项目5项,主持教学改革立项1项,其中主持开发的计算机组成实验多媒体教学软件荣获北京市高教学会优秀软件二等奖。
《计算机操作系统》

是2003年武汉大学出版社出版的图书,作者是黄水松。本教材全面系统地介绍了现代计算机操作系统的基本概念、原理和实现方法。全书共分十二章,第一章讲述了现代操作系统的发展概况;第二章至第十章分别阐述了操作系统的基本原理 、概念和实现方法,包括中断技术。
进程和线程的管理、进程的同步和通信,存储器管理,虚似存储器,处理机调度,死锁问题,设备管理和文件系统;第十一章介绍了,第十三章介绍Windows2000/XP操作系统,并较详细地分析了这两个系统的基本结构、主要的功能模块及其相互之间的关系。
本书吸收了国内外近几年出版的同类教材的优点,内容丰富,既可以作为计算机和相关专业的教材,也可作为从事计算机工作人员的参考书。
《计算机网络》

是2008年电子工业出版社出版的图书,作者是谢希仁。该书全面系统地介绍了计算机网络的发展和原理体系结构、物理层、数据链路层等内容。
《计算机网络》是由谢希仁编写的国内外使用最广泛、最权威的计算机网络经典教材。自1989年首次出版以来,于1994年、1999年和2003年分别出了修订版。2006年8月本教材通过了教育部的评审,被纳入普通高等教育“十一五”国家级规划教材。《计算机网络》的第5版,在内容和结构方面都有了很大的修改。
全书分为10章,比较全面系统地介绍了计算机网络的发展和原理体系结构、物理层、数据链路层、网络层、运输层、应用层、网络安全、因特网上的音频/视频服务、无线网络和下一代因特网等内容。可供电气信息类和计算机类专业的大学本科生和研究生使用,对从事计算机网络工作的工程技术人员也有学习参考价值。
《计算机网络》的特点是概念准确、论述严谨、内容新颖、图文并茂。突出基本原理和基本概念的阐述,同时力图反映出计算机网络的一些最新发展。《计算机网络》可供电气信息类和计算机类专业的大学本科生和研究生使用,对从事计算机网络工作的工程技术人员也有学习参考价值。
在讲述网络各层次内容的同时,还与时俱进地引入了最新的网络技术,包括无线网络、3g蜂窝网络、rfid与传感器网络、内容分发与p2p网络、流媒体传输与ip语音,以及延迟容忍网络等。另外,《计算机网络》针对当前网络应用中日益突出的安全问题,用了一整章的篇幅对计算机网络的安全性进行了深入讨论,而且把相关内容与最新网络技术结合起来阐述。
《数据结构》

本书可作为计算机类专业的本科或专科教材,也可以作为信息类相关专业的选修教材,讲授学时可为50至80。教师可根据学时、专业和学生的实际情况,选讲或不讲目录页中带**的章节,甚至删去第5,8,11和12章。本书文字通俗、简明易懂、便于自学,也可供从事计算机应用等工作的科技人员参考。只需掌握程序设计基本技术便可学习本书。若具有离散数学和概率论的知识,则对书中某些内容更易理解。如果将本书《数据结构》(C语言版)
《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参考教材。
本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。其内容和章节编排与1992年4月出版的《数据结构》(第二版)基本一致,但在本书中更突出了抽象数据类型的概念。全书采用类C语言作为数据结构和算法的描述语言。
本书概念表述严谨,逻辑推理严密,语言精炼,用词达意。并有配套出版的《数据结构题集)(C语言版)。既便于教学,又便于自学。
本书后附有光盘,光盘中含有可在DOS环境下运行的以类C语言描述的“数据结构算法动态模拟辅助教学软件,以及在Windows环境下运行的以类PASCAL或类C两种语言描述的“数据结构算法动态模拟辅助教学软件”。
本书可作为计算机类专业或信息类相关专业的本科或专科教材,也可供从事计算机工程与应用工作的科技工作者参考。

❹ 有哪些适合电脑小白的自学书籍推荐

我向你推荐首先是《电脑入门完全自学手册》,它共分15章,包括电脑的软硬件知识、基本操作、WirldowsVista的基础操作、个性化设置、常用附件、管理文件资源、输入文字、安装与卸载软件、Word2007文档处理、Excel表格制作、PowerPoint幻灯片放映、网络连接、浏览器、网络即时通信工具、电子邮件、常用工具软件的使用、对电脑和系统进行安全与日常维护等内容。适用读者群没有任何电脑经验的初学者;公司办公人员;电脑爱好者;想在短时间内全面掌握电脑操作的读者。

❺ 适合电脑初学者的书籍有哪些

电脑类书分为软件和硬件,书本上都是理论的,电脑硬件还得要实践。

❻ 关于自学电脑买啥书比较好

一、看来你是一个好学的人,学习内容由浅入深。先学习入门知识,,,一般是操作系统(XP/WIN 7/8.1/10)、文字处理(word2003/2007/2010)、上网,以及电脑组装维护等,以后再学自己喜欢的东西。
二、当前电脑基本知识方面的图书很多,自学电脑多买几本初级入门的书,如边看边操作,这本书上说的看不明白,看另外一本,有时几本书对照看,这虽然要费时间和精力,但记得牢固。
三、买书一定是自己需的,而且必须是能看得懂的,不然等于白买。购书渠道主要是实体书店和网上书店。你可到当地书店查看,也可请书店工作人员帮助选购,店中没有的让他们还给你邮购。
网上大型综合商店一般都有“图书”专项业务,那里的图书比实体店中的图书要多,售价大多有折扣,有的还免收邮费,送货也比较快。不过你邮购的书,如果你见到过,收到后自然满意,如果你只是慕名而购,收到的书可能不是你想象中需要的。
书山有路勤为径,祝福你由不知到知,由知之不多到博学多才。

❼ 初学计算机应该看什么书

计算机分软件,硬件,还有通讯一类等等。
软件从入门到精通要看的书:
1、C++primer中文版第4版
2、C++标准程序库自修教程与参考手册
3、Windows程序设计第5版
4、MFC windows程序设计第2版中文版
5、VC++深入详解
6、MFC深入浅出
7、Effictive STL
8、Windows核心编程
9、WINDOWS游戏编程大师技巧第2版
10、3D游戏编程大师技巧
11、DirectX角色扮演游戏编程
12、DirectX特效游戏程序设计
13、精通DirectX 3D图形与动画程序设计
14、DirectX高级动画制作
15、Ogre引擎研究
16、游戏人工智能编程案例精粹
17、Visual C++实践与提高--网络编程篇
18、C++网络编程,卷1
19、C++网络编程,卷2
20、Visual C++网络游戏建模与实现第2版
硬件:
电脑硬件不求人系统套书、电脑硬件工程师、这方面的书太多了。到书店自己选选择看吧。是零基础的,就先从最基础的入手,买一本电脑硬件介绍的书就可以了
通讯:
主要看协议的内容和应用方面的。然后了解数据采集和采样的原理。

❽ 电脑小白一个,求推荐学习电脑的书籍。最基本的操作我都不会好落伍

如果是学习电脑编程可以通过以下书籍学习;
C/C++
1、《C程序设计语言》 入门推荐
2、《C Primer Plus》 入门推荐
3、《C和指针》
4、《C陷阱与缺陷》
5、《C++ Primer》入门推荐
为了更深入地理解程序原理,建议再学一下汇编语言
《现代x86汇编语言程序设计》
Linux
《UINX环境高级编程》 后台开发必读
《鸟哥的Linux私房菜》 Linux运维推荐入门系列
《Linux内核设计与实现》
网络
《TCP/IP详解卷1:协议》
Java
《Java编程语言》 入门推荐
《Java编程思想》
Python
《Python核心编程》(第2版),第3版难度加大,内容变更较多,用2版入门足够。
数据库
《Mysql技术内幕》,目前企业所用后台大多是linux+mysql,所以主要学习下mysql就足够了。
如果对网站开发有兴趣可以一并看下《php和mysql web开发》
系统原理
《深入理解计算机系统》强烈推荐,搞懂这本就基本能阅读大部分计算机相关着作
计算机组成原理
《编码:隐匿在计算机软硬件背后的语言》
windows编程,估计你们会有windows编程的课程,如果有学下面这两本就足够了
《Windows程序设计》charles petzold(着)
《Windows核心编程》
编译原理
龙书《编译原理》,如果看不懂,推荐下面一本《编译系统透视:图解编译原理》。
数据结构与算法
《数据结构与算法分析——C语言描述》,也有一本是C++语言描述。
《算法导论》
编程主要靠实践,多电脑敲代码,最好以开发某款软件为目标去多写代码,学完基础课程,建议也学习下服务器安全方面的知识。
上面不少书在网上有电子版,可以先下载看看,不清晰的再买实体书,或者图书馆去借
其它一些进阶与提升的书,可以多逛逛图书馆。

❾ 作为一名老师不会电脑,应该买什么书学电脑

计算机专业学习书籍。

电脑书籍很好买,各种版本的都有,关键是如何学习,掌握每一个阶段的步骤,根据要学习的内容买书即可。

电子计算机通称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算、逻辑计算,具有存储记忆功能,能够按照程序运行,自动、高速处理海量数据。

③ 学习编译原理哪本书好

我们学校用的是《编译原理》与《编译原理与实践》这两本书,这两本书都是国外的教材。我觉得《编译原理与实践》这本书不错,自学应该能看懂,而且代码比较多,书最后还有整个小型编译器的源代码。
编译不好学,你就慢慢学吧。

下面的资料请作参考:

当代编译技术三大圣经级别的教材

1.龙书(Dragon book)
书名是Compilers: Principles,Techniques,and Tools
作者是:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman

内容简介
《编译原理》作者Alfred V.Aho、Ravi Sethi和Jeffrey D.Ullman是世界着名的计算机 科学家,他们在计算机科学理论、数据库等很多领域都做出了杰出贡献。《编译原理》 是编译领域无可替代的经典着作,被广大计算机专业人士誉为“龙书”。《编译原理》一 直被世界各地的着名高等院校和科研机构(如贝尔实验室、哥伦比亚大学、普 林斯顿大学和斯坦福大学等)广泛用作本科生和研究生编译原理与技术课程的 教材,《编译原理》对我国计算机教育界也具有重大影响。 书中深入讨论了编译器设计的重要主题,包括词法分析、语法分析、语法制 导分析、类型检查、运行环境、中间代码生成、代码生成、代码优化等,并在 最后两章中讨论了实现编译器的一些编程问题和几个编译器实例,而且每章都 提供了大量的练习和参考文献。

与上一版相比,《编译原理》第二版进行了全面的修订,涵盖了编译器开发方面的最新进展。每章中都提供了大量的系统及参考文献。《编译原理》是编译原理课程方面的经典教材,内容丰富,适合作为高等院校计算机及相关专业本科生及研究生的编译原理课程的教材,也是广大技术人员的极佳参考读物。

作者简介
Alfred V.Aho,美国歌伦比亚大学教授,美国国家工程院院士,ACM和IEEE会士,曾获得IEEE的冯·诺伊曼奖。着有多部算法、数据结构、编译器、数据库系统及计算机科学基础方面的着作。
Monica S.Lam,斯坦福大学计算机科学系教授,曾任Tensilica的首席科学家,也是Moka5的首任CEO。曾经主持SUIF项目,该项目产生了最流行的研究用编译器之一。
Ravi Sethi,Avaya实验室总裁,曾任贝尔实验室高级副总裁TLucent Technologies通信软件的CTO。他曾在宾夕法尼亚州立大学、亚利桑那州立大学和普林斯顿大学任教,是ACM会士。
Jeffrey D.Ullman斯坦福大学计算机科学系教授和Gradiance CEO,他的研究兴趣包括数据库理论、数据库集成、数据挖掘和利用信息基础设施教学等。他是美国国家工程院院士、IEEE会士,获得过ACM的KarIstrom杰出教育家奖和Knuth奖。
第一版中文版
第二版中文版

2.鲸书(Whale book)
书名是:Advanced Compiler Design and Implementation
作者是:Steven S.Muchnick

内容简介
本书迎接现代语言和体系结构的挑战,帮助读者作好准备,去应对将来要遇到的编译器设计的问题。
本书涵盖现代微处理器编译器的设计和实现方面的所有高级主题。本书从编译设计基础领域中的高级问题开始,广泛而深入地阐述各种重要的代码优化技术,分析各种优化之间的相对重要关系,以及实现这些优化的最有效方法。
本书特点
●为理解高级编译器设计的主要问题奠定了基础
●深入阐述优化问题
●用Sun的SPARC、IBM的POWER和PowerPC、DEC的Alpha以及Intel的Pentium和相关商业编译 器作为案例,说明编译器结构、中间代码设计和各种优化方法
●给出大量定义清晰的关于代码生成、优化和其他问题的算法
●介绍由作者设计的以清晰、简洁的方式描述算法的语言ICAN (非形式编译算法表示)。

本书是经典的编译器着作,与“龙书”齐名,称为鲸书。书中针对现代语言和体系结构全面介绍了编译器设计与实现的高级论题,从编译器的基础领域中的高级问题开始,然后深入讨论了各种重要的代码优化。本书专为编译器专业人士和计算机专业本科生,研究生编写,在设计和实现高度优化的编译器以及确定优化的重要性和实现优化的最有效的方法等方面,为读者提供了非常有价值的指导。

作者简介
Steven S.Muchnick,曾是计算机科学教授,后作为惠普的PA-RISC和SUN的SPARC两种计算机体系结构的核心开发成员,将自己的知识和经验应用于编译器设计,并担任这些系统的高级编译器设计与实现小组的领导人。他在研究和开发方面的双重经验,对于指导读者作出编译器设计决策极具价值。

3.虎书(Tiger book)
书名是:Modern Compiler Implementation in C /Java /ML,Second Edition
作者是:Andrew W.Appel,with Jens Palsberg

内容简介
《现代编译原理——C语言描述(英文版)/图灵原版计算机科学系列》全面讲述了现代编译器的各个组成部分,包括:词法分析、语法分析、抽象语法、语义检查、中间代码表示、指令选择、数据流分析、寄存器分配以及运行时系统等。与大多数编译原理的教材不同,《现代编译原理——C语言描述(英文版)/图灵原版计算机科学系列》采用了函数语言和面向对象语言来描述代码生成和寄存器分配,对于编译器中各个模块之间的接口都给出了实际的 C 语言头文件。 全书分成两部分,第一部分是编译的基础知识,适用于第一门编译原理课程(一个学期);第二部分是高级主题,包括面向对象语言和函数语言、垃圾收集、循环优化、 SSA(静态单赋值)形式、循环调度、存储结构优化等。
本书是一本着名的编译原理课程的教材。国际上众多名校均采用本书作为编译原理课程的教材,包括美国麻省理工学院、加州大学伯克利分校、普林斯顿大学和英国剑桥大学等。本书在国外享有“虎书”的称号,与有“龙书”之称的《编译原理》(Alfred Aho 等编着)齐名。与编译原理方面的其他名着相比,本书出版时间晚,内容新。 书中专门为学生提供了一个用 C 语言编写的实习项目,包括前端和后端设计,学生可以在一学期内创建一个功能完整的编译器。

作者简介
Andrew W.Appel,美国普林斯顿大学计算机科学系教授,第26届ACM SIGPLAN-SIGACT程序设计原理年会大会执行主席,1998-1999年在贝尔实验室做研究工作。主要研究方向是计算机安全、编译器设计、程序设计语言等。

④ 龙书虎书鲸书先看哪一本

龙书。龙书、虎书、鲸则伏丛书是编译原理的三大圣书,应该先看龙书,因为龙书侧重基础,很详细,最新版里也加入了很多优化的内容,很好的一本书, 鲸书侧重优化部分,是龙厅衡书的升华,虎书侧重实践,大部分孙樱基础和优化都讲到了。

热点内容
软件发布源码 发布:2025-07-12 14:29:34 浏览:178
sql函数和存储过程的区别 发布:2025-07-12 14:26:37 浏览:29
查看存储功空间 发布:2025-07-12 14:17:22 浏览:941
安卓手机的朗读功能在哪里 发布:2025-07-12 14:17:07 浏览:298
mysql属于什么数据库 发布:2025-07-12 13:55:52 浏览:166
源码抓捕 发布:2025-07-12 13:47:34 浏览:873
安卓哪里有李小龙 发布:2025-07-12 13:31:49 浏览:439
苹果保存账号密码在哪里找 发布:2025-07-12 13:31:07 浏览:99
东北大学c语言考试题 发布:2025-07-12 13:26:40 浏览:756
sha256在线加密 发布:2025-07-12 13:19:06 浏览:228