编译原理C语言词法分析器(2)

2020-05-08 09:38

fclose (floading);

/*建立注释文件:defination.txt*/

if ((floading=fopen(\{ printf(\ return; }

fclose (floading);

/*建立内部码文件:output.txt*/

if ((floading=fopen(\{ printf(\ return; }

fclose (floading);

/*建立保留字临时表文件:temp_key1*/

if ((floading=fopen(\{ printf(\ return; }

fclose (floading);

/*建立标识符临时文件:temp_key3*/

if ((floading=fopen(\{ printf(\ return; }

fclose (floading);

/*建立整数类型常量临时文件:temp_c40*/ if ((floading=fopen(\{ printf(\ return; }

fclose (floading);

/*建立浮点类型常量临时文件:temp_c41*/ if ((floading=fopen(\{ printf(\ return; }

fclose (floading);

/*建立字符类型常量临时文件:temp_c42*/ if ((floading=fopen(\{ printf(\

6

return; }

fclose (floading);

/*建立字符串类型常量临时文件:temp_c43*/ }

/******* 保留字及标识符判断函数 *******/

void char_search(char *word) {

int m,line=0,csi=0; int value=0; int value2=0; char c,cs[100];

FILE *foutput,*finput; for (m=1;m<=34;m++) { if (strcmp(word,key0[m])==0) { value=1; break; } }

if (value==1) { if (xx0[m]==0) { foutput=fopen(\ fprintf(foutput,\ fclose(foutput); xx0[m]=1; } foutput=fopen(\ fprintf(foutput,\ fclose(foutput); } else { if (temp_key3==0) { foutput=fopen(\ fprintf(foutput,\ fclose(foutput); temp_key3++; foutput=fopen(\ fprintf(foutput,\ fclose(foutput);

7

}

finput=fopen(\ c=fgetc(finput); while (c!=EOF) { while (c!='\\n') { cs[csi++]=c; c=fgetc(finput); } cs[csi]='\\0'; csi=0; line++; if ((strcmp(cs,word))==0) { value2=1; break; } else { value2=0; c=fgetc(finput); } }

fclose(finput); if (value2==1) { foutput=fopen(\ fprintf(foutput,\ fclose(foutput); } else { foutput=fopen(\ fprintf(foutput,\ fclose(foutput); temp_key3++; foutput=fopen(\ fprintf(foutput,\ fclose(foutput); foutput=fopen(\ fprintf(foutput,\ fclose(foutput); }

}

}

8

/******* 整数类型判断函数 *******/

void inta_search(char *word) {

FILE *foutput,*finput; char c;

char cs[100]; int csi=0; int line=0; int value2=0; if (temp_c40==0) { foutput=fopen(\ fprintf(foutput,\ fclose(foutput); temp_c40++; foutput=fopen(\ fprintf(foutput,\ fclose(foutput); }

finput=fopen(\ c=fgetc(finput); while (c!=EOF) { while (c!='\\n') { cs[csi++]=c; c=fgetc(finput); } cs[csi]='\\0'; csi=0; line++; if (strcmp(cs,word)==0) { value2=1; break; } c=fgetc(finput); }

fclose(finput); if (value2==1) { foutput=fopen(\ fprintf(foutput,\ fclose(foutput); } else

9

{ foutput=fopen(\ fprintf(foutput,\ fclose(foutput); temp_c40++; foutput=fopen(\ fprintf(foutput,\ fclose(foutput); foutput=fopen(\ fprintf(foutput,\ fclose(foutput); } }

/******* 浮点类型判断函数 *******/

void intb_search(char *word) {

FILE *foutput,*finput; char c;

char cs[100]; int csi=0; int line=0; int value2=0; if (temp_c41==0) { foutput=fopen(\ fprintf(foutput,\ fclose(foutput); temp_c41++; foutput=fopen(\ fprintf(foutput,\ fclose(foutput); }

finput=fopen(\ c=fgetc(finput); while (c!=EOF) { while (c!='\\n') { cs[csi++]=c; c=fgetc(finput); } cs[csi]='\\0'; csi=0; line++; if (strcmp(cs,word)==0)

10


编译原理C语言词法分析器(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:变频器多段速运行控制

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: