编译原理第二版目录

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

dy章引论11.1语言处理器11.2一个编译器的结构21.2.1词法分析31.2.2语法分析41.2.3语义分析51.2.4中间代码生成51.2.5代码优化51.2.6代码生成61.2.7符号表管理61.2.8将多个步骤组合成趟61.2.9编译器构造工具71.3程序设计语言的发展历程71.3.1走向高级程序设计语言71.3.2对编译器的影响81.3.31.3节的练习81.4构建一个编译器的相关科学81.4.1编译器设计和实现中的建模91.4.2代码优化的科学91.5编译技术的应用101.5.1高级程序设计语言的实现101.5.2针对计算机体系结构的优化111.5.3新计算机体系结构的设计121.5.4程序翻译131.5.5软件生产率工具141.6程序设计语言基础151.6.1静态和动态的区别151.6.2环境与状态151.6.3静态作用域和块结构171.6.4显式访问控制181.6.5动态作用域191.6.6参数传递机制201.6.7别名211.6.81.6节的练习221.7dy章的总结221.8dy章的参考书目23第2章一个简单的语法制导翻译器242.1引言242.2语法定义252.2.1文法定义262.2.2推导272.2.3语法分析树282.2.4二义性292.2.5运算符的结合性292.2.6运算符的优先级302.2.72.2节的练习312.3语法制导翻译322.3.1后缀表示332.3.2综合属性332.3.3简单语法制导定义352.3.4树的遍历352.3.5翻译方案352.3.62.3节的练习372.4语法分析372.4.1自顶向下分析方法382.4.2预测分析法392.4.3何时使用产生式412.4.4设计一个预测语法分析器412.4.5左递归422.4.62.4节的练习422.5简单表达式的翻译器432.5.1抽象语法和具体语法432.5.2调整翻译方案432.5.3非终结符号的过程442.5.4翻译器的简化452.5.5完整的程序462.6词法分析472.6.1剔除空白和注释482.6.2预读482.6.3常量492.6.4识别关键字和标识符492.6.5词法分析器502.6.62.6节的练习532.7符号表532.7.1为每个作用域设置一个符号表542.7.2符号表的使用562.8中间代码生成572.8.1两种中间表示形式572.8.2语法树的构造582.8.4三地址码612.8.52.8节的练习622.9第2章的总结66第3章词法分析663.1词法分析器的作用683.1.1词法分析及解析683.1.2词法单元、模式、词素693.1.3词法单元的属性693.1.4词法错误703.1.53.1节的练习713.2输入缓冲713.2.1缓冲区对713.2.2哨兵标记723.3词法单元的规约723.3.1串和语言733.3.2语言上的运算743.3.3正则表达式753.3.4正则定义753.3.5正则表达式的扩展773.3.63.3节的练习783.4词法单元的识别783.4.1状态转换图803.4.2保留字和标识符的识别823.4.3完成我们的连续性例子833.4.4基于状态转换图的词法分析器的体系结构843.4.53.4节的练习843.5词法分析器生成工具Lex893.5.1Lex的使用893.5.2Lex程序的结构893.5.3Lex中的冲突解决913.5.4向前看运算符923.5.53.5节练习923.6有穷自动机933.6.1不确定的有穷自动机933.6.2转换表943.6.3NFA接受输入字符串943.6.4确定的有穷自动机953.6.53.6节的练习963.7从正则表达式到自动机963.7.1从NFA到DFA的转换963.7.2NFA的模拟993.7.3NFA模拟效率993.7.4从正则表达式构造NFA1003.7.5字符串处理算法的效率1033.7.63.7节的练习1053.8词法分析器生成工具的设计1053.8.1被生成的词法分析器的结构1053.8.2基于NFA的模式匹配1063.8.3词法分析器使用的DFA1073.8.4实现向前看运算符1083.8.53.8的练习1093.9基于DFA的模式匹配器的优化1093.9.1NFA的重要状态1093.9.2根据抽象语法树计算得到的函数1103.9.3计算nullable、firstpos及lastpos1113.9.4计算followpos1123.9.5根据正则表达式构建DFA1133.9.6zui小化一个DFA的状态数1143.9.7词法分析器的状态zui小化1163.9.8在DFA模拟中用时间换取空间1163.9.93.9节的练习1173.9.10第3章的总结1183.11第3章参考文献119第4章语法分析1214.1引论1214.1.1语法分析器的角色1214.1.2代表性的文法1224.1.3语法错误的处理1234.1.4错误恢复策略1234.2上下文无关文法1244.2.1上下文无关文法的正式定义1254.2.2符号表示的惯例1254.2.3推导1264.2.4语法分析树和推导1274.2.5二义性1284.2.6验证文法生成的语言1294.2.7上下文无关文法和正则表达式1304.2.84.2节的练习1304.3设计文法1324.3.1词法分析和语法分析1324.3.2消除二义性1334.3.3左递归的消除1344.3.4提取左公因子1354.3.5非上下文无关的语言构造1364.3.64.3节的练习1374.4自顶向下的语法分析1374.4.1递归下降的语法分析1394.4.2FIRST和FOLLOW1404.4.3LL(1)文法1414.4.4非递归的预测分析1444.4.5预测分析中的错误恢复1454.4.64.4节的练习1474.5自底向上的语法分析1484.5.1归约1494.5.2句柄剪枝1494.5.3移入-归约语法分析技术1504.5.4移入-归约语法分析中的冲突1514.5.54.5节的练习1524.6LR语法分析技术介绍:简单LR技术1534.6.1为什么使用LR语法分析器?1534.6.2项和LR(0)自动机1544.6.3LR-语法分析算法1584.6.4构造SLR-分析表1614.6.5可行前缀1634.6.64.6节的练习1644.7更强大的LR语法分析器1654.7.1规范LR(1)项1654.7.2构造LR(1)项集1664.7.3规范LR(1)分析表1694.7.4构造LALR语法分析表1704.7.5LALR语法分析表的高效构造方法1734.7.6LR语法分析表的压缩1764.7.74.7节的练习1774.8使用二义性文法1784.8.1用优先级和结合性解决冲突1784.8.2“悬空-else”二义性1794.8.3LR语法分析中的错误恢复1814.8.44.8节的练习1824.9语法分析器的生成工具1834.9.1语法分析器的生成工具Yacc1834.9.2使用Yacc处理二义性文法1854.9.3用Lex创建Yacc的词法分析器1874.9.4Yacc中的错误恢复1884.9.54.9节的练习1894.10:第4章的小结1894.11第4章的参考文献191第5章语法制导的翻译1945.1语法制导定义1945.1.1继承属性和综合属性1955.1.2在一棵语法分析树的结点上对一个SDD求值1965.1.35.1节的练习1985.2SDD的求值顺序1985.2.1依赖图1995.2.2属性求值的顺序2005.2.3S-属性定义2005.2.4L-属性定义2015.2.5具有受控副作用的语义规则2025.2.65.2节的练习2035.3语法制导翻译的应用2035.3.1抽象语法树的构造2035.3.2类型的结构2065.3.35.3节的练习2075.4语法制导的翻译方案2075.4.1后缀翻译方案2075.4.2后缀SDT的语法分析栈实现2085.4.3产生式内部带有语义动作的SDT2095.4.4从SDT中消除左递归2105.4.5L-属性定义的SDT2125.4.65.4节的练习2165.5实现L-属性的SDD2165.5.1在递归下降语法分析过程中进行翻译2175.5.2边扫描边生成代码2195.5.3L-属性的SDD和LL语法分析2205.5.4L-属性的SDD的自底向上语法分析2245.5.55.5节的练习2265.6第5章的总结2275.7第5章的参考文献228第6章中间代码生成229第7章运行时刻环境275第7章总结322第8章代码生成326第9章机器无关优化374dy0章指令级并行450dy1章并行性和局部性的优化487dy2章过程间分析573

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功