第1章引言
1.1Helloworld编译过程分析
1.1.1HelloWorld程序源文件
1.1.2词法分析
1.1.3语法分析
1.1.4语义分析
1.1.5链接器
1.2SCC编译器简介
1.2.1SCC编译器架构
1.2.2SCC编译器开发环境
1.2.3SCC编译器运行环境
第2章文法知识
2.1语言概述
2.2形式语言
2.2.1字母表和符号串
2.2.2文法与语言的形式定义
2.2.3文法与语言的类型
2.2.4程序设计语言描述工具
2.3词法分析方法
2.3.1词法定义例举
2.3.2状态转换图
2.3.3词法分析程序流程图
2.4语法分析方法
2.4.1LL分析器
2.4.2LL(k)文法
2.4.3LL(1)文法
2.4.4递归子程序法
2.4.5文法的等价变换
第3章SC语言定义
3.1SC语言的蓝本选择
3.1.1K&R C
3.1.2C89
3.1.3C99
3.2SC语言对C89简化原则
3.3SC语言的字符集
3.3.1基本字符集
3.3.2扩展字符集
3.4SC语言词法定义
3.4.1关键字
3.4.2标识符
3.4.3整数常量
3.4.4字符常量
3.4.5字符串常量
3.4.6运算符及分隔符
3.4.7注释
3.5SC语言语法定义
3.5.1外部定义
3.5.2语句
3.5.3表达式
3.6SC语言与C语言功能对比
3.6.1关键字
3.6.2数据类型
3.6.3存储类型
3.6.4常量
3.6.5变量
3.6.6函数
3.6.7语句
3.6.8表达式
第4章SC语言词法分析
4.1词法分析任务的官方说法
4.2单词编码
4.3词法分析用到的数据结构
4.3.1动态字符串
4.3.2动态数组
4.3.3哈希表
4.3.4单词表
4.4错误处理,未雨绸缪
4.5词法分析过程
4.5.1词法分析主程序
4.5.2预处理
4.5.3解析标识符
4.5.4解析整数
4.5.5解析字符串
4.5.6词法分析流程图
4.6词法着色
4.7控制程序
4.8词法分析成果展示
第5章SC语言语法分析
5.1外部定义
5.1.1翻译单元
5.1.2外部声明
5.1.3类型区分符
5.1.4结构区分符
5.1.5函数调用约定
5.1.6结构成员对齐
5.1.7声明符
5.1.8初值符
5.2语句
5.2.1复合语句
5.2.2表达式语句
5.2.3选择语句
5.2.4循环语句
5.2.5跳转语句
5.3表达式
5.3.1赋值表达式
5.3.2相等类表达式
5.3.3关系表达式
5.3.4加减类表达式
5.3.5乘除类表达式
5.3.6一元表达式
5.3.7后缀表达式
5.3.8初值表达式
5.4语法缩进
5.4.1用到的全局变量及枚举
5.4.2语法缩进程序
5.5总控程序
5.6成果展示
第6章符号表
6.1符号表简介
6.1.1收集符号属性
6.1.2语义的合法性检查
6.2符号表用到的主要数据结构
6.2.1栈结构
6.2.2符号表结构
6.2.3数据类型结构
6.2.4存储类型
6.3符号表的构造过程
6.3.1外部声明
6.3.2类型区分符
6.3.3结构区分符
6.3.4声明符
6.3.5变量初始化
6.3.6复合语句
6.3.7sizeof表达式
6.3.8初等表达式
6.4控制程序
6.5成果展示
第7章生成COFF目标文件
7.1COFF文件结构
7.1.1基本概念
7.1.2总体结构
7.1.3COFF文件头
7.1.4节头表
7.1.5代码节内容
7.1.6数据节与导入节内容
7.1.7COFF符号表
7.1.8COFF字符串表
7.1.9COFF重定位信息
7.2生成COFF目标文件
7.2.1生成节表
7.2.2生成符号表
7.2.3生成重定位信息
7.2.4生成目标文件
7.3成果展示
……
第8章x86机器语言
第9章SCC语义分析
第10章链接器
第11章SC语言程序开发
参考文献
附录A SC语言文法定义中英文对照表