Micro语言词法分析器相关内容.DOC

上传人:天*** 文档编号:3478310 上传时间:2019-05-31 格式:DOC 页数:5 大小:60KB
下载 相关 举报
Micro语言词法分析器相关内容.DOC_第1页
第1页 / 共5页
Micro语言词法分析器相关内容.DOC_第2页
第2页 / 共5页
Micro语言词法分析器相关内容.DOC_第3页
第3页 / 共5页
Micro语言词法分析器相关内容.DOC_第4页
第4页 / 共5页
Micro语言词法分析器相关内容.DOC_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、作者:西南大学 (小刁) 欢迎交流 qq:372688974Micro 语言词法分析器相关内容一、程序说明:在默认情况下,程序是对当前目录下的 micro.txt 文件的 micro 语言进行编辑。结果在屏幕上显示,同时也把结果放在了当前目录下的 answer.txt 文件中。二、单词符号的种别码及相应定义见下表:单词符号 种别码 内码值表示符 0 $idBegin 1 $beginEnd 2 $endRead 3 $readWrite 4 $writeInt 5 $int常数 6 $constant_ 7 $note:= 8 $sign+ 9 $sum- 10 $minus; 11 $sem

2、icolon( 12 $left) 13 $right三、词法分析器的状态转换图请见实验报告册四、程序源代码:#include #include #define N 20char *label5=“begin“,“end“,“read“,“write“,“int“;int primary(char *s)int i=0;for(;i=65if(primary(letter)0)printf(“%d,$%sn“,primary(letter),labelprimary(letter)-1);cha=primary(letter)+48;key0=;key1=cha;key2=,;key3=$;s

3、trcat(key,labelprimary(letter)-1);作者:西南大学 (小刁) 欢迎交流 qq:372688974strcat(key,“n“);fputs(key,ans) ;elseprintf(“%d,$idn“,primary(letter);fputs(“0,$idn“,ans);for(j=0;j=48ch=fgetc(filetxt);printf(“6,$constantn“);fputs(“6,$constantn“,ans);for(j=0;j10;j+)numberj=0; /* 判断常量 */else if(ch=_)ch=fgetc(filetxt);i

4、f(ch=_)while(ch!=n)ch=fgetc(filetxt);printf(“7,$noten“);fputs(“7,$noten“,ans);/*ch=fgetc(filetxt); */ /* 判断注释符- */else if(ch=:)ch=fgetc(filetxt);if(ch=)printf(“8,$signn“);作者:西南大学 (小刁) 欢迎交流 qq:372688974fputs(“8,$signn“,ans);ch=fgetc(filetxt); /* 判断 : */else if(ch=+)printf(“9,$sumn“);fputs(“9,$sumn“,a

5、ns);ch=fgetc(filetxt); /* 判断+ */else if(ch=-)printf(“10,$minusn“);fputs(“10,$minusn“,ans);ch=fgetc(filetxt); /*判断- */else if(ch=;)printf(“11,$semicolonn“);fputs(“11,$semicolonn“,ans);ch=fgetc(filetxt); /* 判断; */else if(ch=()printf(“12,$leftn“);fputs(“12,$leftn“,ans);ch=fgetc(filetxt); /* 判断( */else

6、if(ch=)printf(“13,$rightn“);fputs(“13,$rightn“,ans);ch=fgetc(filetxt); /* 判断) */elseprintf(“there have unknow letter in the %d linen“,count);break; /* 判断是否有不可识别字符 */fclose(filetxt);fclose(ans);getch();作者:西南大学 (小刁) 欢迎交流 qq:372688974五、测试程序(保存在文件 miacro.txt 文件中):begin;int x;x:=10;_ hahahahhax:=(8+9-10)

7、;read(x);write(x);end;六、程序结果(默认保存在文件 answer.txt 文件中) :1,$begin11,$semicolon5,$int0,$id11,$semicolon0,$id8,$sign6,$constant11,$semicolon7,$note0,$id8,$sign12,$left6,$constant9,$sum6,$constant10,$minus6,$constant13,$right11,$semicolon3,$read12,$left0,$id13,$right11,$semicolon4,$write12,$left0,$id13,$right11,$semicolon2,$end11,$semicolon

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。