词法分析程序.doc

词法分析程序.doc

ID:52456914

大小:66.50 KB

页数:7页

时间:2020-03-27

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

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

1、*******************************************词法分析程序2007.12.5********************************************/#include#include#includevoidinit();/*******************************************主函数********************************************/main(){inti;i

2、nit();/*初始化*/i=scanner();/*扫描源程序*/if(i==1)printf("Theanswerisin'output.txt':");getch();}/*******************************************初始化函数********************************************/voidinit(){char*key[]={"","auto","break","case","char","const","continue","default","do","

3、double","else","enum","extern","float","for","goto","if","int","long","register","return","short","signed","sizeof","static","struct","switch","typedef","union","unsigned","void","volatile","while"};/*C语言所有关键字,共个*/char*limit[]={"","(",")","[","]","->",".","!","++","--","&

4、","~","*","/","%","+","-","<<",">>","<","<=",">",">=","==","!=","&&","

5、

6、","=","+=","-=","*=","/=",",",";","{","}","#","_","'"};/*共个运算、限界符*/FILE*fp;inti;charc;fp=fopen("key.txt","w");for(i=1;i<=32;i++)fprintf(fp,"%s",key[i]);fclose(fp);/*初始化关键字*/fp=fopen("limit.txt","w")

7、;for(i=1;i<=38;i++)fprintf(fp,"%s",limit[i]);c='"';fprintf(fp,"%c",c);fclose(fp);/*初始化运算、限界符表*/fp=fopen("id.txt","w");fclose(fp);/*初始化标识符表*/fp=fopen("constant.txt","w");fclose(fp);/*初始化常数表*/fp=fopen("output.txt","w");fclose(fp);/*初始化输出文件*/}/***************************

8、****************十进制转二进制函数********************************************/char*dtb(char*buf){inttemp[20];char*binary;intvalue=0,i=0,j;for(i=0;buf[i]!='';i++)value=value*10+(buf[i]-48);/*先将字符转化为十进制数*/if(value==0){binary=malloc(2*sizeof(char));binary[0]='0';binary[1]='';ret

9、urn(binary);}i=0;while(value!=0){temp[i++]=value%2;value/=2;}temp[i]='';binary=malloc((i+1)*sizeof(char));for(j=0;j<=i-1;j++)binary[j]=(char)(temp[i-j-1]+48);binary[i]='';return(binary);}/*******************************************根据不同命令查表或造表函数************************

10、********************/intfind(char*buf,inttype,intcommand){intnumber=0;FILE*fp;charc;chartemp[30]

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

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

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