出版社: 机械工业出版社
原作名: lex & yacc
译者: 杨作梅 / 张旭东
出版年: 2003-1
页数: 375
定价: 45.00元
丛书: O'Reilly动物系列(中译本)
ISBN: 9787111107217
内容简介 · · · · · ·
《lex与yacc》(第二版)是惟一一本专门介绍这两个重要的UNIX编程工具的书。这本新版本是完全的修订版,并以很多新的扩充示例代替了旧的示例。几个介绍性章节已经完全重写,还有一章专门介绍实现SQL语法,给出了有经验的程序员希望看到的各种细节。
本书对lex和yacc的重要主题提供了详尽的参考。对所有主要的lex和yacc的MS-DOS和UNIX版本,本书都进行了介绍,包括AT&T lex和yacc、Berkeley yacc、Berkeley/Gnu flex、Gnu bison、MKS lex和yacc、Abraxas PCYACC等等。
“太棒了!我已经读完《lex与yacc》的第二版……总而言之,这是一件伟大的作品 —— 这本书比第一版充实很多,详实而透彻。阅读的过程中,我经历了无数次的惊喜,心里总想‘可惜了,他们已经错过了也许是细微而精妙的...
《lex与yacc》(第二版)是惟一一本专门介绍这两个重要的UNIX编程工具的书。这本新版本是完全的修订版,并以很多新的扩充示例代替了旧的示例。几个介绍性章节已经完全重写,还有一章专门介绍实现SQL语法,给出了有经验的程序员希望看到的各种细节。
本书对lex和yacc的重要主题提供了详尽的参考。对所有主要的lex和yacc的MS-DOS和UNIX版本,本书都进行了介绍,包括AT&T lex和yacc、Berkeley yacc、Berkeley/Gnu flex、Gnu bison、MKS lex和yacc、Abraxas PCYACC等等。
“太棒了!我已经读完《lex与yacc》的第二版……总而言之,这是一件伟大的作品 —— 这本书比第一版充实很多,详实而透彻。阅读的过程中,我经历了无数次的惊喜,心里总想‘可惜了,他们已经错过了也许是细微而精妙的地方,我先做个注释’,然而随后在下一个句子或段落就看到对该问题的阐释。”
“[John Levine]做了大量的工作来完善这本书。我很高兴最终有一本好书推荐给人们。”
——Vern Paxson,flex的开发者
作者简介 · · · · · ·
John R. Levine
John R. Levine编著、演讲和咨询过许多有关UNIX和编译程序的主题。他主持了Usenet上的在线comp.compilers.discussion组,从事Lotus 1-2-3的UNIX版本以及Norton实用程序的设计工作,并且是IMB RT PC的AIX设计者之一。1984年他获得了耶鲁大学计算机科学博士学位。
Tony Mason
Tony Mason目前是Transarc 公司AFS开发组成员,创办投资的这个小公司专攻分布式系统软件。以前,他工作于斯坦福大学的分布式操作系统和数据通信领域的Distributed Systems Group。1987年他在芝加哥大学获得数学理学学士学位。
Doug Brown
Doug Brown是俄勒冈州的一位咨询人员。他自1977年开始从事电路仿真、合成和...
John R. Levine
John R. Levine编著、演讲和咨询过许多有关UNIX和编译程序的主题。他主持了Usenet上的在线comp.compilers.discussion组,从事Lotus 1-2-3的UNIX版本以及Norton实用程序的设计工作,并且是IMB RT PC的AIX设计者之一。1984年他获得了耶鲁大学计算机科学博士学位。
Tony Mason
Tony Mason目前是Transarc 公司AFS开发组成员,创办投资的这个小公司专攻分布式系统软件。以前,他工作于斯坦福大学的分布式操作系统和数据通信领域的Distributed Systems Group。1987年他在芝加哥大学获得数学理学学士学位。
Doug Brown
Doug Brown是俄勒冈州的一位咨询人员。他自1977年开始从事电路仿真、合成和测试工作。他是O'Reilly & Associates, Inc.出版的《lex & yacc》一书的作者之一。他1976年毕业于Illinois大学Urbana-Champaign分校,获得了电气工程硕士学位。
Doug Brown是Beaverton、Oregon的顾问和承包商。自1977年以来他一直在开发电路模拟、合成和测试的软件。Doug与人合著了《C++:The Core Language》—— 它是O'Reilly & Associates公司出版的另一本技术手册。1976年他在伊利诺斯州大学厄巴纳-尚佩恩分校获得电气工程理学硕士学位。
目录 · · · · · ·
第一章 lex和yacc
最简单的lex程序
用lex识别单词
语法
运行lex和yacc
lex和手写的词法分析程序
练习
第二章 使用lex
正则表达式
单词计数程序
分析命令行
C源代码分析程序
小结
练习
第三章 使用yacc
语法
移进/归约分析
yacc语法分析程序
词法分析程序
算术表达式和歧义性
变量和有类型的标记
符号表
函数和保留字
用make构建语法分析程序
小结
练习
第四章 菜单生成语言
MGL的概述
开发MGL
构建MGL
屏幕处理
结束
MGL代码示例
练习
第五章 分析SQL
SQL的要点概述
语法检查程序
语法分析程序
嵌入式SQL
练习
第六章 lex规范参考
lex规范的结构
BEGIN
程序错误
字符变换
上下文相关
定义(替换)
ECHO
包含操作(文件的逻辑嵌套)
从字符串中输入
input()
内部表(%N声明)
lex库
行号和yylineno
文字块
一个程序中的多个词法分析程序
output()
lex 词法分析程序的可移植性
正则表达式语法
REJECT
从yylex()中返回值
起始状态
unput()
yyinput()、yyoutput()、yyunput()
yyleng
yyless()
yylex()
yymore()
yytext
yywrap()
第七章 yacc语法参考
yacc语法的结构
动作
歧义和冲突
yacc中的程序错误
结束标记
错误标记和错误恢复
%ident 声明
继承的属性($0)
词汇的反馈
文字块
文字标记
yacc语法分析程序的可移植性
优先级、结合性和操作符声明
递归规则
规则
特殊字符
开始声明
符号值
标记
%type声明
%union声明
变体和多重语法
y.output文件
yacc库
YYABORT
YYACCEPT
YYBACKUP
yyclearin
yydebug和YYDEBUG
yyerrok
YYERROR
yyerror()
yyparse()
YYRECOVERING()
第八章 yacc歧义和冲突
指针模型和冲突
冲突的普通示例
如何修复冲突
小结
练习
第九章 错误报告和恢复
错误报告
错误恢复
练习
附录一 AT&T lex
附录二 AT&T yacc
附录三 Berkeley yacc
附录四 GNU bison
附录五 flex
附录六 MKS lex和yacc
附录七 Abraxas lex和yacc
附录八 POSIX lex和yacc
附录九 MGL编译程序代码
附录十 SQL分析程序代码
参考文献
词汇表
· · · · · · (收起)
丛书信息
· · · · · ·
喜欢读"lex与yacc"的人也喜欢的电子书 · · · · · ·
喜欢读"lex与yacc"的人也喜欢 · · · · · ·
- 虚拟机的设计与实现 7.3
- 现代体系结构的优化编译器 9.0
- 编译原理 8.8
- 可变目标C编译器 8.7
- Perl最佳实践 8.6
- flex与bison(中文版) 8.0
- 现代编译原理 8.3
- 垃圾收集 8.3
lex与yacc的书评 · · · · · · ( 全部 11 条 )
有意思的工具 没意思的书
> 更多书评 11篇
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- O'Reilly 之动物书 (leafduo)
- 可爱的O'Reilly的小动物们 (cherry)
- 程序解体诸因 (在坡华子)
- O'Reilly动物中文系列 (曹小操)
- 语言 (陆离)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于lex与yacc的评论:
feed: rss 2.0
0 有用 微胖界领袖 2010-12-23 21:06:12
有些地方的翻译很奇怪。 由于lex与yacc已经很老了,读了个大概以后就去读flex and bison了。
1 有用 孔明 2011-03-23 18:08:50
工具书,适合突击阅读,比如一晚上。
0 有用 Linxh 2008-01-02 14:19:19
做编译实习的参考书
0 有用 henix 2012-04-30 20:00:55
还是看 manual 吧
0 有用 jjgod 2008-06-29 12:37:36
翻译较烂
1 有用 豆瓣酱 2015-06-19 15:33:07
这个可以有
0 有用 lijigang 2014-04-21 14:38:02
编译原理课程设计就是用lex+yacc做的
0 有用 Coppola 2014-03-11 14:51:40
工具书
0 有用 锻炼右脑 2013-06-15 23:54:32
配合编译原理,实用工具书。
0 有用 Makewonder 2013-02-06 10:10:44
好像没读完,就需要用的时候读了一下,纯当课外兴趣吧