第1章 项目总体介绍 1
1.1项目需求 1
1.2 C0语言介绍 1
1.3基本概念 2
1.4 C0词法分析器 6
Token设计 6
词法分析器 8
算法原理 9
1.5 C0语法分析器 10
语法分析器 10
算法原理 10
1.6 C0解释器 11
虚拟存储器 11
虚拟输入器 12
虚拟输出器 12
运算分量栈 12
运算符号栈 13
算法原理 14
1.7小结 15
第2章 面向对象方法 16
2.1面向对象方法概述 16
2.2面向对象的基本概念 17
对象 17
类 17
消息 18
封装 20
继承 21
多态性 22
结构与连接 22
2.3面向对象的软件工程方法 23
2.4面向对象方法与过程式程序设计 25
从面向过程到面向对象程序设计 25
面向对象方法的优势 27
2.5小结 29
第3章 统一建模语言UML 30
3.1软件建模的原因 30
3.2 UML的发展历程 30
3.3什么是UML 31
3.4 UML建模工具 33
Rational Rose 33
Visio 33
3.5 UML的主要内容 37
UML的视图 38
UML的图 39
UML的基本模型元素 40
3.6用例图 41
用例图模型 41
角色与用例 41
3.7类图 42
类图模型 42
类图模型的语法表示 43
3.8对象图 45
3.9包图 45
3.10状态图 46
3.11活动图 46
3.12时序图 47
3.13协作图 48
3.14组件图 48
3.15部署图 49
3.16小结 50
第4章 C0解释程序的面向对象分析 51
4.1概述 51
4.2软件开发的一般步骤 52
4.3软件生命周期模型 53
4.4分析、设计与编程的关系 54
4.5面向对象分析、设计与UML建模的关系 55
4.6面向对象分析的基本过程 56
4.7建立用例模型 57
角色的识别 57
用例的识别 58
用例之间的关系 59
用例的描述 60
C0解释程序的用例模型 60
4.8建立概念模型 62
识别类 62
确定类之间的联系 63
C0解释程序的初步概念模型 64
4.9小结 64
第5章 C0解释程序的面向对象设计 66
5.1类的设计 66
确定类的服务 66
确定类的属性 67
C0解释程序的类图 67
5.2面向数据设计 70
映射表类 70
链表类 71
解释环境类Context 72
5.3面向实体设计 73
词法分析类Lexer 73
语法分析类Parser 73
解释器类Interpreter 74
5.4面向接口设计 74
文件类File 75
错误记录类ErrorLog 75
5.5面向关系设计 76
Token类 76
语句类 77
表达式类 77
5.6命名空间划分 79
命名机制 79
模块化机制 79
使用其他命名空间的元素 79
5.7异常处理 80
5.8小结 81
第6章 C0解释程序的面向对象实现 82
6.1注释、命名与代码规范 82
注释的内容 82
XML文档注释 82
命名和代码规范 84
6.2类的构造 85
6.3类和源文件组织 85
6.4静态类 86
6.5接口类 87
6.6单核类 88
6.7面向对象的测试 91
原型测试 91
单元测试 96
系统测试 96
6.8使用Microsoft Visual Studio 2008编写C++控制台应用程序 97
Microsoft Dream Spark计划:学生免费获得正版Visual Studio2008 Professional Edition 97
使用Visual Studio 2008编写控制台应用程序 97
使用Visual Studio 2008自动生成类图 100
6.9 C0解释器安装和使用说明 103
安装与卸载 103
使用说明 106
6.10小结 106
第7章 C0集成开发环境的设计与实现 107
7.1 Windows窗口程序基本运行原理 107
Windows窗口程序的驱动方式 107
Windows消息机制 108
.NET Framework与WinForm应用程序开发模型 110
7.2需求分析 112
俘获需求 112
从需求出发建立概念模型 113
从需求出发建立用例模型 114
7.3设计方案 117
用例分析 117
交互设计 118
用户界面设计 118
体系结构设计与实现 121
类模型的建立 122
7.4使用Visual Studio 2008编写WinForm应用程序 123
WinForm应用程序的创建 123
WinForm应用程序的部署 126
7.5 C0 IDE安装配置和使用说明 136
系统要求 136
安装与卸载 137
配置与使用 140
7.6小结 142
附录A C0解释器源代码 143
A.1命名空间划分 143
A.2基本类型和行为单元 143
单词语义编码SemanCode 143
单词类型TokenType 144
Token类及其子类 144
Expression类及其子类 147
Statement类及其子类 149
错误类Error 151
A.3数据结构 152
记号链表TokenList 152
语句链表StatementList 155
栈Stack 157
A.4词法分析阶段 158
单词与语义编码映射类SemanMapper 158
单词与记号类型的映射类TypeMapper 159
标识符与语义编码映射IDTable 160
文件类File 160
词法分析器类Lexer 163
A.5语法分析阶段 166
操作符优先级类OperatorPriority 166
自动操作符栈OperatorStack 167
语法分析器类Parser 168
A.6解释执行阶段 174
解释环境类Context 174
错误记录ErrorLog 174
解释器类Interpreter 175
A.7主函数 178
参考文献 179