




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
词法分析试验词法分析试验词法分析试验V:1.0精细整理,仅供参考词法分析试验日期:20xx年X月词法分析程序实验实验题目:手动构造词法分析程序实验目的:掌握手动构造词法分析程序的基本思想实验设备(环境):实验基本要求:根据状态转换图利用C语言手工编写一个词法分析程序,对指定的源程序,给出程序的输出结果。实验内容及步骤:一、内容及要求:1.上机调试一个词法分析程序(程序1,见最后)(1)将单词分为标识符、常数、保留字和分隔符。(2)事先建立一保留字表,以备在识别保留字时进行查询。变量名表及常数表则在词法分析过程中建立。(3)所输出的每一单词,均按形如(CLASS,VALUE)的二元式编码。2.词法分析程序的输入程序1的输入一个PASCAL源程序sourcePROGRAMsource;{thislittlesourceprogramisusedtoillustratecompilingprocedure.}VARx,y,z:integer;a:integer;BEGIN2ab%%#x:=23+5;z:=xDIV-3b;y:=z+18*3;a:=x+(y-2)DIV4;END.3.词法分析程序的输出程序1的输出形如(CLASS,VALUE)的单词串(1,'PROGRAM')(7,'source')(9,';')(2,'VAR')(7,'x')(9,',')(7,'y')(9,',')(7,'z')(9,':')(6,'integer')(9,';')(7,'a')(9,':')(6,'integer')(9,';')(3,'BEGIN')(7,'x')(9,':=')(8,'23')(9,'+')(8,'5')(9,';')(7,'z')(9,':=')(7,'x')(4,'DIV')(9,'-')(9,';')(7,'y')(9,':=')(7,'z')(9,'+')(8,'18')(9,'*')(8,'3')(9,';')(7,'a')(9,':=')(7,'x')(9,'+')(9,'(')(7,'y')(9,'-')(8,'2')(9,')')(4,'DIV')(8,'4')(9,';')(5,'END')(9,'.')4.词法分析程序(程序1)说明附在最后面的词法分析程序(程序1)以“程序1的输入一个PASCAL源程序source”为输入程序,并对该程序进行一些词法检查,最后输出形如(CLASS,VALUE)的单词串作为词法分析程序的结果。二、改写词法分析程序对词法分析程序(程序1)进行改写,使其能对如下的源程序进行词法分析:PROGRAMsource;{thislittlesourceprogramisusedtoillustratecompilingprocedure.}VARx,y,z:integer;a:integer;BEGIN2ab%%#x:=23+5;z:=xDIV-3b;IFx>zTHENy:=z+18*3ELSEa:=x+(y-2)DIV4;END.附:程序1一个词法分析程序: out(u,"."); break; case'-': out(u,"-"); break; case'*': out(u,"*"); break; case'+': out(u,"+"); break; case'(': out(u,"("); break; case')': out(u,")"); break; case':': ch=fgetc(fp); if(ch=='=') out(u,":="); else { fseek(fp,-1,1); out(u,":"); } break; case'{': ch=fgetc(fp); while(ch!='}') {if(ch=='\n') line++; ch=fgetc(fp); } case'': case'\t': break; case'\n': line++; break; default:if(ch!=-1){ report_error(line);//非法字符 cout<<"非法字符:"; TOKEN[0]=ch; TOKEN[1]='\0'; cout<<TOKEN<<endl;}break; } } } }//////////////////////////////////////////////////intlookup(char*b){ inti; //intc; for(i=0;i<6;i++) { if(strcmp(b,s[i])==0) { returni+1;////////////////////////////////////wende } } return0; }/////////////////////////////////////////////voidout(inta,char*token){ FILE*fp; fp=fopen("","a"); fprintf(fp,"(%d,'%s')",a,token);fclose(fp);/* if(a<=6) { cout<<"(关键字"<<","<<token<<")"<<endl; } if(a==7) { cout<<"(标识符"<<","<<token<<")"<<endl; } if(a==8) { cout<<"(整数"<<","<<token<<")"<<endl; } if(a==9) { cout<<"(专用符号"<<","<<token<<")"<<endl; } if(a==10) { cout<<"(非法字符"<<","<<token<<")"<<endl; } if(a==11) { cout<<"(错误符号"<<","<<token<<")"<<endl; }*/}//////////////////////////////////////////////////////voidreport_error(intn){ cout<<"第"<<n<<"行错误!"<<endl;}intmain(intargc,char*argv[]){ FILE*fp; FILE*fq; charch; printf("源程序是:\n"); fp=fopen("","r"); fq=fopen("","w"); while(!feof(fp)) { ch=fgetc(fp); printf("%c",ch); } printf("\n"); printf("词法分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能门禁系统安装合同
- 教师职称评定育人工作证明
- Tricyclohexylphosphine-Tricyclohexylphosphane-生命科学试剂-MCE
- 影视剧制作投资拍摄协议
- Actein-Standard-生命科学试剂-MCE
- 寓言故事愚公移山的教育意义深度解读
- 美容美发产品使用效果免责承诺书
- 水电站落水孔清洗施工方案
- 苏州玻璃钢化粪池施工方案
- 2025年滁州c1货运上岗证模拟考试
- DB37-T4824-2025 乡镇(街道)应急物资配备指南
- 《康复评定技术》课件-第五章 运动控制
- 消防器材与消防设施的维护与检查
- 【理特咨询】2024生成式人工智能GenAI在生物医药大健康行业应用进展报告
- 2025年中国中煤能源股份有限公司招聘笔试参考题库含答案解析
- 2024年度碳陶刹车盘分析报告
- 2025年春新外研版(三起)英语三年级下册课件 Unit6第1课时Startup
- 2025年1月 浙江首考英语试卷
- 十首最美的唐诗
- 2024年中考二轮专题复习道德与法治主观题答题技巧(小论文)之演讲稿
- 社区管理与服务专业实习总结范文
评论
0/150
提交评论