《flex与bison 中文版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)利文编
  • 出 版 社:南京:东南大学出版社
  • 出版年份:2011
  • ISBN:9787564126056
  • 页数:266 页
图书介绍:《flex & bison》一书涵盖了Linux和Unix程序开发中相同的重要核心功能,以及一些重要的新主题。你会找到适用于新手的修订教程和适用于高级用户的参考资料,以及对每个程序的基本用法的解释,并且运用它们创建简单、独立的应用程序。有了《flex & bison》,你会发现这些灵活的工具提供的广泛用途。

前言 1

第1章 Flex和Bison简介 7

词法分析和语法分析 7

正则表达式和词法分析 8

文法与语法分析 16

二义性文法:并不多见 20

添加更多的规则 21

Flex和Bison与手写的词法分析器和语法分析器的对比 22

练习 23

第2章 使用Flex 25

正则表达式 25

Flex词法分析器中的文件I/O操作 29

读取多个文件 30

Flex词法分析器的I/O结构 32

起始状态和嵌套输入文件 34

符号表和重要语汇索引生成器 38

C语言交叉引用 44

练习 51

第3章 使用Bison 53

Bison语法分析器如何匹配输入 53

移进/归约分析 54

Bison语法分析器 57

基于抽象语法树的改进的计算器 58

移进/归约冲突和操作符优先级 63

一个高级计算器 66

使用高级计算器 84

练习 85

第4章 分析SQL 86

SQL概述 86

关系操作 88

使用SQL的三种方法 88

从SQL到逆波兰式(RPN) 89

词法分析器 90

语法分析器 99

SQL分析器的Makefile 121

练习 122

第5章 Flex规范参考 123

Flex结构规范 123

BEGIN 124

C++词法分析器 125

上下文相关性 125

定义(替换) 126

ECHO 127

输入管理 127

Flex库 130

交互模式和批处理模式的词法分析器 130

行号和yylineno 130

文字块 131

单一程序中的多重词法分析器 131

编译词法分析器的选项 133

Flex词法分析器的可移植性 133

可重入词法分析器 134

正则表达式语法 137

REJECT 139

从yylex()返回值 140

起始状态 140

unput() 141

yyinput()yyunput() 142

yyleng 142

yyless() 142

yylex()和YY_DECL 143

yymore() 143

yyrestart() 144

yy_scan_string和yy_scan_buffer 144

YY_USER_ACTION 144

yywrap() 144

第6章 Bison规范参考 145

Bison语法结构 145

二义性和冲突 148

Bison程序的问题 150

C++语法分析器 151

%code块 151

结束标记 151

错误记号和错误恢复 152

继承属性($0) 152

词法反馈 154

文字块 155

文字记号 155

位置 156

%parse-param 156

Bison语法分析器的可移植性 157

优先级和结合性声明 158

递归规则 160

规则 161

特殊字符 162

%start声明 164

符号值 164

记号 165

可变语法和多重语法 168

多重语法分析器 169

y.output文件 170

Bison库文件 171

YYABORT 172

YYACCEPT 172

YYBACKUP 173

yyclearin 173

yydebug和YYDEBUG 173

YYERROR 174

yyerror() 175

yyparse() 175

YYRECOVERING() 175

第7章 二义性和冲突 177

指针模型和冲突 177

冲突类型 179

语法分析器状态 181

name.output的内容 182

归约/归约冲突 183

移进/归约冲突 184

复习name.output中的冲突 187

常见的冲突例子 188

IF/THEN/ELSE 190

你如何解决冲突? 192

IF/THEN/ELSE(移进/归约冲突) 192

嵌套循环(移进/归约冲突) 194

表达式优先级(移进/归约冲突) 195

总结 199

练习 199

第8章 错误报告和恢复 200

错误报告 200

错误恢复 208

Bison错误恢复 208

编译器错误恢复 211

练习 212

第9章 Flex和Bison进阶 213

纯词法分析器和纯语法分析器 213

GLR分析 234

C++语法分析器 239

练习 246

附录 SQL语法分析器文法和交叉引用 247

术语表 263