词法分析程序C.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
#includestdio.h #includestri ng.h #in cludectype.h #includewindows.h 〃判断读入的字符是否为字母 bool isLetter(char c) { if((c = 3 c = z) 11 (c = TV c = T)) { return true; } else return false; } 〃判断读入的字符是否为数字 bool isDigit(char c) { if(c =0‘ c = 9) { return true; } else return false; } 〃判断是否为关键字 bool isKey(char *string) { if(!strcmp(string,Mif)|| !strcmp(string,,for,,)|| !strcmp(string,,,while,)|| istrcm p(string,do)|| !strcmp(string,return)|| !strcmp(string,break”) || !strcmp(string,main,)|| !strcmp(string,Mint)|| !strcmp(string,readM)|| !strcmp(stri ng,“write”) || !strcmp(string,,,double,)|| !strcmp(string,nString)) return true; } else return false; } bool isError(char ch) { if(ch == @ || ch == *$? 11 ch == || ch == # || ch ==ch ==,A,) { return true; } else return false; } int main() { int es=0; char string[500]=””;〃存放文件中读出来的字符串 char str[1OO]=“”;/府放需要对比的字符串 char ch,c,ch1 ,ch2,ch3;//ch存放文件中的单个字符(翻译时用),c存放文件 中的单个字符(从文件中提取信息时用) char filename[20];〃文件名 int j=O,n,l=O; printf(”请输入文件名进行词法翻译:n); scanf(H%sH,filename); FILE *cfPtr,*fout=fopen(nresult.txt,,,nwH); 〃定义输入输出文件 if((cfPtr=fopen(filename,,,r,,))==NULL) 1(£耳卅舊一) e-se 宀 wh=e (一 feof(cfpm) 宀 s5ng=llgetc(cfp5\、M4亠4F-E- 満対時事 j+土 ini mH0HPPHl::、、ms?3a■ k 制 sir薯MsT^i siring =n?\5 j+± boo- checkHMUeQrrorHfa-seuJrHirue*、^^*-^^^ for(ini i H 0= A H =++) swiich (m) 宀 case?? ch n siring三八 if(chHLVr) 宀 p+土 if(chHHs) 宀 Ch3us5ng〔i+^ 宀 ifohn fprintf(fout;注释符 for( n=i+2;nj; n++) { i++; ch1=stri ng[n]; ch2=string[n+1]; if(ch1!=,*,||ch2!=7,) { if(ch2==E0F) { 有葡吴\n“); 第%( 有葡吴\n“); 第%(1 行! \n”,p); prin廿(”注释有误 break; } } else if(ch1 ==*,ch2==7,) { fprintf(fout,n 注释符严 ArT); i=i+2; break; } } } else fprintf(fout,”分界符:7\rT); m=0; } else if(ch==*||ch==||ch==!||ch===) { if(!check) { fprintf (fout,”标识符:%s\rT,str); i??; m=0; check=true; } else{ ch1=string[i4-1]; { if(ch1 ===*) { fprintf(fout,”双分界 符:%c=\n”,ch); m=0; i=i+1; break; } else { fprintf(foutJ^ 分界符:%c\n”,ch); m=0; } else if(ch == ch == ch == { || ch == } || ch == *C || ch == 丁||ch=*||ch==T|ch==w) {

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档