lex与yacc(第2版)

lex与yacc(第2版)
作 者: John Levine 杨作梅 张旭东
出版社: 机械工业出版社
丛编项: O'Reilly精品图书系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: UNIX
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《lex与yacc(第2版)》作者简介

内容简介

本书对lex和yacc的重要主题提供了详尽的参考。对所有主要的lex和yacc的MS-DOS和UNIX版本,本书都进行了介绍,包括AT&Tlex和yacc、Berkeleyyacc、Berkeley/Gnuflex、Gunbison、MKSlex和yacc、AbraxasPCYACC等等。《lex与yacc》(第二版)是惟一一本专门介绍这两个重要的UNIX编程工具的书。这本新版本是完全的修订版,并以很多新的扩充示例代替了旧的示例。几个介绍性章节已经完全重写,还有一章专门介绍实现SQL语法,给出了有经验的程序员希望看到的各种细节。本书对lex和yacc的重要主题提供了详尽的参考。对所有主要的lex和yacc的MS-DOS和UNIX版本,本书都进行了介绍,包括AT&Tlex和yacc、Berkeleyyacc、Berkeley/Gnuflex、Gunbison、MKSlex和yacc、AbraxasPCYACC等等。◆“太棒了!我已经读完《lex与yacc》的第二版……总而言之,这是一件伟大的作品——这本书比第一版充实很多,详实而透彻。阅读的过程中,我经历了无数次的惊喜,心里总想‘可惜了,他们已经错过了也许是细微而精妙的地方,我先做个注释’,然而随后在下一个句子或段落就看到对该问题的阐释。”◆“[JohnLevine]做了大量的工作来完善这本书。我很高兴最终有一本好书推荐给人们。”———VernPaxson,lex的开发者封面介绍:封面上的动物特征是维多利亚王冠鸽——鸽子家族中最大的成员之一。与其他鸟类不同,有王冠的鸽子喝水时是把咏嘴浸入吸吮。蛋的孵化(一般有两个蛋)由一雌一雄共同分担,雄鸟白天孵化,雌鸟夜里孵化。维多利亚王冠鸽的羽毛明亮,深蓝色并带有紫色的斑纹,带有花边的扇状头冠,淡蓝色的羽毛。曼然它们在其产地新几内亚岛受法律保护,但是它们仍然成为一些觊觎其羽毛的偷猎者的目标,它们正处于濒临灭绝的危险之中。

图书目录

第一章 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

yxless()

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 1ex

附录二 AT&T yacc

附录三 Berkeley yacc

附录四 GNU bison

附录五 flex

附录六 MKS lex和yacc

附录七 Abraxas lex和 yacc

附录八 POSIX lex和 yacc

附录九 MGL编译程序代码

附录十 SQL分析程序代码

参考文献

词汇表