电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

编译原理实验1扫描器的设计与实现

编译原理实验1扫描器的设计与实现_第1页
1/25
编译原理实验1扫描器的设计与实现_第2页
2/25
编译原理实验1扫描器的设计与实现_第3页
3/25
实验 1: 扫描器的设计与实现1.1. 目的和要求1. 加深对词法分析理论的理解,培育动手实践的能力。2. 学会从以字符串表示的源程序中识别出具有独立意义的基本语法单位,同时指出它们的属性的方法和技术。1.2. 实验环境Windows XP + WinTC1911.3. 实验准备1、先将课本 3。5 节词法分析程序的生成仔细的学习一遍,理解词法分析程序的构成过程.2、写出 C 语言测试程序,分析可能得到的结果。测试程序:#define pi 3.14void main(){ double r = 2。5; double s = 0.0; s = pi*r*r; printf("%f",s);}预测结果:(513 , # )(14,define) ( 100 , pi ) (200,3 ) (514,. ) ( 200,14) ( 1 , void)(2,main ) ( 502,()(503,))(506,{)(15,double)(100,r)(402,=)(200,2)(514,。)(200,5)(501,;)(15,double)(100,s)(402,=)(200,0)(514,.)(200,0)(501,;)(100,s)(402,=)(100,pi)(416,*)(100,r)(416,*)( 100 , r) ( 501 , ; ) ( 12,printf)(502 , ( )(509 , ” ) ( 511, % ) (100,f) ( 509 , ” )(512,,)(100,s)(503,))(501,;)(507,})1.4. 实验内容及步骤1、输入已给的文本格式的扫描程序 Lexical.c 文件,然后编译运行,检查修改错误。2、编译成功后,提示输入 C 语言测试程序,用回车键查看输出的单词流,即单词符号及其属性.3、比较自己分析的结果和屏幕上的输出结果.1.5. 实验小结1、得到的经验。通过本次实验,我了解了如何设计、编制并调试词法分析程序,加深了对词法分析原理的理解.同时,在编制和调试程序时要全面考虑,避开漏掉或者错误定义定界符等,造成不必要的错误。2、遇到的主要问题。忘记对空格、回车符等定界符进行设置等。3、改进方案。(1)char *keywords[15] = {”void",”main”,”if”,"then","break",”int”,"char",”float”,”include”,”for","while”,"printf",”scanf","define”,”double"};(2)case 13:{flag = 14;status = 1;break;}case 14:{flag = 15;status = 1;break;}(3)case’。’:{words[j] = ch;words[j+1] = '\0’;flag = 514;break;}case' ':{words[j] = ’ ';flag = 250;break;}case’\n':{flag = 251;break;}(4)else if(flag == 250||flag == 251){}修改前源代码:#include"std...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

编译原理实验1扫描器的设计与实现

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部