词法分析报告.doc

词法分析报告.doc

ID:55987817

大小:1.76 MB

页数:11页

时间:2020-03-15

词法分析报告.doc_第1页
词法分析报告.doc_第2页
词法分析报告.doc_第3页
词法分析报告.doc_第4页
词法分析报告.doc_第5页
资源描述:

《词法分析报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.《编译原理》课程实验报告题目词法分析器的设计与实现专业软件工程班级20122012学号2012201225姓名杨帆指导教师曹雪哈尔滨工程大学软件学院2015年5月实验1:词法分析一、实验目的1.巩固对词法分析的基本功能和原理的认识。2.能够应用自动机的知识进行词法分析。3.理解并处理词法分析中的异常和错误。二、实验内容11精选WORD文档交流!.要求:对如下工作进行展开描述(1)给出语言的词法规则描述<字母>→a…z

2、A…Z<标识符>→<字母>

3、<数字>

4、<字母><数字><关键字>→while

5、do

6、break

7、if

8、goto

9、contin

10、ue<数字>→0

11、1

12、2

13、3

14、4

15、5

16、6

17、7

18、8

19、9<单界符>→<

20、>

21、:

22、*

23、/

24、+

25、-

26、=

27、;

28、)

29、(

30、#

31、<双界符>→:=

32、==

33、>=

34、<=

35、<>(2)针对这种单词的状态转换图和程序框图11精选WORD文档交流!.11精选WORD文档交流!.状态转换图程序框图(3)核心数据结构的设计单词符号种别编码单词符号种别编码-2-16#0:17while1:=18do2>20if3<>21continue4<=22goto5<23break6>=24标识符10=25数字11;26*13(27/14)28+1511精选WORD文档交流!.(

36、4)错误处理A.输入的字符串为数字,数字大于32767,在对应的数字段显示”Errorinrowa!”(a为字符串的队列号)。B.输入的字符不在定义中,输出结果会显示”Errorinrowa!”(a为字符串的队列号)。三、实验结果要求:将实验获得的结果进行描述,基本内容包括:(1)针对某测试程序输出其词法分析结果;(2)输出针对此测试程序对应的词法错误报告;(3)输出针对此测试程序对应的符号表。注:其中的测试样例自行产生。A.代码及分析代码:#include"iostream"usingnamespacestd;charprog[100],t

37、oken[20];charch;intsyn,p,m=0,n,row,sum=0;char*rwtab[6]={"while","do","if","continue","goto","break"};voidscaner(){for(n=0;n<8;n++)token[n]=NULL;ch=prog[p++];while(ch==''){ch=prog[p];p++;}if((ch>='a'&&ch<='z')

38、

39、(ch>='A'&&ch<='Z')){m=0;while((ch>='0'&&ch<='9')

40、

41、(ch>='a'&&ch<=

42、'z')

43、

44、(ch>='A'&&ch<='Z')){token[m++]=ch;ch=prog[p++];}token[m++]='';p--;syn=10;for(n=0;n<6;n++)if(strcmp(token,rwtab[n])==0){syn=n+1;break;11精选WORD文档交流!.}}elseif((ch>='0'&&ch<='9')){{sum=0;while((ch>='0'&&ch<='9')){sum=sum*10+ch-'0';ch=prog[p++];}}p--;syn=11;if(sum>32767)

45、syn=-1;}elseswitch(ch){case'<':m=0;token[m++]=ch;ch=prog[p++];if(ch=='>'){syn=21;token[m++]=ch;}elseif(ch=='='){syn=22;token[m++]=ch;}else{syn=23;p--;}break;case'>':m=0;token[m++]=ch;ch=prog[p++];if(ch=='='){11精选WORD文档交流!.syn=24;token[m++]=ch;}else{syn=20;p--;}break;case':'

46、:m=0;token[m++]=ch;ch=prog[p++];if(ch=='='){syn=18;token[m++]=ch;}else{syn=17;p--;}break;case'*':syn=13;token[0]=ch;break;case'/':syn=14;token[0]=ch;break;case'+':syn=15;token[0]=ch;break;case'-':syn=16;token[0]=ch;break;case'=':syn=25;token[0]=ch;break;case';':syn=26;token

47、[0]=ch;break;case'(':syn=27;token[0]=ch;break;11精选WORD文档交流!.case')':syn=28;token[0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。