编译原理清华大学第二版书
A. 请问下清华827电路考研参考书目
《电路原理》(第2版)清华大学出版社,2007年3月江辑光、刘秀成等。
827电路原理考研参考书目为:《电路原理》(第2版)清华大学出版社,2007年3月江辑光、刘秀成;《电路原理》清华大学出版社,2007年3月于歆杰、朱桂萍、陆文娟;《电路》(第5版)高等教育出版社,2006年5月邱关源、罗先觉。
(1)编译原理清华大学第二版书扩展阅读:
硕士研究生招生要求规定:
1、笔试时专业综合考试内容:控制理论(经典控制及现代控制)、电子技术(模拟电子技术及数字电子技术)、运筹学、信号与系统、编译原理和数据库原理、现代通信原理、软件工程专业综合七科中选一门。
2、以考生的总成绩排名为录取参考标准。总成绩包括两部分,即初试成绩和复试成绩。
3、学习期满,学完规定的课程,修满学分,满足培养方案要求,完成硕士专业学位论文,并通过论文答辩者,经校学位委员会审核批准后,授予国家颁发的清华大学自动化系、计算机系、电子系、软件学院相应的工程硕士研究生毕业证书和学位证书。
B. 想学《编译原理》请各位推荐些书
我们学校用的是《编译原理》与《编译原理与实践》这两本书,这两本书都是国外的教材。我觉得《编译原理与实践》这本书不错,自学应该能看懂,而且代码比较多,书最后还有整个小型编译器的源代码。
编译不好学,你就慢慢学吧。
下面的资料请作参考:
当代编译技术三大圣经级别的教材
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年在贝尔实验室做研究工作。主要研究方向是计算机安全、编译器设计、程序设计语言等。
C. 学计算机从基础的开始,请教过来人,该按怎样的次序学哪些知识
软件专业推荐书目
因为个人能力有限以及不断有新书出版,以下推荐难免具有主观色彩或已经不适合当前的状况,仅作参考!请根据实际情况选择!
1.
模拟电路
数字电路
计算机网络
程序设计基础
书 名: 程序设计基础(C语言)
书 号:9787302134626
作 者:于帆,赵妮 等主编
出版社:清华大学出版社
高等数学
书 名:高等数学(第三版)(上册)
书 号:ISBN 978-7-04-024901-9
作 者:金路 童裕孙 于崇华
出版社:高等教育出版社
书 名:高等数学(第三版)(下册)
书 号:ISBN 978-7-04-024902-6
作 者:金路 童裕孙 于崇华
出版社:高等教育出版社
离散数学
书 名:离散数学习题解答与学习指导(第2版)
书 号:ISBN 978-7-302-16820-1
作 者:屈婉玲 耿素云 张立昂
出版社:清华大学出版社
计算机组成原理
书 名: 计算机组成原理
作 者:罗克露 俸志刚
出版社:电子工业出版社
ISBN: 9787121095467
汇编语言
网络上流传较广的
书 名:汇编语言
书 号:ISBN 978-7-302-07195-2/TP.5237
作 者:王爽
出版社:清华大学出版社
“十一五”国家级规划教材
书 名:汇编语言程序设计(第2版)
书 号:ISBN 978-7-04-023965-2
作 者:王成端 王宇晓 王丰
出版社:高等教育出版社
软件工程
书 名:软件工程(第3版)
书 号:ISBN 978-7-301-15913-2
作 者:王立福
出版社:北京大学出版社
2.
线性代数
书 名:线性代数(修订版)
书 号:ISBN 978-7-04-024900-2
作 者:郝志峰 谢国瑞 方文波
出版社:高等教育出版社
数据结构
书 名: 数据结构(C语言版)
作 者:严蔚敏 吴伟民
出版社:清华大学出版社
数据库系统
操作系统
书 名:操作系统(第2版)
书 号:ISBN 978-7-121-08858-2
作 者:孟庆昌
出版社:电子工业出版社
算法设计与分析
书 名:算法设计与分析(第2版)
书 号:ISBN 978-7-302-19099-8
作 者:吕国英
出版社:清华大学出版社
3.
编译原理
书 名:编译原理(第2版)
书 号:ISBN 978-7-04-023963-8
作 者:陈意云 张昱
出版社:高等教育出版社
数值分析
书 名:数值分析(上册)
书 号:ISBN 978-7-04-021779-7
作 者:冯果忱 黄明游
出版社:高等教育出版社
书 名:数值分析(下册)
书 号:ISBN 978-7-04-022661-4
作 者:黄明游 冯果忱
出版社:高等教育出版社
D. 推荐几本零基础编程入门的书籍
下面这个可以参考一下,具体还要看个人的情况。
我觉得应该根据你的工作需要或者说你的发展方向而定。基本上两大类吧:C/C++和Java。比如,如果你要做企业级应用的你应该学习Java和C#;如果你想做嵌入式,那么应该学好C语言;其他情况下,在你不知道要做什么之前你可以选择学习C/C++。学会这两大类中的一类,对于你学习其他语言都将是比较轻松,包括脚本语言,动态语言„„呵呵,这里想就自己的学习经历和情况给大家一个建议,仅供参考。
1、我的入门是从学习C语言开始的(其实课程是C++),这是我们学校的公共课,我上课比较认真(虽然老师讲得很差,而且一段时间后,我就发现自己的基础掌握比她好,当然理解深度没她好),因此,我认为对于完全没有基础的人而言,听别人讲比较容易入门。当时的教材是学校自己编的,挺烂的。
建议一(以C/C++为例),对于刚想进入编程的人(就是从来都没有接触过编程的人),最好是听课的方式(自己看的话估计要很慢,而且很痛苦),可以找视频或者培训等。C语言推荐入门教材:谭浩强的C语言,最新版是第三版,不过第二版应该也可以了(蓝色的)。说明一下:坚决不同意直接看K&R的《The C programming language》,这本书绝对不是初学者可以看懂的,里面讲语法的并不多,语法都是合在程序里面讲。不过这本书非常好,入门以后一定要看的一本书。
当然可以从C++直接入门,C++之父强烈推荐从C++直接入手。C++推荐入门教材:钱能的C++(红色的,清华大学出版),这本书第一版不是ISO C++,不过比较经典,作者现在也出了第二版了,第二版好像不是太好。国外的最好的入门教材据说是:《Acclerated C++》作者是Koenig和Moo夫妇,非常厉害。他们的着作还有《c陷阱与缺陷》《c++沉思录》。《Acclerated C++》这本入门的书我没有看过,我觉得还是先找本国内的书好好看,看的差不多了,国外的经典书籍随便看就会觉得很有味道,否则你可能会很受打击。入门的书至少要看两三遍(要彻底理解哦 ):)。如果是C++,我建议后面类的部分至少要理解三到五遍。说明一下,c++模板的部分可以先不用看,如果有兴趣的话,等把c++学的差不多了,我觉得可以把模板、STL、泛型编程结合起来学习,这个又是一个很大的工作量了,又得下很大的功夫。所以说,C++博大精深啊。
建议二、学习过程中要结合简单的算法,像冒泡还有类似c语言程序百例这样的小例子做做;更进一步应该做点大一点的项目,最好是控制台程序。或者你已经着手学习win32、MFC或linux,你也可以结合平台做点小的项目。
2、第一阶段是最苦的,接下来相对就知道应该怎么去学习了。这时候假设你已经有了扎实的c++基础。这是你可以选择也应该选择发展方向了,做企业级应用,还是系统开发,嵌入式设计或者游戏开发„„ 那时我其实并没有考虑那么多,因为我不是学计算机的,因此我就把参加一些计算机之类的考试当作学习目标。我当时其实C++语言基础已经很不错了,但是上机实践很少(那时我没有电脑),因此参加省计算机二级,全国计算机三级和全国计算机四级考试,结果上机都没有通过。我很郁闷,二级的时候是我不知道怎么样进那个DOS界面把题目调出来,三级的时候是很快就编好了,也通过运行了,可是成绩出来却不及格,四级的时候是编好了,可能是我那题目比较难,好像用了两次循环,结果那破机器竟然承受不了。后来一乱就毁了(当然主要是上机太少了)。不过我那些上机都没有去补考。二级和三级的时候是自恃水平已经远远超过考试要求了,四级的时候则因为自己已经通过高级程序员考试,觉得补考上机好像没必要。(我高程和四级都是在2003年考的)。
建议三:定位学习方向,并好好学习计算机基础知识。在你还不确定学习方向,或者你还在大学本科期间,那么我认为应该先把计算机的基础知识好好学习一下。我认为计算机必学的基础课程而且要精学——首先是数据结构,其次是操作系统、软件工程,数据库。这四门课不管你将来想从事哪个方向的基本上都会用到。当然,有时间的话,其他基础课都是应该掌握的,离散数学、组成原理、体系结构、网络、编译原理甚至跨学科的。方向是很重要的,因为知识其实是无限的,一个小小的领域就够你研究很久了。本科生可能还没有什么方向的感觉,但是到了研究生你一定要清楚自己到底想要做什么,要往哪个方面发展,不要盲目学,瞎学乱学,否则最后可能看似什么都会,其实什么都不会。
E. 编译原理课程辅导图书信息
编译原理课程辅导图书信息如下:
- 出版社与版本:由清华大学出版社出版,版本为第一版。
- 发行日期:2007年4月1日。
- 装帧与页数:采用平装形式,总页数为173页。
- 开本与尺寸:开本为0开,尺寸为26 x 18.5 x 0.6 cm。
- 重量:381 g。
- ISBN号与条形码:ISBN号为7302140375,条形码为9787302140375。
- 内容概述:本书主要针对编译原理课程进行辅导,内容涵盖了编译器的各个组成部分,包括词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等。同时,本书还详细介绍了编译器的实现方法和工具,适合初学者和有一定编程基础的读者阅读。
- 适用人群:无论对于初学者还是有一定编程基础的读者,本书都是一本非常有价值的编译原理辅导图书。通过本书的学习,读者可以更好地理解编译器的工作原理,掌握编译过程中的关键技术,提高编程能力。
F. 武大计算机系考研参考书
这是武大研究生招生网上的信息
211 计算机学院
922 计算机基础(含数据结构、计算机组成原理):
李春葆:《数据结构教程》(第一版),清华大学出版社2005年版
王爱英:《计算机组成与结构》(第三版),清华大学出版社2001年版
916 计算机图形学基础:
唐泽圣、周嘉玉、李新友编着:《计算机图形学基础》,清华大学出版社
917 C语言程序设计:
唐浩强着:《C语言程序设计》,清华大学出版社
复试科目参考书目:
数据库原理:
尹为民:《现代数据库系统及应用教程》,武汉大学出版社2005年版
操作系统:
黄水松:《计算机操作系统》,武汉大学出版社2003年版
加试科目参考书目:
编译原理:
何炎祥:《编译原理》(第二版),华中科技大学出版社2005年版
离散数学:
刘玉珍:《离散数学》(第二版),武汉大学出版社2002年版
G. 编程入门就学c++结果好多概念都不知道怎么办
刚接触编程谁都是满头雾水的,尤其是那些曾经根本就没用过电脑的人,这简直就是比登天还难!!但是他既然能制造出来,难道还有学不会的道理。。。下面给大家说说学中的一些技巧,也许会对大家有帮助:
很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?
学习了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,总结最简单的话就是,C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,不懂C语言,你想写出优秀高效的程序,这简直就是天方夜谭。为什么C语言如此重要呢?
第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。
第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。
第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C/C++语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C/C++语言,你想加入it行业,那么就一定要掌握好C/C++语言。
那么究竟怎样学习C/C++语言呢?
1:工欲善其事,必先利其器
介绍几个学习C语言必备的东东:
一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。
一本学习教程,现在C/C++语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。
除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件,学习方法多如牛毛,不象当初那些编程工程师学习,只有读书做题这么老套。向大家推荐一个“(这里不便展示,如有想看@我)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C/C++语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。
2:葵花宝典
学习计算机语言最好的方法是什么?答曰:读程序,老师教。
没错,C/C++语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。
3:登峰造极
写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。
是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?
举个例子:你面前有10个人,找出一个叫“小刘”的人,你该怎么办?
第1种方法:直接对这10个人问:“谁叫小刘”。
第2种方法:你挨个去问“你是不是叫小刘?”,直到问到的这个人就是小刘。
第3种方法:你去挨个问一个人“你认不认识小刘,指给我看”。
不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。
二,语言学习方法
谈谈偶的学习方法,抛砖引玉!
学习不论讲不讲方法,最终都能学会。但是别人1个月学会了,而你却100年才学会,这不就晚了么?:)所以说,学习还是要讲究方法的。学习方法正确,事半功倍;学习方法不正确,事倍而功半。
什么才是学习C/C++语言的捷径?我的答案是看书。书中所写,是前人数十年经验所写,看十本书,就相当于汲取了前人数十年的功力,那么你的内功也会迅速上升1甲子。书当然要看好书,只有好书才营养丰富。假如你花了1天时间看了一本破书,而该书介绍的知识虽然对于你来说是全新的知识,但是由于书中组织不当、或者深度不够,使你获取的营养很少,还不如自己研究一天来的快,这种书就不值当看了。
Bjarne Stroustrup的《C++程序设计语言》(The C++ Programming Language)一定要看,这本书里面对于C的一些基础概念的定义,比我见过的其他任何C语言书都要全,都要仔细;Bjarne Stroustrup的《C++语言的设计与演化》(The Design and Evolution of C++)和David R.Hanson 的《C语言接口与实现 创建可重用软件的技术》(C Interfaces and Implaementations Techniques for Creating Reusable Software)一定要看,这两本书讲述了如何用C来实现异常处理、实现类型的封装和扩展等一些大的项目中经常用到的高级技术。
其他的书,操作系统的要看,编译原理的要看,算法的要看,模式的也要看。读书破万卷,coding如有神。总而言之,就如《传》中云:“生而知之者,上也;学而知之者,次也;困而学之又其次也。”我们不能总是因困而学之,而要做到兵马未动,粮草先行。
看书是学习的导向,书中能一一介绍清楚概念,但书却不能把应用的细节一一介绍给你,因为应用总是招数繁复,变化多端。因此我们要想熟悉招数,懂得书中所讲怎么使用,还要多读源码。
每天坚持写6个小时程序,《数据结构》和排列组合、图论方面的习题反复做了N遍。要培养自己很强的编码能力和调试能力,对将来的工作有很大的帮助。
学习忌贪多、忌浮躁、忌急功近利、忌目中无人。把学习计划放的长一些,培养一个好的学习方法,一步一步慢慢走,终能成为高手。 C/C++是编程语言的基础,建议大家从 C/C++开始!