资源描述:
《C语言词法分析器_源代码_风君版.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言词法分析器_源代码_风君版.txt小时候觉得父亲不简单,后来觉得自己不简单,再后来觉得自己孩子不简单。越是想知道自己是不是忘记的时候,反而记得越清楚。#include#include#includechar*key0[]={"","auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int","
2、long","register","return","short","signed","sizeof","static","struct","switch","typedef","_Complex","_Imaginary","union","unsigned","void","volatile","while"};/*保留字表*/char*key1[]={"","(",")","[","]","{","}",",",";","'"};/*分隔符表*/char*key2[]={"","+","-","*","/","%","<",">","==
3、",">=","<=","!=","!","&&","
4、
5、","<<",">>","~","
6、","^","&","=","?:","->","++","--",".","+=","-=","*=","/="};/*运算符表*/intxx0[35],xx1[10],xx2[31];inttemp_key3=0,temp_c40=0,temp_c41=0,temp_c42=0,temp_c43=0;/*******初始化函数*******/voidload(){intmm;for(mm=0;mm<=34;mm++){xx0[mm]=0;}for(
7、mm=0;mm<=9;mm++){xx1[mm]=0;}for(mm=0;mm<=30;mm++){xx2[mm]=0;}FILE*floading;if((floading=fopen("key0.txt","w"))==NULL){printf("Error!Can'tcreatefile:key0.txt");return;}fclose(floading);/*建立保留字表文件:key0.txt*/if((floading=fopen("key1.txt","w"))==NULL){printf("Error!Can'tcreatefi
8、le:key1.txt");return;}/*建立分隔符表文件:key1.txt*/if((floading=fopen("key2.txt","w"))==NULL){printf("Error!Can'tcreatefile:key2.txt");return;}fclose(floading);/*建立运算符表文件:key2.txt*/if((floading=fopen("key3.txt","w"))==NULL){printf("Error!Can'tcreatefile:key3.txt");return;}fclose(flo
9、ading);/*建立标识符表文件:key3.txt*/if((floading=fopen("c40.txt","w"))==NULL){printf("Error!Can'tcreatefile:c40.txt");return;}fclose(floading);/*建立整数类型常量表文件:c40.txt*/if((floading=fopen("c41.txt","w"))==NULL){printf("Error!Can'tcreatefile:c41.txt");return;}fclose(floading);/*建立浮点类型常量
10、表文件:c41.txt*/if((floading=fopen("c42.txt","w"))==NULL){printf("Error!Can'tcreatefile:c42.txt");return;}fclose(floading);/*建立字符类型常量表文件:c42.txt*/if((floading=fopen("c43.txt","w"))==NULL){printf("Error!Can'tcreatefile:c43.txt");return;}fclose(floading);/*建立字符串类型常量表文件:c43.txt*/i
11、f((floading=fopen("defination.txt","w"))==NULL){printf("Error!Can'tcreatefi