logo资料库

编译相关书籍推荐lex与yacc.pdf

第1页 / 共385页
第2页 / 共385页
第3页 / 共385页
第4页 / 共385页
第5页 / 共385页
第6页 / 共385页
第7页 / 共385页
第8页 / 共385页
资料共385页,剩余部分请下载后查看
封面
书名
版权
前言
目录
目录
第一章 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&Tlex
附录二 AT&Tyacc
附录三 Berkeleyyacc
附录四 GNUbison
附录五 flex
附录六 MKSlex和yacc
附录七 Abraxaslex和yacc
附录八 POSIXleX和yacc
附录九 MGL编译程序代码
附录十 SQL分析程序代码
参考文献
词汇表
分享到:
收藏