词法分析器实验报告.doc

上传人:苏美尔 文档编号:6127270 上传时间:2020-09-11 格式:DOC 页数:7 大小:109.52KB
返回 下载 相关 举报
词法分析器实验报告.doc_第1页
第1页 / 共7页
词法分析器实验报告.doc_第2页
第2页 / 共7页
词法分析器实验报告.doc_第3页
第3页 / 共7页
词法分析器实验报告.doc_第4页
第4页 / 共7页
词法分析器实验报告.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《词法分析器实验报告.doc》由会员分享,可在线阅读,更多相关《词法分析器实验报告.doc(7页珍藏版)》请在三一文库上搜索。

1、实验报告实验题目:词法分析器 院系班级:计科系0901班 姓名学号: 2009210603实验时间:2011-10-21 实验目的设计。编制并调试一个词法分析程序,加深对词法分析原理的理解。实验要求设计出一个简单的词法分析程序,能够识别关键字(包含begin、if、end、 while、else、 then)、标识符、数字及数种符号(+、-、*、/、(、)、:、=、:=、#、=、;)。返回并打印各类字符所对应的种类编码及该字符所组成的二元组。算法设计流程图源代码 # include # include # include # include typedef struct int num; ch

2、ar *word; WORD; char token255=; char input255; int t=0; int i=0; char gjz610=begin,if,then,while,do,end; char ch; WORD* start() WORD*myword=new WORD; myword-num=1; myword-word=; t=0;ch=inputi;i+;while(ch= |ch=10)ch=inputi; i+;if (isalpha(ch) while(isalpha(ch)|isdigit(ch) tokent=ch; t+; tokent=0; ch=

3、inputi; i+; i-; int n=0; while(nnum=n+1; myword-word=token; return myword; n+; /关键字 myword-num=10; myword-word=token; return(myword);/标识符else if(isdigit(ch) while (isdigit(ch) tokent=ch; t+; tokent=0; ch=inputi; i+; i-; myword-num=11; myword-word=token; return(myword); /数字elseswitch(ch) case+:myword

4、-num=13; myword-word=+; return(myword);break; case-:myword-num=14; myword-word=-; return(myword);break; case*:myword-num=15; myword-word=*; return(myword);break; case/:myword-num=16; myword-word=/; return(myword);break; case) myword-num=21; myword-word=; return(myword); else if (ch=) myword-num=22;

5、myword-word=num=20; myword-word=:ch=inputi; i+; if(ch=) myword-num=24; myword-word=; return(myword); i-; myword-num=23; myword-word=; return(myword);break; case:ch=inputi; i+; if (ch=) myword-num=18; myword-word=:=; return(myword); i-; myword-num=17; myword-word=:; return(myword); break; case;:mywor

6、d-num=26; myword-word=; return(myword);break; case(:myword-num=27; myword-word=(; return(myword);break; case):myword-num=28; myword-word=); return(myword);break; case=:myword-num=27; myword-word=; return(myword);break; case#:myword-num=0; myword-word=#;break; case0:myword-num=1000; myword-word=OVER;

7、break; default: myword-num=-1; myword-word=error; return(myword);break;/符号 void main() WORD* newword=new WORD; printf(input your words:(end with #)n); scanf(%#s,input); while(newword-num!=1000) newword=start();printf(%d,%s) ,newword-num,newword-word); 实验结果心得体会通过这次实验更加深入的理解了词法分析器的功能及原理,也通过这次实验锻炼了自己编写算法及c程序的能力,虽然实验中存在不足但经过努力一一克服了,今后也会经常锻炼提高自己的能力。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1