《编译原理》
课 程 设 计
院 系 信息科学与技术学院 专 业 软件工程 年 级 2011级 学 号
姓 名 林苾湲
西南交通大学信息科学与技术学院
2013年 12月
目录
课程设计1 词法分析器............................................................................................. 2
1.1 设计题目................................................................................................. 2 1.2 设计内容................................................................................................. 2 1.3 设计目的................................................................................................. 2 1.4 设计环境................................................................................................. 2 1.5 需求分析................................................................................................. 2 1.6 概要设计................................................................................................. 2 1.7 1.8 1.9 1.10 课程设计2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10
详细设计................................................................................................. 4 编程调试................................................................................................. 5 测试....................................................................................................... 11 结束语................................................................................................... 13 赋值语句的解释程序设计................................................................... 14
设计题目............................................................................................... 14 设计内容............................................................................................... 14 设计目的............................................................................................... 14 设计环境............................................................................................... 14 需求分析............................................................................................... 15 概要设计............................................................................................... 16 详细设计............................................................................................... 16 编程调试............................................................................................... 24 测试....................................................................................................... 24 结束语................................................................................................... 25
课程设计一 词法分析器设计
一、设计题目
手工设计c语言的词法分析器(可以是c语言的子集)。
二、设计内容
处理c语言源程序,过滤掉无用符号,判断源程序中单词的合法性,并分解出正确的单词,以二元组形式存放在文件中。
三、设计目的
了解高级语言单词的分类,了解状态图以及如何表示并识别单词规则,掌握状态图到
识别程序的编程。
四、设计环境
该课程设计包括的硬件和软件条件如下:
4.1.硬件
(1)Intel Core Duo CPU P8700 (2)内存4G
4.2.软件
(1)Window 7 32位操作系统
(2)Microsoft Visual Studio c#开发平台
4.3.编程语言
C#语言
五、需求分析
5.1.源程序的预处理:源程序中,存在许多编辑用的符号,他们对程序逻辑功能无任何影响。例如:回车,换行,多余空白符,注释行等。在词法分析之前,首先要先剔除掉这些符号,使得词法分析更为简单。
5.2.单词符号的识别并判断单词的合法性:将每个单词符号进行不同类别的划分。单词符号可以划分成5中。
(1)标识符:用户自己定义的名字,常量名,变量名和过程名。 (2)常数:各种类型的常数。 (3) 保留字(关键字):如if、else、while、int、float等。 (4) 运算符:如+、-、*、<、>、=等。 (5)界符:如逗号、分号、括号等。
5.3.将所有合法的单词符号转化为便于计算机处理的二元组形式:(单词分类号,单词自身值);以图形化界面显示出来。
5.4.可选择性地将结果保存到文件中。
六、概要设计
6.1.数据类型
6.1.1.单词的分类:本词法分析器演示的是C语言的一个子集,故字符集如下: