logo
分类于: 人工智能 编程语言

简介

flex与bison(中文版)

flex与bison(中文版) 8.1分

资源最后更新于 2020-09-04 14:47:17

作者:Jobn Levine

译者:陆军

出版社:东南大学出版社

出版日期:2011-01

ISBN:9787564126056

文件格式: pdf

标签: 编译原理 词法解析 bison 计算机 flex 语法分析 计算机科学 编译

简介· · · · · ·

《flex与bison(中文版)》内容简介:如果你需要分析或处理Linux或Unix中的文本数据,这本有用的书籍就讲解了如何使用flex和bison迅速解决问题。《flex与bison》被期待已久,是经典O'Reilly系列书籍《lex & yacc》的续篇。在原书出版以来的近20年,flex和bison已被证明比原来的Unix工具更可靠、更强大。

《flex与bison》一书涵盖了Linux和Unix程序开发中相同的重要核心功能,以及一些重要的新主题。你会找到适用于新手的修订教程和适用于高级用户的参考资料,以及对每个程序的基本用法的解释,并且运用它们创建简单、独立的应用程序。有了《flex与bison》,你会发现这些灵活的工具提供的广泛用途。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

前言
第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章 Flex规范参考
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语法分析器文法和交叉引用
术语表