flex与bison(中文版)
2011-3
东南大学出版社
Jobn Levine
266
陆军
无
如果你需要分析或处理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语法分析器文法和交叉引用
术语表
无
如果精通了flex 和bison,在加上llvm的知识,自己创个语言吧。用于平时处理命令行和规则文本非常实用
flex跟bison的资料比较少,拿到这本书很幸运呐
经典书籍,不评论
很不错的专业书籍,适合想了解的人观看
经典系列,收藏收藏。
这方面的书很少,一定要支持。
也是一本很薄的书,但指导性很强,可以配合龙书《编译原理》一起看
这是一本牛书,理解了可以写自定义脚本语言。
书质量不错 内容也正是我想要的
书挺好的,帮朋友买的,朋友很喜欢
比较好,值得购买
质量挺好,比在书店买要便宜些,快递很快。
相当的不错。受益匪浅啊。谁看谁知道
经典书,细看
很好很强大,很X很暴力
这本书很不错,值得一读,印刷质量也很好
看不懂的号东西
不错的,对学校编译的同学很好用
很多东西并未提到,还是直接读软件附带的英文文档比较靠谱
系统显示延期送到,why?