词法分析器的构造-南邮2016-编译原理实验一报告(共13页).doc
《词法分析器的构造-南邮2016-编译原理实验一报告(共13页).doc》由会员分享,可在线阅读,更多相关《词法分析器的构造-南邮2016-编译原理实验一报告(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实 验 报 告(2015 / 2016 学年 第 二 学期)课程名称编译原理实验名称词法分析器的构造实验时间2016年4月29日指导单位计算机软件教学中心指导教师学生姓名wujun班级学号学院(系)计算机学院、软件学院专 业计算机科学与技术专心-专注-专业实 验 报 告实验名称词法分析器的构造指导教师实验类型设计实验学时4实验时间2016.4.29一、 实验目的和要求1、实验目的:设计、编制、调试一个词法分析程序,对单词进行识别和编码,加深对词法分析原理的理解。2、实验要求:1)、允许用户自己输入源程序并保存为文件;2)、系统能够输出经过预处理后的源程序(去掉注释、换
2、行、空格等);3)、能够将该源程序中所有的单词根据其所属类型(整数、保留字、运算符、标识符等。定义的类C语言中的标识符只能以字母或下划线开头)进行归类显示,例如:识别保留字:if、int、for、while、do、return、break、continue等,其他的都识别为标识符;常数为无符号整形数;运算符包括:+、-、*、/、=、=、=、!=等;分隔符包括:,、;、(、)等;4)、实现文件的读取操作,而不是将文本以字符串形式预存于程序中。文本内容为待分析的类C语言程序。二、实验环境(实验设备) 硬件:计算机 软件:Visual C +6.0二、 实验原理及内容 1、实验内容:设计并实现一个词
3、法分析器,实现对指定位置的类C语言源程序文本文件的读取,并能够对该源程序中的所有单词进行分类,指出其所属类型,实现简单的词法分析操作。例如下面为一段C语言源程序: main() int a,b; a = 10; b = a + 20; 要求输出如下: (2,main) (5,() (5,)(5,) (5,)(5,)(5, )(1,int)(2,a)(5,,)(2,b)(5,;)(2,a)(4,=)(3,10)(5,;)(2,b)(4,=)(2,a)(4,+)(3,20)(5,;)(5,) 2、实验原理状态转换图 3、 实验代码:实验代码:#include #include #include #
4、include #include#includestruct Char /创建一个结构用于存贮关键字char a15;typedef struct Char CH;/定义关键字CH keyWord67=auto,break,case,cout,cin,char,const,continue,default, do,double,else,enum,endl,extern,float,for,goto,if,main, include,int,long,register,return,short,signed,sizeof,static, string,struct,switch,typedef
5、,union,unsigned,void,stdio,while, cin,cout,catch,calss,ctype,stdlib,fstream,export,iostream, false,friend,inline,mutable,namespace,new,operator,private, protected,public,static_cast,template,this,throw,true,try, typename,using,virtual,asm;/检测是否为数字,是返回true,否则返回falsebool IsDigit(char A) if(A=0 & A=A&c
6、h=a&ch=z)return true;return false;/检测是否为分隔符,是则返回true,否则返回falsebool IsSeparator(char ch) if(ch =(|ch=)|ch =|ch =|ch=;|ch=,|ch=.|ch=:|ch=|ch=|ch=|ch=|ch=#|ch=_)return true;return false;/检测是否为关键字,是则返回true,否则返回falsebool IsKeyWord(char *a) int i = 0;for(i; i 67; i+)if (strcmp(a,keyWordi.a) = 0)return tru
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 词法 分析器 构造 南邮 2016 编译 原理 实验 报告 13
限制150内