C++源代码单词扫描程序(共7页).doc
《C++源代码单词扫描程序(共7页).doc》由会员分享,可在线阅读,更多相关《C++源代码单词扫描程序(共7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上院 系:计 算 机 学 院实验课程:编译原理实验实验项目:C+源代码单词扫描程序(词法分析)指导老师:黄煜廉一 实验项目C+源代码单词扫描程序(词法分析)二 实验要求1. C+源代码扫描程序识别C+记号。C+语言包含了几种类型的记号:标识符,关键字,数(包括整数、浮点数),字符串、注释、特殊符号(分界符)和运算符号等。2. 打开一个C+源文件,打印出所有以上的记号。3. 要求应用程序应为Windows界面。4. 选作部分:为了提高C+源程序的可读性,C+程序在书写过程中加入了空行、空格、缩进、注释等。假设你想牺牲可读性,以节省磁盘空间,那么你可以存贮一个删除了所有不必
2、要空格和注释的C+源程序的压缩文本。因此,程序中还应该有这样的压缩功能。5. 选作部分:进一步思考或实现如何进一步实现减小源文件大小的压缩功能。6. 应该书写完善的软件文档。三 需求分析1. 根据所需的功能程序应分为分析关键字、分析标识符、分析数字、分析串、分析注释、分析特殊字符和过滤多余字符几部分。2. 关键字有iostream.h.main.while .goto include for break case if struct class等。3. 过滤字符要考虑到空格和换行。四 实验代码五 #include 六 #include 七 #include 八 #include 九 #incl
3、ude 十 FILE *fp;十一 char string(char c); /字符串处理十二 char ch;十三 char *operate6=+,-,*,/,+,-; 十四 char *note4=/,/*,*/,;十五 char *symbol31=%,$,&,_,#,=,;十七 char *keyword35=iostream.h,include,break,case,char,const,continue,default,do,double, 十八 else,enum,cin,float,for,goto,if,int,long,cout, 十九 return,short,sign
4、ed,sizeof,static,struct,switch,typedef, printf,二十 union,unsigned,void,volatile,while,main; 二十一二十二 int search(char searchstr,int type) /符号匹配查找二十三 二十四 int i;二十五 switch (type)二十六 二十七 case 1:for(i=0;i35;i+)二十八 二十九 if(strcmp(keywordi,searchstr)=0)三十 return 1;三十一 三十二 三十三 case 2:三十四 三十五 for(i=0;i=5;i+)三十六
5、三十七 if(strcmp(operatei,searchstr)=0)三十八 return 1;三十九 四十 break;四十一 四十二 case 3: for(i=0;i31;i+)四十三 四十四 if(strcmp(symboli,searchstr)=0)四十五 return 1;四十六 break;四十七 case 4: for(i=0;i=3;i+)四十八 四十九 五十 if(!strcmp(notei,searchstr)&i=3) 五十一 五十二 string(searchstr);五十三 break;五十四 五十五 else if(!strcmp(notei,searchst
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 源代码 单词 扫描 程序
限制150内