配套资源:电子课件
作者简介:
陈文宇,电子科技大学教授,3项863项目、2项973项目负责人,SCI、EI检索论文18篇。主编教材8部,中国计算机学会高级会员,成都科技局科技专家。
本书特色:
★重点介绍了编译器基础软件框架LLVM及相关工具的使用实例。
★书中给出了大量代码,以帮助读者掌握编译器构造的相关技术。
★以提高学生的动手实践能力为重点,鼓励学生尝试设计并实现一个新的语言编译器。
本书教学资源,样书可添加小编微信13146070618索取
本书主要内容编排如下:第1章介绍编译器整体结构;第2章介绍一个简单的编译程序构造过程;第3章至第6章分别介绍词法分析、语法解析、语义分析、代码生成等过程中所面临的技术问题及解决方案;第7章介绍运行时存储空间的组织与分配;第8章介绍LCC(Learning Compiler with C)语言编译程序的C语言实现。本书在强调基础理论的同时,力求反映编译技术方面的最新成果,书中给出了大量代码,以帮助读者掌握编译器构造的相关技术。 本书文字简洁易懂,内容循序渐进、深入浅出,便于自学,适合作为高等学校计算机类专业的教材,也可作为软件工程技术人员的参考书。 本书配套授课电子课件,需要的教师可登录wwwcmpeducom免费注册,审核通过后下载(QQ:2850823885,电话:010-88379739)。
配套资源:电子课件
作者简介:
陈文宇,电子科技大学教授,3项863项目、2项973项目负责人,SCI、EI检索论文18篇。主编教材8部,中国计算机学会高级会员,成都科技局科技专家。
本书特色:
★重点介绍了编译器基础软件框架LLVM及相关工具的使用实例。
★书中给出了大量代码,以帮助读者掌握编译器构造的相关技术。
★以提高学生的动手实践能力为重点,鼓励学生尝试设计并实现一个新的语言编译器。
本书教学资源,样书可添加小编微信13146070618索取
本书主要内容编排如下:第1章介绍编译器整体结构;第2章介绍一个简单的编译程序构造过程;第3章至第6章分别介绍词法分析、语法解析、语义分析、代码生成等过程中所面临的技术问题及解决方案;第7章介绍运行时存储空间的组织与分配;第8章介绍LCC(Learning Compiler with C)语言编译程序的C语言实现。本书在强调基础理论的同时,力求反映编译技术方面的最新成果,书中给出了大量代码,以帮助读者掌握编译器构造的相关技术。 本书文字简洁易懂,内容循序渐进、深入浅出,便于自学,适合作为高等学校计算机类专业的教材,也可作为软件工程技术人员的参考书。 本书配套授课电子课件,需要的教师可登录wwwcmpeducom免费注册,审核通过后下载(QQ:2850823885,电话:010-88379739)。
前言 “编译原理”课程是计算机专业一门重要的专业基础课,也是计算机系统软件课程中非常重要的一个分支。在众多的原理性学习课程中,编译原理主要承担了语言实现原理、方法和技术的介绍。该课程内容有一定深度和难度,且综合性比较强,对学生专业知识掌握情况要求也比较高,学生在学习过程中会感到内容抽象、算法复杂,是一门公认的比较难学、比较难教的课程。很多学生也认为“编译原理”只能应用在实现程序语言的编译器上,而他们以后可能不会在编译器及其相关领域方面钻研,所以学习兴趣不高。 其实这是一种误解。通过学习编译程序的构造原理和技术,将有助于深刻理解和正确使用程序设计语言。如正规式和有穷自动机在文本编辑器中的广泛应用。有穷自动机在字符串查找中的运用、必经结点算法在网络中的运用,以及由文法来定义网络协议等。 此外,虽然编译原理基本内容已相对比较成熟,算法相对固定,但编译技术作为计算机语言发展的支柱,是计算机科学中发展最迅速、最成熟的一个分支,特别是近几年大量编译辅助工具应运而生,大大简化了编译器的实现过程。 基于以上因素,本书在编排时以提高学生的动手实践能力为重点,在选择性讲解必要的理论及算法的同时,鼓励学生尝试设计并实现一个新的语言编译器,在此基础上将编译程序中的各种算法和技术应用到各个领域,从而激发学生的创造性思维,培养学生的创新能力,为今后的学习、工作打下坚实的基础。 本书在总体上介绍现代编译系统构造过程中的基本实现技术和一些自动构造工具,旨在让学生掌握编译器构造技术的最新进展,并在此基础上能够根据实际需求快速而高效地实现特定语言的编译器。 全书章节安排如下:第1章是编译器的总体介绍,即现代编译器是如何组织的,其典型结构是什么。第2章给出了一个比较简单的例子,其目的是使学生对编译器各组成部分有一个感性的认识,使其理解不光停留在理论层面,而是付诸于实践。第3章至第6章则分别对典型编译器的各组成部分的实现细节及最新技术进行了介绍。第7章从理论的角度对运行时存储空间的组织与分配进行了介绍。作为总结,第8章给出了一个编译器设计与构造的完整实例,即以C语言为基础,设计并实现了LCC(Learning Compiler with C)语言的编译程序,以帮助学生从整体上理解并掌握编译器构造相关技术,能够独立地完成编译器开发任务。作为教材,每章后均附有习题。书中除介绍了LEX、YACC使用方法外,还重点介绍了编译器基础软件框架LLVM及相关工具的使用实例。 本书作为高等院校编译技术的教材,体现了编译课程改革的方向。本课程建议授课学时为64学时,其中实验学时不少于20学时,并要求先修C语言、数据结构及汇编语言等课程。 本书由周尔强、周帆、韩蒙、陈文宇编写;全书由陈文宇组织与审阅。 对于书中存在的不足之处,恳请读者批评指正。
随手扫一扫~了解多多