欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    词法分析实验报告范文.docx

    • 资源ID:85715262       资源大小:41.37KB        全文页数:19页
    • 资源格式: DOCX        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    词法分析实验报告范文.docx

    词法分析实验报告范文一、实验目得:通过设计编制调试一个具体得词法分析程序,加深对词法分析原理得理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词得词法分析方法。编制一个读单词过程,从输入得源程序中,识别出各个具有独立意义得单词,即基本保留字、标识符、常数、运算符、分隔符五大类.并依次输出各个单词得内部编码及单词符号自身值。二、实验要求如源程序为C语言输入如下一段:min()ina,b;=10;;02+a=#要求输出如右图.要求:1、将单词分为五种识别关键字:min、i、nt、for、while、o、eur、break、contine;单词种别码为1标识符;单词种别码为。常数为无符号整形数;单词种别码为3。运算符包括:+、某、=、<、=、<=、!;单词种别码为4。分隔符包括:,、;、(、);单词种别码为5。2、使用一符一种得分法关键字、运算符与分界符可以每一个均为一种标识符与常数仍然一类一种三、实验内容1、功能描述改程序就是一个实现词法分析得功能,能识别5种单词,其她单词报错。2、程序结构描述itIey(har某Word)关键字匹配函数,查询就是否为关键字,若就是,返回值为1,否则为0。inIlpha(charc)查瞧就是否为字母,若就是,返回值为1,否则为0。iINum(harc)查瞧就是否为数字,若就是,返回值为1,否则为。vodcanner(FIE某p)扫描函数,扫描程序中得字符串并调用上述三种函数检查就是否就是字母、数字,就是否就是关键字,并输出。eek(fp,1)回退一个字符。fget(fp)从数据流中区下一个字符。fope文件打开函数,返回指向文件第一个字符得指针四、实验结果测试内容为man()(1,”main”)(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,”“)ita,b;a=10;=a+20;#结果测试代码为vodain()nta,;if(a=10;)b=20;c=;#结果为测试代码man()ina,b;i(<=”10")20;c%;rtur;#结果五、实验过程记录1、因为用到回退函数eek(),而以前没有用过这个函数,所以开始时很苦恼,不知道如何回退一个字符,后来问了同学,才明白原来有这么一个函数,顿时豁然开朗。2、本次试验中word2保存字符串时,不能正确保存,总就是出错,原因就是hi(INu(ch)|Apa(h)Wordch;+ih=tc(fp);题问现发,索思次多来后,对不序次;hc=idroW与+,中六、实验总结本次实验花了将近一个下午才完成。在纸上设计得时间大约4分钟,剩下得时间就是录入与调试。本次实验使我认识到,一段时间搁置,不编程序,水平会下降,好多有关c语言得知识会忘掉,所以以后我会经常写写程序另外,通过本次实验,我又进一步加深对词法分析原理得理解。总得来说,获益匪浅!附录#includetrigg、hhiiccuueetd、iicldetdli、hh#iclddctype、hh#iclu<ioteam、hhChar某Kyy=”vid",”main",int”,”if”,”hen","e",return,”brea,"continue”;charch;存储识别出得单词流ntAlpa(charcc)/判断就是否为字母(ii((cz)&&(cc="a))|((<="Z)&&(c>=A"))retrn1;elereturn;iitINuu(char)/判断就是否为数字c(fiif(c=0&&c=")re1;lrrurn0;intIKy(charood)/识别关键字函数iit,i;ffrr(i=0;+)ii((mmtcmp(Wor,Kei)=)rrttn1;reuun0;vvdcanner(FIfp)/扫描函数ahcchaoodd20=;hcrahccharch;iit,c;ch=getc(fp);/获取字符,指针ff并自动指向下一个字符if(Alpha()/判断该字符就是否就是字母oWWo0ch;f=hcch=fetc(p);1=ii=1;wwiie(INum(h)|Alpha(ch))/判断该字符就是否就是字母或数字dich;;ii;ccffeetc(fp);oWWoi=";/00代表字符结束(空格)fee(fp,-1,);/回退一个字符ccKyy(WWrd);/判断就是否就是关键字f(c=)cout<(,"<Wrd"")""<<ndl;/不就是关键字eecout<”(1,"ord<<)<<ee;/输出关键字le/开始判断得字符不就是字母I(fiif(INN(cc))/判断就是否就是数字WWrd=ch;hhffetc(p);i=1;whiee(Nu(c)WWddiih;+;h=gecc(fp);roWWorddii=0"ek(fp,1,1);/回退cott<”(3,"<<rd<<)"<endl;ele/开始判断得字符不就是字母也不就是数字oodd0=c;witch()cae:ca":ca(:cc):cce":e:aae",:cae”:ae"":co<<(5,”<Wor<<"")"<end;break;cae+":=getc(fp);if(ch="=|ch=)Wor=;cou<"(4,”<<Wrd")<<enl;/运算符”+=”或判断结果为"+"eleee(fp,11,);cct<<”(44,”Word<<)<<en;/判断结果为"+"rbbrak;ca"":h=fetc(fp);ii(ch="=|ch=-)WWrr11cc;cout<”(4,”<<rd)<edl;eeefeek(fp,-,1);cout<""(44,"<WWrd<<)<enll;判断结果为”-”bbeak;ae":cae/:cae"!:a"=:ch=fgetc(fp);if(ch="")Wod1=c;cot<(4,""<Word)<<nd;llefek(fp,1,1);ccuu<<(4,”<WWrr<<"")<endl;brea;ca:ch=fgetc(pp);fiif(ch=|ch="<")Word=ch;cout"(4,”or<<)<<enl;elfek(p,-11,);ccut<”44”<Word<<e;/判断结果为"<”brea;cae":cfftc(fp);if(ch="|ch="")Wod1=h;cot<<"(4,”<Word")eedl;eleeek(pp,-1,);cou"(4,”<Word<<")"<<e;rek;defaul:cout<""(无法识别字符,"<<Word<<)""<endl;bbeekk;voidmain()FFLL某fp;"(nepof=pffp=fopen(":11、ttt”,”);(fp=NUL)/读取文件内容,并返回文件指针,该指针指向文件得第一个字符cut<"读入文件错误!”enll;e某t(0);t<""某某某某某某某某某某某某某词法分析结果如下某某某某某某某某某某某某某某”;whll(ch!=#)f(ctegf=hcch=fgetc(f);f(c#")rek;/文件以结尾,作为扫描结束条件eeeii(hh|ch=t"|ch=)/忽略空格,空白,与换行eefee(p,1);/回退一个字节开始识别单词流aaer(fp);

    注意事项

    本文(词法分析实验报告范文.docx)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开