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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 詞法分析器.txt

?? C_minus詞法分析器 1.0版(詞法分析器源程序
?? TXT
字號(hào):
詞法分析器 
/*****************************C_minus詞法分析器 1.0版 *********************************
*  作者:溫銘
*  Email: moonbingbing@gmail.com
*  版權(quán)所有(C) 2005.11
***************************************************************************************/
#include<stdio.h>
#include<ctype.h>
#include<stdlib.h>
#include<string.h>

//****************************************
char * change(char *ps,char *pt); //處理路徑中的反斜杠問題。因?yàn)樵谧址幸肻\表示\ 
int searchkey(char *word,struct key tab[],int n);//二分法查找關(guān)鍵字
int searchsymbol(char c,struct symbol tab[],int n);
void getword(int c,FILE * p);
//****************************************
//用到的結(jié)構(gòu)數(shù)組:
struct key{ //關(guān)鍵字表
char* word;
int value;
}keytab[] = {
"else", 0,
"if", 1,
"int", 2,
"return",3,
"void", 4,
"while", 5,
};
//****
struct symbol{ //符號(hào)表
char c;
int value;
}symboltab[] = {
'(', 0,
')', 1,
'*', 2,
'+', 3,
',', 4,
'-', 5,
'/', 6,
';', 7,
'<', 8,
'=', 9,
'>', 10,
'[', 11,
']', 12,
'{', 13,
'}', 14,
};
//*****************************************

//用到的常量
enum{MAX = 50,
NKEYS = sizeof keytab / sizeof keytab[0],
NSYMBOL = sizeof symboltab / sizeof symboltab[0]
};
//*****************************************

//用到的全局變量
int flagnum = 0; //用來防止出現(xiàn)10t這種情況被當(dāng)作數(shù)字處理。這種情況程序報(bào)錯(cuò)
int countnum = 0;
int countid = 0;
int countfault = 0;
int type[] = {0,1,2,3,4}; //詞法分析中的類型 依次為 關(guān)鍵字,數(shù)字,id,符號(hào)
char array[MAX]; //存放getword中的字符串


//*****************************************


main()
{
int c;
int flag; //判斷搜索函數(shù)是否成功返回
char s[MAX]; //數(shù)組s,t用來存放讀取文件的路徑
char t[2 * MAX];
char *ps = s;
char *pt = t;
FILE * p = NULL;

printf("input the path of the file\n");
scanf("%s",s);
p = fopen( change(ps,pt),"r" ); //打開文件
if( p == NULL ){ //如果輸入的文件路徑不對(duì)或文件不存在
printf("open fail!\n");
exit(0);
} 
printf("data \t (type,value)\n");
while( ( c = fgetc(p) ) != EOF ){
if ( isspace(c) ) // 如果是空白字符
continue;
else if ( isalpha(c) ){
getword(c,p);
flag = searchkey(array,keytab,NKEYS);
if ( flag >= 0 ) //如果是關(guān)鍵字
printf("%s\t(%d,%d)\n",array,type[0],flag);
else{ //如果以字母開頭,但不是關(guān)鍵字
printf("%s\t(%d,%d)\n",array,type[2],countid);
countid ++;
}
}else if ( isdigit(c) ){ //如果是數(shù)字
flagnum = 0; /*解決getword中的一個(gè)bug。如果一個(gè)數(shù)字之前有超過1個(gè)的字符串,如in 2。則后面所有的數(shù)字都不能被正確分析*/

getword(c,p);
if ( flagnum == 0 )
printf("%s\t(%d,%d)\n",array,type[1],countnum);
else
printf("%s\t(%d,%d)\t illegal input \n",array,type[4],countfault);
}else if ( ispunct(c) ){ //如果是符號(hào)
flag = searchsymbol(c,symboltab,NSYMBOL);
if ( flag >= 0 )
printf("%c\t(%d,%d)\n",c,type[3],flag);
else{
printf("%c\t(%d,%d)\n",c,type[4],countfault); //出錯(cuò)處理
countfault ++;
}
}else{
printf("%c\t(%d,%d)\n",c,type[4],countfault); //出錯(cuò)處理
countfault ++;
}
}
return 0;
}


//*******************************************
char * change(char *ps,char *pt) /*處理反斜杠的問題*/
{
char *p = pt;
char c;

while( (c = *pt++ = *ps++) != '\0' )
if( c == '\\' )
*pt = '\\';
return p;
}

//******************************************
int searchkey(char *word,struct key tab[],int n)
{
int cond;
int low,high,mid;

low = 0;
high = n -1;
while ( low <= high ){
mid = (low +high) / 2;
if ( ( cond = strcmp(word,tab[mid].word) ) < 0 )
high = mid - 1;
else if ( cond > 0 )
low = mid + 1;
else 
return mid;
}
return -1;
}

//**********************************************
int searchsymbol(char c,struct symbol tab[],int n)
{

int low,high,mid;

low = 0;
high = n -1;
while ( low <= high ){
mid = (low +high) / 2;
if ( c < tab[mid].c)
high = mid - 1;
else if(c > tab[mid].c)
low = mid + 1;
else 
return mid;
}
return -1;
}
//*******************************************
void getword(int c,FILE * p)
{
int i = 0;
array[i] = c;
while( (c = fgetc(p)) != ' ' && c != '\n'){
if ( isalpha(c) | ispunct(c) ) //如果數(shù)字中有字母或字符,則報(bào)錯(cuò)
flagnum = 1; /*一個(gè)可能引起錯(cuò)誤的地方。已經(jīng)解決(在讀入數(shù)字后,把flagnum置0,再進(jìn)入getword)*/
array[++i] = c;
}
array[++i] = '\0';
}
 

http://www.qqserver.com/program-33_0.htm

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.欧美日韩| 国产精品一区二区三区99 | 视频一区在线播放| 亚洲综合在线观看视频| 亚洲欧洲色图综合| 亚洲欧美在线视频观看| 国产精品色婷婷久久58| 国产精品久久一卡二卡| 中文字幕在线不卡视频| 亚洲欧美自拍偷拍色图| 亚洲人吸女人奶水| 亚洲免费观看在线视频| 亚洲欧美另类久久久精品2019| 亚洲欧洲精品成人久久奇米网| 国产精品美日韩| 亚洲人成网站影音先锋播放| 亚洲视频狠狠干| 亚洲午夜激情av| 三级欧美韩日大片在线看| 水蜜桃久久夜色精品一区的特点| 亚洲成人三级小说| 久久国产成人午夜av影院| 国产一区二区导航在线播放| 成人av免费网站| 91精品1区2区| 日韩欧美aaaaaa| 欧美—级在线免费片| 亚洲色图在线看| 日韩精品久久久久久| 国内偷窥港台综合视频在线播放| 国产露脸91国语对白| 色综合久久久久| 日韩欧美三级在线| 国产精品免费视频观看| 一区二区三区国产豹纹内裤在线| 日本中文字幕一区| 成人亚洲一区二区一| 欧美美女黄视频| 国产亚洲欧美一级| 亚洲午夜久久久久中文字幕久| 蜜臀久久久久久久| 99这里都是精品| 日韩午夜三级在线| 亚洲欧美成人一区二区三区| 日日夜夜免费精品| 不卡的电影网站| 日韩一区二区免费电影| 国产精品护士白丝一区av| 日本伊人色综合网| 色哟哟精品一区| 久久久国产精品不卡| 午夜精品国产更新| 99精品黄色片免费大全| 精品国产制服丝袜高跟| 亚洲成a人片在线不卡一二三区| 国产成人午夜视频| 欧美一区二区不卡视频| 亚洲精品伦理在线| 丁香亚洲综合激情啪啪综合| 欧美一区二区三区四区五区 | 成人午夜伦理影院| 精品欧美一区二区久久| 亚洲成a人v欧美综合天堂| 91蜜桃免费观看视频| 国产偷国产偷亚洲高清人白洁 | 日本91福利区| 欧美性xxxxxx少妇| 亚洲欧美日韩国产一区二区三区| 国产精品456| 久久人人97超碰com| 美女一区二区三区| 欧美一区二区三区在线电影| 五月天视频一区| 欧美性极品少妇| 亚洲精品成人精品456| 91精品国产一区二区三区蜜臀 | 亚洲靠逼com| 91在线播放网址| 自拍偷拍国产精品| 91在线看国产| 亚洲欧美色一区| 日本韩国精品在线| 亚洲自拍欧美精品| 欧美在线观看禁18| 亚洲一区二区偷拍精品| 欧美优质美女网站| 亚洲线精品一区二区三区八戒| 欧美亚洲免费在线一区| 性做久久久久久| 日韩欧美国产一区二区三区| 毛片av一区二区三区| 欧美精品一区二区三区蜜桃| 国产精品亚洲一区二区三区妖精| 国产欧美精品在线观看| 成人国产一区二区三区精品| 自拍偷拍国产精品| 欧美三级视频在线观看| 蜜芽一区二区三区| 国产欧美日韩精品一区| 99vv1com这只有精品| 亚洲第一久久影院| 精品国产伦一区二区三区观看体验| 欧美亚洲国产一区二区三区va | 欧美日韩精品福利| 麻豆高清免费国产一区| 欧美极品另类videosde| 在线免费观看日本一区| 蜜臀av一级做a爰片久久| 亚洲国产精品黑人久久久| 91小视频免费看| 日日夜夜精品视频天天综合网| 久久久综合精品| 91国产丝袜在线播放| 免费欧美高清视频| 中文字幕av不卡| 欧美日韩美少妇| 国产成人精品三级麻豆| 一区二区三区高清在线| 久久美女高清视频| 欧美午夜视频网站| 福利一区二区在线| 婷婷国产在线综合| 中文字幕av免费专区久久| 欧美久久高跟鞋激| 成人高清视频在线| 日本欧美加勒比视频| 亚洲图片另类小说| 日韩精品一区二区三区视频播放| 99re这里只有精品首页| 精品亚洲成a人| 亚洲午夜视频在线观看| 中文字幕av资源一区| 日韩情涩欧美日韩视频| 色av一区二区| 波波电影院一区二区三区| 精品在线播放午夜| 亚洲一区二区三区四区在线免费观看| 欧美精品一区在线观看| 欧美性猛交一区二区三区精品| 粉嫩aⅴ一区二区三区四区| 青青草成人在线观看| 亚洲自拍另类综合| 亚洲人午夜精品天堂一二香蕉| 久久一二三国产| 欧美一二三在线| 欧美卡1卡2卡| 欧美少妇性性性| 色老汉一区二区三区| 成人av集中营| 国产a久久麻豆| 国产成人精品一区二区三区网站观看| 捆绑调教美女网站视频一区| 亚洲成a人v欧美综合天堂| 一区二区欧美精品| 亚洲另类春色校园小说| 亚洲视频图片小说| 亚洲欧美自拍偷拍色图| 亚洲日本电影在线| 一区二区三区四区不卡视频 | av网站一区二区三区| 成人午夜电影久久影院| 成人手机在线视频| 99精品欧美一区二区三区小说| 成人国产精品免费观看| 91丨九色丨国产丨porny| 91日韩一区二区三区| 欧美亚洲综合色| 欧美日本视频在线| 精品黑人一区二区三区久久| 精品成人免费观看| 中文av一区特黄| 亚洲美女偷拍久久| 日日夜夜免费精品视频| 精品一二三四在线| 成人性生交大片免费看视频在线 | 成人精品免费网站| 成人av影院在线| 欧美日韩国产一级片| 日韩欧美综合一区| 国产偷国产偷亚洲高清人白洁| 国产精品素人一区二区| 亚洲黄色性网站| 美洲天堂一区二卡三卡四卡视频| 激情成人综合网| 色哟哟日韩精品| 日韩一级片在线观看| 久久久99精品免费观看不卡| 最新中文字幕一区二区三区| 一区二区在线观看视频| 蜜臀av亚洲一区中文字幕| 国产精品99久久久久| 欧美主播一区二区三区美女| 欧美一二三区在线| 国产精品伦一区二区三级视频| 亚洲国产精品久久人人爱蜜臀| 青青草视频一区| 97超碰欧美中文字幕| 日韩视频一区二区在线观看| 亚洲欧美一区二区视频| 麻豆免费看一区二区三区|