编译原理词法分析课设.doc
文本预览下载声明
课 程 设 计 说 明 书
设计题目: 词法分析程序设计
专 业:计算机科学与技术 班级: 2011-01
设计人:
山 东 科 技 大 学
2014年 6 月 1 日
课 程 设 计 任 务 书
学院 信息科学与工程学院 专业 计算机科学与技术 班级 2011-01 姓名赵恒
一、课程设计题目: 词法分析程序设计
二、课程设计主要参考资料
(1)韩太鲁等,编译原理. 石油大学出版社.2007.9
(2) java 程序设计
(3)
三、课程设计应解决的主要问题:
(1)词法分析程序
(2) Lex自动词法分析程序的体验
(3)
(4)
四、课程设计相关附件(如:图纸、软件等):
(1) Myeclipse10.0、 word2003
(2) Microsoft Office Visio 2003
五、任务发出日期: 2014-3-5 课程设计完成日期: 2014-5-3
指导教师签字: 系主任签字:
指导教师对课程设计的评语
成绩:
指导教师签字:
年 月 日
词法分析程序
一、设计目的
通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
二、设计要求
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。 并依次输出各个单词的内部编码及单词符号自身值。
(遇到错误时可显示“Error”,然后跳过错误部分继续显示)
三、设计说明(含主要算法的流程图)
a)需求分析:
程序任务
编写一个读单词程序,具体能够实现以下功能
输入及其范围,输出形式,程序功能,测试数据(正确,错误数据)
1、输入及其范围(输入源程序存放在test.txt中)
识别保留字:if、int、for、while、do、return、break、continue等等;保留字类别码为1。
其他的都识别为标识符;单词类别码为2。
常数为无符号整形数;单词类别码为3。
运算符包括:+、-、*、/、=、、、=、=、!= ;类别码为4。
分隔符包括:,、;、{、}、(、); 类别码为5。
错误字符 类别码为 6。
2、输出形式
([数字],“单词“)数字代表所识别的单词所属的类型。
3、程序功能
输入源程序,进行识别之后输出。
4、测试数据
int main(){
int a;
a = 10;
int i=3;
while(i=0)
{
if(a10)
break;
else
a++;
i--;
}
return 0;
}
b)概要设计
1、数据类型的定义
定义三个字符串,用于输入程序单词的匹配。
String key[]={if,int,for,while,bre
显示全部