编译原理词法分析器c++源程序

编译原理词法分析器c++源程序

ID:5944541

大小:49.53 KB

页数:5页

时间:2017-12-29

编译原理词法分析器c++源程序_第1页
编译原理词法分析器c++源程序_第2页
编译原理词法分析器c++源程序_第3页
编译原理词法分析器c++源程序_第4页
编译原理词法分析器c++源程序_第5页
资源描述:

《编译原理词法分析器c++源程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编译原理的词法分析器C++源代码#include#include#include#include#include#includeFILE*fp;charch;char*keyword[34]={"auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","in

2、t","long","register","return","short","signed","sizeof","static","struct","switch","typedef","printf","union","unsigned","void","volatile","while","main"};char*operatornum[6]={"+","-","*","/","++","--"};char*comparison[8]={"<","<=","=",">",">=","<>","==","!="};char*interpunctio

3、n[8]={",",";",":=",".","(",")","{","}"};char*biaoshifu[6]={"%","$","^","&","_","#"};//特殊标识符char*zhushifu[3]={"//","/*","*/"};//注释符char*luoji[3]={"&&","

4、

5、","!"};//逻辑运算符//////////////////////////////////////////////////////////////////////////////////////////boolsearch(charsearch

6、str[],intwordtype){inti;switch(wordtype){case1:for(i=0;i<=33;i++){if(strcmp(keyword[i],searchstr)==0)return(true);}case2:{for(i=0;i<=5;i++){if(strcmp(operatornum[i],searchstr)==0)return(true);}break;}case3:{for(i=0;i<=7;i++){if(strcmp(comparison[i],searchstr)==0)return(true);}b

7、reak;}case4:for(i=0;i<=7;i++){if(strcmp(interpunction[i],searchstr)==0)return(true);}break;case5:for(i=0;i<=5;i++){if(strcmp(biaoshifu[i],searchstr)==0)return(true);}break;case6:for(i=0;i<=2;i++){if(strcmp(zhushifu[i],searchstr)==0)return(true);}break;case7:for(i=0;i<=2;i++){if

8、(strcmp(luoji[i],searchstr)==0)return(true);}break;}return(false);}///////////////////////////////////////////////////////////////////////////////////////////charletterprocess(charch)//字母处理函数{inti=-1;charletter[20];while(isalnum(ch)!=0){letter[++i]=ch;ch=fgetc(fp);};letter[i+1]

9、='';if(search(letter,1)){printf("<%s,关键字>",letter);//strcat(letter,"");//fputs('<'letter'>',outp);}else{printf("<%s,自定义变量>",letter);//strcat(letter,"");//fputs(letter,outp);}return(ch);}////////////////////////////////////////////////////////////////////////////////

10、///////////charnumberprocess(charch)//数字处理程序{inti=-1;c

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

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

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