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