现代编译原理c语言描述

现代编译原理c语言描述

ID:4148128

大小:108.73 KB

页数:9页

时间:2017-11-29

现代编译原理c语言描述_第1页
现代编译原理c语言描述_第2页
现代编译原理c语言描述_第3页
现代编译原理c语言描述_第4页
现代编译原理c语言描述_第5页
资源描述:

《现代编译原理c语言描述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、作者简介AndrewW.Appel,美国普林斯顿大学计算机科学系教授,第26届ACMSIGPLAN-SIGACT程序设计原理年会大会执行主席,1998-1999年在贝尔实验室做研究工作。主要研究方向是计算机安全、编译器设计、程序设计语言等。本书简介  本书全面讲述了现代编译器的各个组成部分,包括词法分析、语法分析、抽象语法、语义检查、中间代码表示、指令选择、数据流分析、寄存器分配以及运行时系统等。全书分成两部分,第一部分是编译的基础知识,适用于第一门编译原理课程(一个学期);第二部分是高级主题,包括面向对象语言和函数语言、垃圾收集、循环优化、SSA(静态单赋值)形式、循环调度、存储

2、结构优化等,适合于后续课程或研究生教学。书中专门为学生提供了一个用C语言编写的实习项目,包括前端和后端设计,学生可以在一学期内创建一个功能完整的编译器。  本书适用于高等院校计算机及相关专业的本科生或研究生,也可供科研人员或工程技术人员参考。目录第一部分 编译基本原理第1章 绪论 11.1 模块与接口 11.2 工具和软件 31.3 树语言的数据结构 3程序设计:直线式程序解释器 7推荐阅读 9习题 9第2章 词法分析 102.1 词法单词 102.2 正则表达式 112.3 有限自动机 132.4 非确定有限自动机 152.4.1 将正则表达式转换为NFA 162.4.2 将NF

3、A转换为DFA 182.5 Lex:词法分析器的生成器 20程序设计:词法分析 22推荐阅读 23习题 23第3章 语法分析 273.1 上下文无关文法 283.1.1 推导 293.1.2 语法分析树 293.1.3 二义性文法 303.1.4 文件结束符 313.2 预测分析 323.2.1 FIRST集合和FOLLOW集合 333.2.2 构造一个预测分析器 353.2.3 消除左递归 363.2.4 提取左因子 373.2.5 错误恢复 373.3 LR分析 393.3.1 LR分析引擎 403.3.2 LR(0)分析器生成器 413.3.3 SLR分析器的生成 443.3

4、.4 LR(1)项和LR(1)分析表 453.3.5 LALR(1)分析表 463.3.6 各类文法的层次 473.3.7 二义性文法的LR分析 473.4 使用分析器的生成器 483.4.1 冲突 493.4.2 优先级指导 503.4.3 语法和语义 533.5 错误恢复 543.5.1 用error符号恢复 543.5.2 全局错误修复 55程序设计:语法分析 57推荐阅读 58习题 58第4章 抽象语法 624.1 语义动作 624.1.1 递归下降 624.1.2 Yacc生成的分析器 624.1.3 语义动作的解释器 644.2 抽象语法分析树 654.2.1 位置 6

5、74.2.2 Tiger的抽象语法 68程序设计:抽象语法 71推荐阅读 71习题 72第5章 语义分析 735.1 符号表 735.1.1 多个符号表 745.1.2 高效的命令式风格符号表 755.1.3 高效的函数式符号表 765.1.4 Tiger编译器的符号 775.1.5 函数式风格的符号表 795.2 Tiger编译器的绑定 795.3 表达式的类型检查 825.4 声明的类型检查 845.4.1 变量声明 845.4.2 类型声明 855.4.3 函数声明 855.4.4 递归声明 86程序设计:类型检查 87习题 87第6章 活动记录 896.1 栈帧 906.1

6、.1 帧指针 916.1.2 寄存器 926.1.3 参数传递 926.1.4 返回地址 946.1.5 栈帧内的变量 946.1.6 静态链 956.2 Tiger编译器的栈帧 966.2.1 栈帧描述的表示 986.2.2 局部变量 986.2.3 计算逃逸变量 996.2.4 临时变量和标号 1006.2.5 两层抽象 1006.2.6 管理静态链 1026.2.7 追踪层次信息 102程序设计:栈帧 103推荐阅读 103习题 103第7章 翻译成中间代码 1067.1 中间表示树 1067.2 翻译为树中间语言 1087.2.1 表达式的种类 1087.2.2 简单变量 

7、1117.2.3 追随静态链 1127.2.4 数组变量 1137.2.5 结构化的左值 1147.2.6 下标和域选择 1147.2.7 关于安全性的劝告 1157.2.8 算术操作 1167.2.9 条件表达式 1167.2.10 字符串 1177.2.11 记录和数组的创建 1187.2.12 while循环 1197.2.13 for循环 1197.2.14 函数调用 1207.3 声明 1207.3.1 变量定义 1207.3.2 函数定义 1207.3.3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。