亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 234.c

?? c詞法分析器
?? C
字號(hào):
#include<iostream.h> 
#include<fstream.h> 
#include<stdlib.h> 
#include<stdio.h> 
#include<string.h> 
#include<conio.h> 
#include<process.h> /*頭文件*/ 

void init(); 
char *DchangeB(char *buf); 
int search(char *buf,int type,int command); 
void intdeal(char *buffer); 
void chardeal(char *buffer); 
void errordeal(char error,int lineno); 
void scanner(); 

void init() 
{ char *key[]={"","auto","break","case","char","const","continue","default","do","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語(yǔ)言所有關(guān)鍵字/ 
char *limit[]={" ","(",")","[","]","->",".","!","++","--","&","~", 
"*","/","%","+","-","<<",">>","<","<=",">",">=","==","!=","&&","||", 
"=","+=","-=","*=","/=",",",";","{","}","#","_","'"};/*運(yùn)算、限界符*/ 
fstream outfile; 
int i,j; 
char *c; 
outfile.open("key.txt",ios::out); 
for(i=0;i<32;i++) 
outfile<<key[i]<<endl; 
outfile.close(); 
outfile.open("Limit.txt",ios::out); 
for(j=0;j<38;j++) 
outfile<<limit[j]<<endl; 
c=""; 
outfile<<c; 
outfile.close(); 
outfile.open("bsf.txt",ios::out); 
outfile.close(); 
outfile.open("cs.txt",ios::out); 
outfile.close(); 
outfile.open("output.txt",ios::out); 
outfile.close(); 
} 

char *DchangeB(char *buf) 
{ 

int temp[20]; 
char *binary; 
int value=0,i=0,j; 
for(i=0;buf[i]!='\0';i++) 
value=value*10+(buf[i]-48); /*將字符轉(zhuǎn)化為十進(jìn)制數(shù)*/ 
if(value==0) 
{ 
binary=new char[2]; 
binary[0]='0'; 
binary[1]='\0'; 
return(binary); 
} 
i=0; 
while(value!=0) 
{ 
temp[i++]=value%2; 
value/=2; 
} 
temp[i]='\0'; 
binary=new char[i+1]; 
for(j=0;j<=i-1;j++) 
binary[j]=(char)(temp[i-j-1]+48); 
binary[i]='\0'; 
return(binary); /*十進(jìn)制轉(zhuǎn)化為二進(jìn)制*/ 

} 

int search(char *buf,int type,int command) 
{ int number=0; 
fstream outfile; 
char ch; 
char temp[30]; 
int i=0; 
switch(type) 
{ 
case 1: outfile.open("key.txt",ios::in);break; 
case 2: outfile.open("bsf.txt",ios::in);break; 
case 3: outfile.open("cs.txt",ios::in);break; 
case 4: outfile.open("limit.txt",ios::in);break; 
} 
outfile.get(ch); 
while(ch!=EOF){ 
while(ch!='\n') 
{ 
temp[i++]=ch; 
outfile.get(ch); 
} 
temp[i]='\0'; 
i=0; 
number++; 
if(strcmp(temp,buf)==0) 
{ 
outfile.close(); 
return number; /*若找到,返回在相應(yīng)表中的序號(hào)*/ 
} 
else 
outfile.get(ch); 
} //結(jié)束外層while循環(huán) 
if(command==1) 
{ 
outfile.close( ); 
return 0; /*找不到,當(dāng)只需查表,返回0,否則還需造表*/ 

} 
switch(type) 
{ 
case 1: outfile.open("key.txt",ios::in);break; 
case 2: outfile.open("bsf.txt",ios::in);break; 
case 3: outfile.open("cs.txt",ios::in);break; 
case 4: outfile.open("limit.txt",ios::in);break; 
} 
outfile<<buf; 
outfile.close(); 
return number+1; 
} 


void intdeal(char *buffer){ 

fstream outfile; 
int result; 
result=search(buffer,1,1); /*先查關(guān)鍵字表*/ 
outfile.open("output.txt",ios::app); 
if(result!=0) 
outfile<<buffer<<result<<endl; /*若找到,寫(xiě)入輸出文件*/ 
else 
{ 
result=search(buffer,2,2); /*若找不到,則非關(guān)鍵字,查標(biāo)識(shí)符表,還找不到則造入標(biāo)識(shí)符表*/ 
outfile<<buffer<<result<<endl; 
} /*寫(xiě)入輸出文件*/ 
outfile.close(); 
} 

void chardeal(char *buffer) 
{ fstream outfile; 
int result; 
result=search(buffer,1,1); /*先查關(guān)鍵字表*/ 
outfile.open("output.txt",ios::app); 
if(result!=0) 
outfile<<buffer<<result<<endl; /*若找到,寫(xiě)入輸出文件*/ 
else 
{ 
result=search(buffer,2,2); /*若找不到,則非關(guān)鍵字,查標(biāo)識(shí)符表,還找不到則造入標(biāo)識(shí)符表*/ 
outfile<<buffer<<result<<endl; 
} /*寫(xiě)入輸出文件*/ 
outfile.close(); 
} 

void errordeal(char error,int lineno) 
{ cout<<"\nerror: "<<error<<" ,line"<<lineno; 
} 

void scanner() 
{ fstream infile,outfile; 
char filename[20]; 
char ch; 
int err=0; 
int i=0,line=1; 
int count,result,errorno=0; 
char array[30]; 
char *word; 
printf("\n please input the file scanner name:"); 
scanf("%s",filename); 
err=1; 
infile.open(filename,ios::nocreate|ios::in); 
while(! infile) 
{ 
cout<<"cannot open file"<<endl; 
printf("please input the file name again:\n"); 
scanf("%s",filename); 
infile.open(filename,ios::nocreate|ios::in); 
err++; 
if(err==3) 
{cout<<"SORROY YOU CAN'T VUEW THE PRGARME\n"; 
cout<<"TANKE YOU VIEW"<<endl; 
exit(0);} 
} 
infile.get(ch); 
while(ch!=EOF) 
{ /*按字符依次掃描源程序,直至結(jié)束*/ 
i=0; 
if(((ch>='A')&&(ch<='Z'))||((ch>='a')&&(ch<='z'))||(ch=='_')) 
{ /*以字母開(kāi)頭*/ 
while(((ch>='A')&&(ch<='Z'))||((ch>='a')&&(ch<='z'))||(ch=='_')||((ch>='0')&&(ch<='9'))) 
{ 
array[i++]=ch; 
infile.get(ch); 
} 
word=new char[i+1]; 
memcpy(word,array,i); 
word[i]='\0'; 
intdeal(word); 
if(ch!=EOF) 
infile.seekg(-1,ios::cur); 
} 
else if(ch>='0'&&ch<='9') 
{ /*以數(shù)字開(kāi)頭*/ 
while(ch>='0'&&ch<='9') 
{ 
array[i++]=ch; 
infile.get(ch); 
} 
word=new char[i+1]; 
memcpy(word,array,i); 
word[i]='\0'; 
intdeal(word); 
if(ch!=EOF) 
infile.seekg(-1,ios::cur); 
} 
else if((ch==' ')||(ch=='\t')) 
; /*消除空格符和水平制表符*/ 
else if(ch=='\n') 
line++; /*消除回車(chē)并記錄行數(shù)*/ 
else if(ch=='/') 
{ /*消除注釋*/ 
infile.get(ch); 
if(ch=='=') 
{ /*判斷是否為‘/=’符號(hào)*/ 
outfile.open("output.txt",ios::noreplace|ios::app); 
outfile<<"/=\t\t\t4\t\t\t32\n"; 
outfile.close(); 
} 
else if(ch!='*') 
{ /*若為除號(hào),寫(xiě)入輸出文件*/ 
outfile.open("output.txt",ios::noreplace|ios::app); 
outfile<<"/\t\t\t4\t\t\t13\n"; 
outfile.close(); 
outfile.seekg(-1,ios::cur); 
} 
else if(ch=='*') 
{ /*若為注釋的開(kāi)始,消除包含在里面的所有字符*/ 
count=0; 
infile.get(ch); 
while(count!=2) 
{ /*當(dāng)掃描到‘*’且緊接著下一個(gè)字符為‘/’才是注釋的結(jié)束*/ 
count=0; 
while(ch!='*') 
infile.get(ch); 
count++; 
infile.get(ch); 
if(ch=='/') 
count++; 
else 
infile.get(ch); 
} 
} 
} 
else if(ch=='"') 
{ /*消除包含在雙引號(hào)中的字符串常量*/ 
outfile.open("output.txt",ios::noreplace|ios::app); 
outfile<<ch<<"\t\t\t4\t\t\t37\n"; 
outfile.close(); 
while(ch!='"') 
infile.get(ch); 
infile<<ch<<"\t\t\t4\t\t\t37\n"; 
infile.close(); 
} 
else 
{ /*首字符為其它字符,即運(yùn)算限界符或非法字符*/ 
array[0]=ch; 
infile.get(ch); /*再讀入下一個(gè)字符,判斷是否為雙字符運(yùn)算、限界符*/ 
if(ch!=EOF) 
{ /*若該字符非文件結(jié)束符*/ 
array[1]=ch; 
word=new char[3]; 
memcpy(word,array,2); 
word[2]='\0'; 
result=search(word,4,1); /*先檢索是否為雙字符運(yùn)算、限界符*/ 
if(result==0) 
{ /*若不是*/ 
word=new char[2]; 
memcpy(word,array,1); 
word[1]='\0'; 
result=search(word,4,1); /*檢索是否為單字符運(yùn)算、限界符*/ 
if(result==0) 
{ /*若還不是,則為非法字符*/ 
errordeal(array[0],line); 
errorno++; 
infile.seekg(-1,ios::cur); 
} 
else 
{ /*若為單字符運(yùn)算、限界符,寫(xiě)入輸出文件并將掃描文件指針回退一個(gè)字符*/ 
outfile.open("output.txt",ios::noreplace|ios::app); 
outfile<<word<<"\t\t\t4\t\t\t"<<result<<"\t"<<endl; 
outfile.close(); 
infile.seekg(-1,ios::cur); 
} 
} 
else 
{ /*若為雙字符運(yùn)算、限界符,寫(xiě)入輸出文件*/ 
outfile.open("output.txt",ios::noreplace|ios::app); 
outfile<<word<<"\t\t\t4\t\t\t"<<result<<endl;; 
outfile.close( ); 
} 
} 
else 
{ /*若讀入的下一個(gè)字符為文件結(jié)束符*/ 
word=new char[2]; 
memcpy(word,array,1); 
word[1]='\0'; 
result=search(word,4,1); /*只考慮是否為單字符運(yùn)算、限界符*/ 
if(result==0) /*若不是,轉(zhuǎn)出錯(cuò)處理*/ 
errordeal(array[0],line); 
else 
{ /*若是,寫(xiě)輸出文件*/ 
outfile.open("output.txt",ios::noreplace|ios::app); 
outfile<<word<<"\t\t\t4\t\t\t"<<result<<"\t"<<endl; 
outfile.close(); 
} 
} 
} 
infile.get(ch); 
} 
infile.close(); 
cout<<"\nThere are "<<errorno<<" error(s).\n"; /*報(bào)告錯(cuò)誤字符個(gè)數(shù)*/ 
} 
void main() 
{ char yn; 

do{ 
init(); /*初始化*/ 
scanner();/*掃描源程序*/ 

printf("Are You continue(y/n)\n"); //判斷是否繼續(xù)? 
yn=getch(); 
}while(yn=='y'||yn=='Y'); 
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲自拍都市欧美小说| 亚洲成av人片在www色猫咪| 色综合久久九月婷婷色综合| 日韩高清不卡在线| 中文字幕在线免费不卡| 日韩精品一区二区三区在线观看 | 国产专区欧美精品| 亚洲女厕所小便bbb| 久久婷婷色综合| 69p69国产精品| 色偷偷久久人人79超碰人人澡| 国产风韵犹存在线视精品| 婷婷成人激情在线网| 亚洲欧洲日韩av| 久久久久久久综合狠狠综合| 91精品国产乱码久久蜜臀| 在线观看视频一区二区欧美日韩| 成人一区二区三区在线观看| 激情欧美一区二区三区在线观看| 亚洲成人动漫在线免费观看| 亚洲黄色免费电影| 国产精品亲子乱子伦xxxx裸| 久久久亚洲高清| 精品国精品国产尤物美女| 9191国产精品| 欧美日韩极品在线观看一区| 91搞黄在线观看| 色欧美乱欧美15图片| 99re亚洲国产精品| 99久久夜色精品国产网站| 岛国av在线一区| 国产高清久久久| 国产经典欧美精品| 粉嫩aⅴ一区二区三区四区| 韩国成人精品a∨在线观看| 美女视频黄免费的久久| 美腿丝袜亚洲综合| 久久99久久99| 狠狠狠色丁香婷婷综合久久五月| 美女爽到高潮91| 精品一区二区在线观看| 经典三级在线一区| 国精产品一区一区三区mba视频| 久久成人免费日本黄色| 国产最新精品免费| 国产91精品久久久久久久网曝门| 国产不卡在线视频| jlzzjlzz亚洲女人18| 91在线免费播放| 欧美日免费三级在线| 欧美一区二区三区影视| 日韩午夜av一区| 国产日韩欧美综合在线| 中文字幕制服丝袜一区二区三区| 亚洲欧美自拍偷拍| 一区二区成人在线视频| 五月天亚洲婷婷| 精品一区二区三区久久| 国产成人精品影院| 99久久免费精品高清特色大片| 色婷婷av一区二区三区之一色屋| 欧美日免费三级在线| 精品国产在天天线2019| 亚洲国产精品成人综合色在线婷婷| 亚洲欧洲另类国产综合| 一区二区三区不卡视频在线观看| 五月天视频一区| 国产在线视频精品一区| 99综合电影在线视频| 欧美系列一区二区| 精品欧美一区二区久久| 国产精品乱人伦| 亚洲成a天堂v人片| 国产成人综合网| 欧美亚洲日本一区| 精品久久人人做人人爽| 国产精品久99| 日本欧美在线看| 成人激情文学综合网| 欧美性猛片xxxx免费看久爱| 欧美不卡一区二区| 亚洲青青青在线视频| 免费高清不卡av| 91丨porny丨户外露出| 日韩精品最新网址| 亚洲女同一区二区| 理论电影国产精品| 91福利精品视频| 久久久久久一二三区| 亚洲最新在线观看| 国产福利91精品一区| 欧美日本精品一区二区三区| 国产精品欧美经典| 免费成人在线影院| 在线观看亚洲一区| 国产亚洲欧美一级| 日韩精品视频网站| av成人免费在线观看| 精品福利在线导航| 亚洲国产美女搞黄色| 成人午夜av电影| 日韩欧美一级片| 午夜精品福利一区二区三区av| 成人的网站免费观看| 日韩精品一区二区三区四区视频| 亚洲男帅同性gay1069| 国产成人亚洲综合色影视| 9191国产精品| 亚洲一区二区三区四区的| 国产999精品久久| 欧美哺乳videos| 午夜精品一区二区三区三上悠亚| 成人免费视频一区二区| 久久综合九色综合97婷婷| 日日夜夜免费精品| 欧美亚洲日本国产| 一区二区三区在线免费视频| 成人av片在线观看| 国产日韩视频一区二区三区| 国产在线播精品第三| 日韩一区二区中文字幕| 水野朝阳av一区二区三区| 日本久久精品电影| 自拍偷拍亚洲激情| av在线播放成人| 中文字幕精品在线不卡| 国产成人在线网站| 久久久久久毛片| 国产jizzjizz一区二区| 久久久综合视频| 国产原创一区二区三区| 欧美va日韩va| 国产在线一区二区综合免费视频| 日韩精品中文字幕一区二区三区| 男人的天堂亚洲一区| 欧美一级黄色录像| 久久99国产精品免费网站| 欧美tickling挠脚心丨vk| 蜜桃91丨九色丨蝌蚪91桃色| 精品久久久久久久人人人人传媒 | 欧美精品18+| 性做久久久久久久久| 欧美日韩激情一区二区| 亚洲国产综合色| 91精品蜜臀在线一区尤物| 日本不卡在线视频| 精品成人一区二区三区| 国产在线精品免费| 国产精品久线观看视频| 91麻豆精品在线观看| 一区二区三区精品| 欧美一区二区三区的| 久久99国产精品尤物| 久久精品日韩一区二区三区| 成人免费视频免费观看| 亚洲精品国产无天堂网2021| 欧美羞羞免费网站| 日本不卡中文字幕| 国产午夜亚洲精品羞羞网站| 99久久精品免费| 亚洲狠狠爱一区二区三区| 日韩精品在线网站| 成人免费视频播放| 亚洲在线中文字幕| 日韩视频123| 成人av网站免费观看| 亚洲成人免费在线| 欧美xxx久久| a在线播放不卡| 天堂蜜桃91精品| 久久精品亚洲麻豆av一区二区 | 日韩精品在线看片z| www.亚洲激情.com| 亚瑟在线精品视频| 久久综合久久鬼色中文字| 色综合网色综合| 蜜桃精品在线观看| 亚洲精选一二三| 精品理论电影在线| 91黄色免费看| 国内成人精品2018免费看| 亚洲最大成人网4388xx| 久久久亚洲午夜电影| 在线观看日韩电影| 国产一区二区久久| 天堂久久久久va久久久久| 国产欧美精品区一区二区三区| 欧美午夜理伦三级在线观看| 国产一区二区精品久久99| 亚洲国产一区二区三区| 国产午夜精品一区二区三区嫩草 | 精品一区二区三区久久| 一区二区三区电影在线播| 久久久777精品电影网影网| 欧洲视频一区二区| 成人激情电影免费在线观看| 日韩国产在线观看| 一区二区三区蜜桃| 欧美国产禁国产网站cc| 日韩一区二区三区免费看|