已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*实验1 词法分析源码已经通过VS2010调试,亲测可用,有打开文件操作(在工程文件夹里建一个program.txt,输入程序串即可)。也可从键盘直接输入源码,后面的语法分析也能用的上,欢迎使用。*/#include#include #includeusing namespace std;void KeyFunction();void ReadTxt();void main() int choose;cout(1,2)choose;if(choose=1)cout请输入程序段:以 # 结束:=a&b=A&b=a&b=A&b=0&b=9) di+=b; b=getchar();for(j=0;j12;j+)/*查询保留字表确定该单词是否是保留字*/ if(strcmp(d,aj)=0) cout关键字dendl; k=1; break;if(k=0)/*在保留字表中没有查到该单词,是标识符*/ cout标识符dendl;for(j=0;j=0&b=0&b=0&b=0&b=0&b=0&b=0&b=9) state=6;di+=b;b=getchar(); else state=7; break; case 7: f=1;break; case 8: f=1;break; if(state=7&(bz)&(bZ) cout数字d=a&b=A&b=a&b=A&b=Z) di+=b; b=getchar(); couterror line!endl; else couterror line!endl; for(j=0;j=i;j+)dj=0; i=0; f=0; state=1; else if(b=)/*识别、=和*/ di+=b; b=getchar(); if(b=|b=) di+=b; b=getchar(); cout运算符dendl; for(j=0;j=i;j+) dj=0; i=0; else cout运算符dendl; for(j=0;j)/*识别和=*/ di+=b; b=getchar(); if(b=) di+=b; b=getchar(); cout运算符dendl; for(j=0;j=i;j+) dj=0; i=0; else cout运算符dendl; for(j=0;j=i;j+) dj=0; i=0; else if(b=:)/*识别:=*/ di+=b; b=getchar(); if(b=) di+=b; b=getchar(); cout符号dendl; else couterror line!endl; for(j=0;j=i;j+) dj=0; i=0; else if(b=*|b=+|b=-|b=/|b=)/*识别运算符*/ cout运算符bendl; b=getchar(); else if(b=(|b=)|b=,|b=;|b=.)/*识别分隔符*/ cout分隔符bendl; b=getchar(); else couterror line!=a&b=A&b=a&b=A&b=0&b=9) di+=b; b=out.get();for(j=0;j12;j+)/*查询保留字表确定该单词是否是保留字*/ if(strcmp(d,aj)=0) cout关键字dendl; k=1; break;if(k=0)/*在保留字表中没有查到该单词,是标识符*/ cout标识符dendl;for(j=0;j=0&b=0&b=0&b=0&b=0&b=0&b=0&b=9) state=6;di+=b;b=out.get(); else state=7; break; case 7: f=1;break; case 8: f=1;break; if(state=7&(bz)&(bZ) cout数字d=a&b=A&b=a&b=A&b=Z) di+=b; b=out.get(); couterror line!endl; else couterror line!endl; for(j=0;j=i;j+)dj=0; i=0; f=0; state=1; else if(b=)/*识别、=和*/ di+=b; b=out.get(); if(b=|b=) di+=b; b=out.get(); cout运算符dendl; for(j=0;j=i;j+) dj=0; i=0; else cout运算符dendl; for(j=0;j)/*识别和=*/ di+=b; b=out.get(); if(b=) di+=b; b=out.get(); cout运算符dendl; for(j=0;j=i;j+) dj=0; i=0; else cout运算符dendl; for(j=0;j=i;j+) dj=0; i=0; else if(b=:)/*识别:=*/ di+=b; b=out.get(); if(b=) di+=b; b=out.get(); cout符号dendl; else couterror line!endl; for(j=0;j=i;j+) dj=0; i=0; else if(b=*|b=+|b=-|b=/|b=)/*识别运算符*/ cout运算符bendl; b=out.get(); else if(b=(|b=)|b=,|b=;|b=.)/*识别分隔符*/ cout分隔符bendl;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 息肉切除术护理措施
- 沪科黔科版《综合实践活动》5上家乡“非遗”小调查
- 高一日记600字范文5篇
- 对安吉游戏的心得体会-对安吉游戏的心得体会
- 给妈妈的感谢信模板汇编六篇
- 《水浒传》读后感汇编15篇
- 四年级体育教学计划范文集合6篇
- 临床医学生卫生院实习自我鉴定范文
- 营销方案策划公司模板汇编七篇
- 千万师生同上一堂国家安全教育课观后感感受十篇2022
- 变更索赔成功案例-某工程窝工变更索赔报告
- GB 19517-2004国家电气设备安全技术规范
- 模具定期保养点检表
- 山西省太原市市药品零售药店企业药房名单目录
- 工程部长桥梁工程施工技术(PPT116)
- 全面设备保养TPM培训教材课件
- 茶叶企业营销课件
- 高炉无料钟炉顶设备安装与调试技术
- 初中语文人教九年级上册如何分析环境描写的作用 教案
- 压力容器壁厚快速计算
- 抗菌药物供应目录备案表
评论
0/150
提交评论