新書推薦:
《
“玉”见中国:玉器文化与中华文明(追寻玉出山河的前世今生,饱览中国万年玉文化的史诗画卷)
》
售價:NT$
690.0
《
官治与自治:20 世纪上半期的中国县制 最新修订版
》
售價:NT$
640.0
《
迈尔斯普通心理学
》
售價:NT$
760.0
《
面部填充术
》
售價:NT$
990.0
《
尼泊尔史:王权与变革
》
售價:NT$
430.0
《
战争事典085:德国人眼中的欧战胜利日:纳粹德国的最终失败
》
售價:NT$
499.0
《
步履匆匆:陈思和讲当代人文(杰出学者陈思和的人文之思、情怀之笔!)
》
售價:NT$
299.0
《
宋朝三百年
》
售價:NT$
790.0
|
內容簡介: |
本书的编写面向开设计算机学科的大专院校,提供一门接近实际C++语言的C—语言语法,给出详细的实践步骤和指导过程,引导性地完成一个实际可用的编译器,并提供测试样例来验证编译器实现的正确性。本书的实验设计包括词法分析与语法分析、语义分析、中间代码生成以及目标代码生成四个部分,贯穿整个编译器设计的全过程。它具有接近实际、拥有指导、提供验证和难度可调四个特点,并给出了详细的使用方式、时间安排和质量控制方案。
|
目錄:
|
目 录
丛书序言
前言
第1章 词法分析与语法分析1
1.1 实验内容 1
1.1.1 实验要求 1
1.1.2 输入格式 2
1.1.3 输出格式 2
1.1.4 测试环境 3
1.1.5 提交要求 3
1.1.6 样例(必做内容) 4
1.1.7 样例(选做要求) 7
1.2 实验指导 11
1.2.1 词法分析概述 12
1.2.2 GNU Flex介绍 13
1.2.3 Flex:编写源代码 14
1.2.4 Flex:书写正则表达式 17
1.2.5 Flex:高级特性 19
1.2.6 词法分析提示 21
1.2.7 语法分析概述 22
1.2.8 GNU Bison介绍 24
1.2.9 Bison:编写源代码 26
1.2.10 Bison:属性值的类型 28
1.2.11 Bison:语法单元的位置 30
1.2.12 Bison:二义性与冲突处理 31
1.2.13 Bison:源代码的调试 33
1.2.14 Bison:错误恢复 35
1.2.15 语法分析提示 36
第2章 语义分析 38
2.1 实验内容 38
2.1.1 实验要求 38
2.1.2 输入格式 40
2.1.3 输出格式 41
2.1.4 测试环境 41
2.1.5 提交要求 41
2.1.6 样例(必做内容) 42
2.1.7 样例(选做要求) 48
2.2 实验指导 51
2.2.1 属性文法 52
2.2.2 符号表 53
2.2.3 支持多层作用域的符号表 56
2.2.4 类型表示 58
2.2.5 语义分析提示 61
第3章 中间代码生成 63
3.1 实验内容 63
3.1.1 实验要求 63
3.1.2 输入格式 66
3.1.3 输出格式 66
3.1.4 测试环境 67
3.1.5 提交要求 67
3.1.6 样例(必做内容) 67
3.1.7 样例(选做要求) 70
3.2 实验指导 73
3.2.1 中间代码的分类 74
3.2.2 中间代码的表示(线形) 76
3.2.3 中间代码的表示(树形) 77
3.2.4 初探运行时环境 78
3.2.5 翻译模式(基本表达式) 81
3.2.6 翻译模式(语句) 83
3.2.7 翻译模式(函数调用) 84
3.2.8 翻译模式(数组与结构体) 85
3.2.9 中间代码生成提示 86
第4章 目标代码生成 88
4.1 实验内容 88
4.1.1 实验要求 88
4.1.2 输入格式 89
4.1.3 输出格式 90
4.1.4 测试环境 90
4.1.5 提交要求 90
4.1.6 样例 91
4.2 实验指导 95
4.2.1 QtSPIM简易教程 95
4.2.2 MIPS32汇编代码书写 97
4.2.3 指令选择 100
4.2.4 寄存器分配(朴素寄存器分配算法) 102
4.2.5 寄存器分配(局部寄存器分配算法) 103
4.2.6 寄存器分配(图染色算法) 104
4.2.7 寄存器分配(活跃变量分析) 106
4.2.8 寄存器分配(MIPS寄存器的使用) 107
4.2.9 栈管理 108
4.2.10 目标代码生成提示 113
附录A C––语言文法 115
附录B 虚拟机小程序使用说明 122
附录C 资源下载和安装介绍 125
参考文献 127
|
|