新書推薦:

《
印度古因明研究
》
售價:NT$
602.0

《
帝国痼疾:殖民主义、奴隶制和战争如何改变医学
》
售價:NT$
367.0

《
理智与疯狂
》
售價:NT$
347.0

《
数字文化:公共空间、平台与算法
》
售價:NT$
505.0

《
明代一条鞭法(精)--梁方仲著作集
》
售價:NT$
398.0

《
自我与本我:弗洛伊德经典心理学著作(精装典藏版)
》
售價:NT$
347.0

《
消费是什么 : 关于消费主义的社会学研究(一本书告诉你为什么买买买之后也有巨大空虚感)
》
售價:NT$
301.0

《
人类简史系列(白金纪念版)(套装共4册)
》
售價:NT$
1612.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
|
|