⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ccc_buidler.txt

📁 词法分析程序设计 1、给出各单词符号的类别编码。 2、词法分析程序应能发现输入串中的错误。 3、词法分析作为单独一遍编写
💻 TXT
📖 第 1 页 / 共 2 页
字号:
fb=fopen("od.txt","w"); 
for(m=1;m<=t;m++)//进行匹配并输出到目标文件ob.txt 
{ 
if(table[m]==NULL||table[m][0]==' '||table[m][0]=='\n')continue; 
n=0; 
if(table[m][0]==word[14][0]) 
{ 
fwrite(word[14],2,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
for(i=0;i<=13;i++) 
{ 
if(table[m][0]==word[i][0]) 
{ fwrite(table[m],1,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
} 
for(i=15;i<=21;i++) 
{ 
if(table[m][0]==word[i][0]&&table[m][1]==word[i][1]&&table[m][2]==word[i][2]) 
{ 
switch(i) 
{ 
case 15: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 16: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 17: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 18: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 19: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
case 20: fwrite(word[i],6,1,fb);fprintf(fb," %d \n",i+1); break; 
case 21: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
} 
} 
} 

} 

fclose(fb); 
}#include "stdio.h" 
#include "process.h" 
void main() 
{ 
char word[][12]={{"#"},{"\""},{"a"},{"b"},{"2"},{"3"},{"("},{")"},{"{"},{"}"},{"="},{","},{"+"},{";"},{"%d"},{"include"},{"stdio.h"},{"void"},{"main"},{"int"},{"printf"},{"sum"}}; 
//建立匹配表 
char string[]={'#','"','(',')','{','}','=','+','%',';',' ','\n',','};//标志符 
char table[100][10];//缓冲池 
char c; 
FILE *fp,*fb; 
int i,flag=0,m=0,n=0,t,s; 
fp=fopen("files.txt","r"); 
c=fgetc(fp); 
while(c!=EOF)//将文件读出,并分段存放在table字符串数组里 
{ 
for(i=0;i<=12;i++) 
if(c==string[i]) 
flag=1; 
if(flag==0)//不匹配 
{ 
table[m][n]=c; 
n++; 
} 
if(flag==1)//匹配 
{ table[m][n]='\0'; 
m++; 
table[m][0]=c; 
table[m][1]='\0'; 
m++; 
n=0; 
} 
t=m; 
c=fgetc(fp); 
flag=0; 
} 

fclose(fp); 
fb=fopen("od.txt","w"); 
for(m=1;m<=t;m++)//进行匹配并输出到目标文件ob.txt 
{ 
if(table[m]==NULL||table[m][0]==' '||table[m][0]=='\n')continue; 
n=0; 
if(table[m][0]==word[14][0]) 
{ 
fwrite(word[14],2,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
for(i=0;i<=13;i++) 
{ 
if(table[m][0]==word[i][0]) 
{ fwrite(table[m],1,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
} 
for(i=15;i<=21;i++) 
{ 
if(table[m][0]==word[i][0]&&table[m][1]==word[i][1]&&table[m][2]==word[i][2]) 
{ 
switch(i) 
{ 
case 15: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 16: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 17: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 18: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 19: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
case 20: fwrite(word[i],6,1,fb);fprintf(fb," %d \n",i+1); break; 
case 21: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
} 
} 
} 

} 

fclose(fb); 
}#include "stdio.h" 
#include "process.h" 
void main() 
{ 
char word[][12]={{"#"},{"\""},{"a"},{"b"},{"2"},{"3"},{"("},{")"},{"{"},{"}"},{"="},{","},{"+"},{";"},{"%d"},{"include"},{"stdio.h"},{"void"},{"main"},{"int"},{"printf"},{"sum"}}; 
//建立匹配表 
char string[]={'#','"','(',')','{','}','=','+','%',';',' ','\n',','};//标志符 
char table[100][10];//缓冲池 
char c; 
FILE *fp,*fb; 
int i,flag=0,m=0,n=0,t,s; 
fp=fopen("files.txt","r"); 
c=fgetc(fp); 
while(c!=EOF)//将文件读出,并分段存放在table字符串数组里 
{ 
for(i=0;i<=12;i++) 
if(c==string[i]) 
flag=1; 
if(flag==0)//不匹配 
{ 
table[m][n]=c; 
n++; 
} 
if(flag==1)//匹配 
{ table[m][n]='\0'; 
m++; 
table[m][0]=c; 
table[m][1]='\0'; 
m++; 
n=0; 
} 
t=m; 
c=fgetc(fp); 
flag=0; 
} 

fclose(fp); 
fb=fopen("od.txt","w"); 
for(m=1;m<=t;m++)//进行匹配并输出到目标文件ob.txt 
{ 
if(table[m]==NULL||table[m][0]==' '||table[m][0]=='\n')continue; 
n=0; 
if(table[m][0]==word[14][0]) 
{ 
fwrite(word[14],2,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
for(i=0;i<=13;i++) 
{ 
if(table[m][0]==word[i][0]) 
{ fwrite(table[m],1,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
} 
for(i=15;i<=21;i++) 
{ 
if(table[m][0]==word[i][0]&&table[m][1]==word[i][1]&&table[m][2]==word[i][2]) 
{ 
switch(i) 
{ 
case 15: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 16: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 17: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 18: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 19: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
case 20: fwrite(word[i],6,1,fb);fprintf(fb," %d \n",i+1); break; 
case 21: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
} 
} 
} 

} 

fclose(fb); 
}#include "stdio.h" 
#include "process.h" 
void main() 
{ 
char word[][12]={{"#"},{"\""},{"a"},{"b"},{"2"},{"3"},{"("},{")"},{"{"},{"}"},{"="},{","},{"+"},{";"},{"%d"},{"include"},{"stdio.h"},{"void"},{"main"},{"int"},{"printf"},{"sum"}}; 
//建立匹配表 
char string[]={'#','"','(',')','{','}','=','+','%',';',' ','\n',','};//标志符 
char table[100][10];//缓冲池 
char c; 
FILE *fp,*fb; 
int i,flag=0,m=0,n=0,t,s; 
fp=fopen("files.txt","r"); 
c=fgetc(fp); 
while(c!=EOF)//将文件读出,并分段存放在table字符串数组里 
{ 
for(i=0;i<=12;i++) 
if(c==string[i]) 
flag=1; 
if(flag==0)//不匹配 
{ 
table[m][n]=c; 
n++; 
} 
if(flag==1)//匹配 
{ table[m][n]='\0'; 
m++; 
table[m][0]=c; 
table[m][1]='\0'; 
m++; 
n=0; 
} 
t=m; 
c=fgetc(fp); 
flag=0; 
} 

fclose(fp); 
fb=fopen("od.txt","w"); 
for(m=1;m<=t;m++)//进行匹配并输出到目标文件ob.txt 
{ 
if(table[m]==NULL||table[m][0]==' '||table[m][0]=='\n')continue; 
n=0; 
if(table[m][0]==word[14][0]) 
{ 
fwrite(word[14],2,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
for(i=0;i<=13;i++) 
{ 
if(table[m][0]==word[i][0]) 
{ fwrite(table[m],1,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
} 
for(i=15;i<=21;i++) 
{ 
if(table[m][0]==word[i][0]&&table[m][1]==word[i][1]&&table[m][2]==word[i][2]) 
{ 
switch(i) 
{ 
case 15: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 16: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 17: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 18: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 19: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
case 20: fwrite(word[i],6,1,fb);fprintf(fb," %d \n",i+1); break; 
case 21: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
} 
} 
} 

} 

fclose(fb); 
}#include "stdio.h" 
#include "process.h" 
void main() 
{ 
char word[][12]={{"#"},{"\""},{"a"},{"b"},{"2"},{"3"},{"("},{")"},{"{"},{"}"},{"="},{","},{"+"},{";"},{"%d"},{"include"},{"stdio.h"},{"void"},{"main"},{"int"},{"printf"},{"sum"}}; 
//建立匹配表 
char string[]={'#','"','(',')','{','}','=','+','%',';',' ','\n',','};//标志符 
char table[100][10];//缓冲池 
char c; 
FILE *fp,*fb; 
int i,flag=0,m=0,n=0,t,s; 
fp=fopen("files.txt","r"); 
c=fgetc(fp); 
while(c!=EOF)//将文件读出,并分段存放在table字符串数组里 
{ 
for(i=0;i<=12;i++) 
if(c==string[i]) 
flag=1; 
if(flag==0)//不匹配 
{ 
table[m][n]=c; 
n++; 
} 
if(flag==1)//匹配 
{ table[m][n]='\0'; 
m++; 
table[m][0]=c; 
table[m][1]='\0'; 
m++; 
n=0; 
} 
t=m; 
c=fgetc(fp); 
flag=0; 
} 

fclose(fp); 
fb=fopen("od.txt","w"); 
for(m=1;m<=t;m++)//进行匹配并输出到目标文件ob.txt 
{ 
if(table[m]==NULL||table[m][0]==' '||table[m][0]=='\n')continue; 
n=0; 
if(table[m][0]==word[14][0]) 
{ 
fwrite(word[14],2,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
for(i=0;i<=13;i++) 
{ 
if(table[m][0]==word[i][0]) 
{ fwrite(table[m],1,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
} 
for(i=15;i<=21;i++) 
{ 
if(table[m][0]==word[i][0]&&table[m][1]==word[i][1]&&table[m][2]==word[i][2]) 
{ 
switch(i) 
{ 
case 15: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 16: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 17: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 18: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 19: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
case 20: fwrite(word[i],6,1,fb);fprintf(fb," %d \n",i+1); break; 
case 21: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
} 
} 
} 

} 

fclose(fb); 
}#include "stdio.h" 
#include "process.h" 
void main() 
{ 
char word[][12]={{"#"},{"\""},{"a"},{"b"},{"2"},{"3"},{"("},{")"},{"{"},{"}"},{"="},{","},{"+"},{";"},{"%d"},{"include"},{"stdio.h"},{"void"},{"main"},{"int"},{"printf"},{"sum"}}; 
//建立匹配表 
char string[]={'#','"','(',')','{','}','=','+','%',';',' ','\n',','};//标志符 
char table[100][10];//缓冲池 
char c; 
FILE *fp,*fb; 
int i,flag=0,m=0,n=0,t,s; 
fp=fopen("files.txt","r"); 
c=fgetc(fp); 
while(c!=EOF)//将文件读出,并分段存放在table字符串数组里 
{ 
for(i=0;i<=12;i++) 
if(c==string[i]) 
flag=1; 
if(flag==0)//不匹配 
{ 
table[m][n]=c; 
n++; 
} 
if(flag==1)//匹配 
{ table[m][n]='\0'; 
m++; 
table[m][0]=c; 
table[m][1]='\0'; 
m++; 
n=0; 
} 
t=m; 
c=fgetc(fp); 
flag=0; 
} 

fclose(fp); 
fb=fopen("od.txt","w"); 
for(m=1;m<=t;m++)//进行匹配并输出到目标文件ob.txt 
{ 
if(table[m]==NULL||table[m][0]==' '||table[m][0]=='\n')continue; 
n=0; 
if(table[m][0]==word[14][0]) 
{ 
fwrite(word[14],2,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
for(i=0;i<=13;i++) 
{ 
if(table[m][0]==word[i][0]) 
{ fwrite(table[m],1,1,fb); 
fprintf(fb," %d \n",i+1); 
} 
} 
for(i=15;i<=21;i++) 
{ 
if(table[m][0]==word[i][0]&&table[m][1]==word[i][1]&&table[m][2]==word[i][2]) 
{ 
switch(i) 
{ 
case 15: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 16: fwrite(word[i],7,1,fb);fprintf(fb," %d \n",i+1); break; 
case 17: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 18: fwrite(word[i],4,1,fb);fprintf(fb," %d \n",i+1); break; 
case 19: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
case 20: fwrite(word[i],6,1,fb);fprintf(fb," %d \n",i+1); break; 
case 21: fwrite(word[i],3,1,fb);fprintf(fb," %d \n",i+1);break; 
} 
} 
} 

} 

fclose(fb); 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -