flex与bison(中文版)
基本信息
- 原书名: flex & bison
- 原出版社: O'Reilly Media
- 作者: John Levine [作译者介绍]
- 译者: 陆军
- 丛书名: 东南大学出版社O'Reilly系列
- 出版社:东南大学出版社
- ISBN:9787564126056
- 上架时间:2011-5-17
- 出版日期:2011 年3月
- 开本:16开
- 页码:266
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > 综合 > 高级程序语言设计
编辑推荐
o'reilly系列精品图书
涵盖了linux和unix程序开发中相同的重要核心功能
内容简介回到顶部↑
如果你需要分析或处理linux或unix中的文本数据,这本有用的书籍就讲解了如何使用flex和bison迅速解决问题。《flex与bison》被期待已久,是经典o'reilly系列书籍《lex & yacc》的续篇。在原书出版以来的近20年,flex和bison已被证明比原来的unix工具更可靠、更强大。
《flex与bison》一书涵盖了linux和unix程序开发中相同的重要核心功能,以及一些重要的新主题。你会找到适用于新手的修订教程和适用于高级用户的参考资料,以及对每个程序的基本用法的解释,并且运用它们创建简单、独立的应用程序。有了《flex与bison》,你会发现这些灵活的工具提供的广泛用途。
《flex与bison》一书涵盖了linux和unix程序开发中相同的重要核心功能,以及一些重要的新主题。你会找到适用于新手的修订教程和适用于高级用户的参考资料,以及对每个程序的基本用法的解释,并且运用它们创建简单、独立的应用程序。有了《flex与bison》,你会发现这些灵活的工具提供的广泛用途。
目录回到顶部↑
《flex与bison(中文版)》
前言
第1章 flex和bison简介
词法分析和语法分析
正则表达式和词法分析
文法与语法分析
二义性文法:并不多见
添加更多的规则
flex和bison与手写的词法分析器和语法分析器的对比
练习
第2章 使用flex
正则表达式
flex词法分析器中的文件i/o操作
读取多个文件
flex词法分析器的i/o结构
起始状态和嵌套输入文件
符号表和重要语汇索引生成器
c语言交叉引用
练习
第3章 使用bison
前言
第1章 flex和bison简介
词法分析和语法分析
正则表达式和词法分析
文法与语法分析
二义性文法:并不多见
添加更多的规则
flex和bison与手写的词法分析器和语法分析器的对比
练习
第2章 使用flex
正则表达式
flex词法分析器中的文件i/o操作
读取多个文件
flex词法分析器的i/o结构
起始状态和嵌套输入文件
符号表和重要语汇索引生成器
c语言交叉引用
练习
第3章 使用bison
前言回到顶部↑
Flex和bison是为编译器和解释器的编程人员特别设计的工具,不过它们在其它应用领域也非常有用,因此吸引了许多非编译器编程人员的注意。任何应用程序,只要它在输入中寻找特定的模式,或者它使用命令语言作为输入,都适合使用flex和bison。而且,flex和bison允许快速的原型开发,修改简单,维护方便。让我来激发一下你的想象力吧,下面列出了一些使用flex和bison,或者是它们的前身,lex和yacc来开发的程序。
·桌面计算器bc
·工具eqn和pic,它们用于数学方程式和复杂图片的排版预处理
·为特定应用设计的大量领域相关的语言
·PCC,在许多Unix系统中被使用的可移植的C编译器
·Flex自身
·SQL数据库语言翻译器
本书内容
第一章,介绍Flex和Bison,概述了flex和bison如何和为什么可以被用来创建编译器和解释器,并且演示了一些简单的应用程序,比如通过flex和bison生成的计算器。本章也介绍了一些我们这本书会用到的一些术语。
第二章,使用Flex,描述了如何使用flex。我们在本章开发了一些flex的应用程序来计算文件中的单词数,处理多文件和嵌套文件,以及统计C语言程序中的交叉引用信息。
第三章,使用Bison,实现了一个完整的例子,它使用flex和bison开发了一个具有全部功能的桌面计算器,能够支持变量,过程,循环和条件表达式。本章展示了抽象语法树的用法,它具有强大而简单的数据结构来表示分析结果。
第四章,分析SQL,为SQL关系型数据库中的MySQL语言开发了一种语法分析器。该分析器能够检查SQL语句的语法,然后把它们翻译成适合于特定解释器的内部表达式。本章展示了逆波兰式的用法,它是另外一种高效的组织形式,用来表达和解释分析结果。
第五章,Flex规范参考,和第六章,Bison规范参考,为flex和bison程序员提供了详细的特性和选项描述。这两章和后续的两章为flex和bison的初学者提供了他们在开发flex和bison的应用程序时所需的技术信息。
第七章,二义性和冲突,解释了bison的二义性和冲突,它们会导致bison无法为特定语法创建语法分析器。本章接着描述了一些可以被用来定位和解决这类问题的方法。
第八章,错误报告和恢复,讨论了编译器或者解释器的设计人员如何来定位,识别和报告输入中的错误。
第九章,Flex和Bison进阶,包括了可重入词法分析器和语法分析器,通用的自左向右语法分析器(它能够处理普通bison语法分析器无法处理的语法),以及C++的接口。
附录部分提供了第四章所讨论的SQL语法分析器的完整的语法和交叉引用信息。
术语表列出了语言和编译器理论中的技术术语。
你需要熟悉C语言,因为大部分例子是由C语言,flex或者bison写成的,还有少量例子是由C++,SQL和其它基于特定目的而开发的语言来编写的。
·桌面计算器bc
·工具eqn和pic,它们用于数学方程式和复杂图片的排版预处理
·为特定应用设计的大量领域相关的语言
·PCC,在许多Unix系统中被使用的可移植的C编译器
·Flex自身
·SQL数据库语言翻译器
本书内容
第一章,介绍Flex和Bison,概述了flex和bison如何和为什么可以被用来创建编译器和解释器,并且演示了一些简单的应用程序,比如通过flex和bison生成的计算器。本章也介绍了一些我们这本书会用到的一些术语。
第二章,使用Flex,描述了如何使用flex。我们在本章开发了一些flex的应用程序来计算文件中的单词数,处理多文件和嵌套文件,以及统计C语言程序中的交叉引用信息。
第三章,使用Bison,实现了一个完整的例子,它使用flex和bison开发了一个具有全部功能的桌面计算器,能够支持变量,过程,循环和条件表达式。本章展示了抽象语法树的用法,它具有强大而简单的数据结构来表示分析结果。
第四章,分析SQL,为SQL关系型数据库中的MySQL语言开发了一种语法分析器。该分析器能够检查SQL语句的语法,然后把它们翻译成适合于特定解释器的内部表达式。本章展示了逆波兰式的用法,它是另外一种高效的组织形式,用来表达和解释分析结果。
第五章,Flex规范参考,和第六章,Bison规范参考,为flex和bison程序员提供了详细的特性和选项描述。这两章和后续的两章为flex和bison的初学者提供了他们在开发flex和bison的应用程序时所需的技术信息。
第七章,二义性和冲突,解释了bison的二义性和冲突,它们会导致bison无法为特定语法创建语法分析器。本章接着描述了一些可以被用来定位和解决这类问题的方法。
第八章,错误报告和恢复,讨论了编译器或者解释器的设计人员如何来定位,识别和报告输入中的错误。
第九章,Flex和Bison进阶,包括了可重入词法分析器和语法分析器,通用的自左向右语法分析器(它能够处理普通bison语法分析器无法处理的语法),以及C++的接口。
附录部分提供了第四章所讨论的SQL语法分析器的完整的语法和交叉引用信息。
术语表列出了语言和编译器理论中的技术术语。
你需要熟悉C语言,因为大部分例子是由C语言,flex或者bison写成的,还有少量例子是由C++,SQL和其它基于特定目的而开发的语言来编写的。
媒体评论回到顶部↑
“我很高兴看到John彻底详尽地重写这本经典。他更新的示例和说明,能够帮助老用户和新手摆脱模仿那些已经根深蒂固的旧lex和yacc。”
—Joel E. Denny
bison维护人员
—Joel E. Denny
bison维护人员








点击看大图




加载中...

