编译原理第二版蒋立源,计算机编译原理

1,计算机编译原理1.1 三个 0 和 1 数量相等的串 1.2 S => 1A => 11AA => 11A 0S 1.3s 左:O右:BB 左:O中:B右:B中间的B: 左:I 右:SS 下:ε因为不能打成树的样式,自己手画下哈【编译原理第二版蒋立源,计算机编译原理】
2,编译原理蒋立源什么是值调用和引用调用1234567891011121314151617181920212223//值调用void set_var1(int a) a = 0;}//引用调用void set_var2(int& a) a = 0;}int main() int a; a = 100; set_var1(a); printf("%d", a); //输出 100 a = 100; set_var2(a); printf("%d", a); //输出 0 return 0;}当你想在在函数内部修改变量的时候,你调用这个函数时就用引用调用,如果不想被修改,就用值调用 。代码纯手打,编不过请自行修改 。
3,编译原理蒋立源什么是值调用和引用调用//值调用void set_var1(int a) a = 0;}//引用调用void set_var2(int& a) a = 0;}int main() int a; a = 100; set_var1(a); printf("%d", a); //输出 100 a = 100; set_var2(a); printf("%d", a); //输出 0 return 0;}当你想在在函数内部修改变量的时候,你调用这个函数时就用引用调用,如果不想被修改,就用值调用 。代码纯手打,编不过请自行修改 。
4,哪本编译原理的书比较好我们学校用的是《编译原理》与《编译原理与实践》这两本书,这两本书都是国外的教材 。我觉得《编译原理与实践》这本书不错 , 自学应该能看懂,而且代码比较多 , 书最后还有整个小型编译器的源代码 。编译不好学,你就慢慢学吧 。下面的资料请作参考:当代编译技术三大圣经级别的教材 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年在贝尔实验室做研究工作 。主要研究方向是计算机安全、编译器设计、程序设计语言等 。5,谁能推荐一本编译原理本科教材我推荐:编译原理(第2版) Alfred V. Aho、Monica S.Lam、赵建华、 郑滔 机械工业出版社 ( 2009-01出版) 这本书是我们上本科时候的教科书,讲的非常清楚 , 就是符号有点多,对初学者可能看起来有些困难,可以上一些贴吧 , 或者社区和大神交流交流 。希望能够帮到你我正在看的有一本叫compilers principles,techniques,& tools ,这本书是斯坦福大学和麻省理工的教材,我感觉挺好的,讲的挺详细,当然现在已经有了中文版,是机械工业出版的 。

    推荐阅读