出版时间:2011-3 出版社:东南大学出版社 作者:Jobn Levine 页数:266 译者:陆军
Tag标签:无
内容概要
如果你需要分析或处理linux或unix中的文本数据,这本有用的书籍就讲解了如何使用flex和bison迅速解决问题。《flex与bison》被期待已久,是经典o'reilly系列书籍《lex
& yacc》的续篇。在原书出版以来的近20年,flex和bison已被证明比原来的unix工具更可靠、更强大。
《flex与bison》一书涵盖了linux和unix程序开发中相同的重要核心功能,以及一些重要的新主题。你会找到适用于新手的修订教程和适用于高级用户的参考资料,以及对每个程序的基本用法的解释,并且运用它们创建简单、独立的应用程序。有了《flex与bison》,你会发现这些灵活的工具提供的广泛用途。
书籍目录
前言
第1章 flex和bison简介
词法分析和语法分析
正则表达式和词法分析
文法与语法分析
二义性文法:并不多见
添加更多的规则
flex和bison与手写的词法分析器和语法分析器的对比
练习
第2章 使用flex
正则表达式
flex词法分析器中的文件i/o操作
读取多个文件
flex词法分析器的i/o结构
起始状态和嵌套输入文件
符号表和重要语汇索引生成器
c语言交叉引用
练习
第3章 使用bison
bison语法分析器如何匹配输入
移进/归约分析
bison语法分析器
基于抽象语法树的改进的计算器
移进/归约冲突和操作符优先级
一个高级计算器
使用高级计算器
练习
第4章 分析sql
sql概述
关系操作
使用sql的三种方法
从sql到逆波兰式(rpn)
词法分析器
语法分析器
sql分析器的makefile
练习
第5章fiex规范参考
flex结构规范
begin
c++词法分析器
上下文相关性
定义(替换)
echo
输入管理
flex库
交互模式和批处理模式的词法分析器-
行号和yylineno
文字块
单一程序中的多重词法分析器
编译词法分析器的选项
flex词法分析器的可移植性
可重入词法分析器
正则表达式语法
reject
从yylex()返回值
起始状态
unput()
yyinput()yyunput()-
yyleng
yyless()
yylex()和yy decl
yymore()
yyrestart()
yy_scan_string和yy_scan_buffer
yy_user action
yywrap()
第6章 bison规范参考
bison语法结构
二义性和冲突
bison程序的问题
c++语法分析器
%code块
结束标记
错误记号和错误恢复
继承属性($0)
词法反馈
文字块
文字记号
位置
%parse-param
bison语法分析器的可移植性
优先级和结合性声明
递归规则
规则
特殊字符
%start声明
符号值
记号
可变语法和多重语法
多重语法分析器
y.output文件
bison库文件
yyabort
yyaccept
yybackup
yyclearin
yydebug和yydebug
yyerror
yyerror()
yyparse()
yyrecovering()
第7章 二义性和冲突
指针模型和冲突
冲突类型
语法分析器状态
name.output的内容
归约/归约冲突
移进/归约冲突
复习name.output中的冲突
常见的冲突例子
if/then/else
你如何解决冲突?
if/then/else(移进/归约冲突)
嵌套循环(移进/归约;中突)
表达式优先级(移进/归约冲突)
总结
练习
第8章 错误报告和恢复
错误报告
错误恢复
bison错误恢复
编译器错误恢复
练习
第9章 flex和bison进阶
纯词法分析器和纯语法分析器
glr分析
c++语法分析器
练习
附录 sql语法分析器文法和交叉引用
术语表
图书封面
图书标签Tags
无
评论、评分、阅读与下载