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

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

?? wordanalyse.c

?? 自己做的編譯原理課程的詞法分析器
?? C
字號:
#include "global.h"
#include "keyword.h"

int main(){
    char buffer[20];/*將每次讀取的字符串存到一個緩沖區(qū)*/
    int length=0;/*記錄讀取字符串的長度*/
    struct record temp;/*定義詞法分析器輸出的中間結(jié)果的格式*/
	FILE *fpread;/*讀源程序文件的指針*/
	FILE *fpwrite;/*寫源程序文件的指針*/
        if((fpread=fopen("in.pas","rb"))==NULL){/*打開已知源文件,用mini-Pascal編寫的原文件*/
			printf("\nERROR:源程序不存在.\n");
			exit(0);
		}
		if((fpwrite=fopen("out.pbj","wb"))==NULL){/*創(chuàng)建中間文件,保存詞法分析器分析出的二元式文件*/
			printf("\nERROR.\n");
			exit(0);
		}
		flashBuffer(buffer,&temp);/*清空緩存*/
		if(!feof(fpread)){
			length=scan(buffer,fpread);/*讀取字符串*/
		}
		while(!feof(fpread)){
			if(length==0){
				printf("\nERROR: Line  %d     非法字符\n",line);//輸出詞法分析器的錯誤,并指出錯誤發(fā)生的行號
			}
			else{
				temp.kind=look(buffer);//查關(guān)鍵字表,返回關(guān)鍵字的編碼
				if(temp.kind==35){//是換行符則行號加一
					strcpy(temp.strName,"newline");
				}else{
					strcpy(temp.strName,buffer);
				}
				if(temp.kind==35)line++;
				printf("{ %s",temp.strName);
				printf("  %d }",temp.kind);
				printf("\n");
				outWord(temp,fpwrite);					
				flashBuffer(buffer,&temp);
			}
			length=scan(buffer,fpread);
	    }
		if(length){
			temp.kind=look(buffer);
			if(temp.kind==35){
				strcpy(temp.strName,"newline");
			}else{
				strcpy(temp.strName,buffer);
			}
			if(temp.kind==35)line++;
			printf("{ %s",temp.strName);
			printf("  %d }",temp.kind);
			printf("\n");
			outWord(temp,fpwrite);
			flashBuffer(buffer,&temp);
		}
		else{
			printf("\nERROR: Line  %d     非法字符\n",line);//輸出詞法分析器的錯誤,并指出錯誤發(fā)生的行號	
		}
		fclose(fpread);
		fclose(fpwrite);
	return 1;
}

void flashBuffer(char buffer[],struct record *temp)//清空函數(shù)
{
     int i=0;
     for(i=0;i<20;i++){
		 buffer[i]='\0';
		 temp->strName[i]='\0';
	 }
}

int scan(char buffer[],FILE *fpread){//讀字符模塊
    char word;
    int ptr=0;
    word=getc(fpread);
    while((word==' ')||(word=='\t')||(word=='\r')){
        word=getc(fpread); //保留字
    }
    if((word>='0')&&(word<='9')){  //常數(shù)
        while((word>='0')&&(word<='9')){
            buffer[ptr]=word;
            if(ptr<20){
                ptr++;
            }
            if(feof(fpread))
				break;
			else
				word=getc(fpread);
        }
    }
    else if(((word>='a')&&(word<='z'))||((word>='A')&&(word<='Z'))){ //標(biāo)識符
        while(((word>='A')&&(word<='Z'))||((word>='a')&&(word<='z'))||((word>='0')&&(word<='9'))){
            buffer[ptr]=word;
            if(ptr<20){
                ptr++;
            }
			if(feof(fpread))
				break;
			else
				word=getc(fpread);
        }
    }
    else if(word=='+'){
        buffer[ptr]=word;
        ptr++;
    }
    else if(word=='-'){
        buffer[ptr]=word;
        ptr++;
    }
    else if(word=='*'){
        buffer[ptr]=word;
        ptr++;
    }
    else if(word=='/'){
        buffer[ptr]=word;
        ptr++;
    }
    else if(word==':'){
        buffer[ptr]=word;
        ptr++;
        if(!feof(fpread))
		{
			word=getc(fpread);
			if(word=='='){
				buffer[ptr]=word;
				ptr++;
			}
			else {
				ptr=0;
				fseek(fpread,-1L,SEEK_CUR);/*回退一個字符*/
			}
		}
    }
    else if(word=='='){
        buffer[ptr]=word;
        ptr++;
    }
    else if(word=='<'){
        buffer[ptr]=word;
        ptr++;
        if(!feof(fpread))
		{
			word=getc(fpread);
			if(word=='>'){
				buffer[ptr]=word;
				ptr++;
			}
			else {
				ptr=0;
				fseek(fpread,-1L,SEEK_CUR);/*回退一個字符*/
			}
		}
    }
	else if(word=='>'){
        buffer[ptr]=word;
        ptr++;
        if(!feof(fpread))
		{
			word=getc(fpread);
			if(word=='='){
				buffer[ptr]=word;
				ptr++;
			}
			else {
				ptr=0;
				fseek(fpread,-1L,SEEK_CUR);/*回退一個字符*/
			}
		}
    }
	else if(word=='<'){
        buffer[ptr]=word;
        ptr++;
        if(!feof(fpread))
		{
			word=getc(fpread);
			if(word=='='){
				buffer[ptr]=word;
				ptr++;
			}
			else {
				ptr=0;
				fseek(fpread,-1L,SEEK_CUR);/*回退一個字符*/
			}
		}
    }
    else if(word=='('){
        buffer[ptr]=word;
        ptr++;
    }
    else if(word==')'){
        buffer[ptr]=word;
        ptr++;
    }
    else if(word==','){
        buffer[ptr]=word;
        ptr++;
    }
	else if(word==';'){
        buffer[ptr]=word;
        ptr++;
    }
    else if(word=='.'){
        buffer[ptr]=word;
        ptr++;
    }
    else if(word=='\n'){
        buffer[ptr]=word;
        ptr++;
    }
	else
	{
		ptr=0;
	}
    return ptr;
}

int look(char word[]){//查保留字表模塊
    int i;
    int location=0;
    for(i=0;i<KeyWordLength;i++){
        if(strcmp(word,keyWord[i])==0){
            location=i;
            return location;
        }
    }
    if((word[0]>='0')&&(word[0]<='9')){
        location=18;
    }
    else if(((word[0]>='a')&&(word[0]<='z'))||((word[0]>='A')&&(word[0]<='Z'))){
        location=17;
    }
    return location;
}

void outWord(struct record out,FILE *fpwrite){//輸出單詞模塊
    fwrite(&out,sizeof(struct record),1,fpwrite);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久99精品| 免费在线观看一区| 日本午夜精品一区二区三区电影 | 国产成a人亚洲精品| 欧美色男人天堂| 国产精品美女久久久久久久久 | 亚洲午夜三级在线| 国产传媒欧美日韩成人| 精品国产91乱码一区二区三区| 国产精品久线观看视频| 国产一区二区三区综合| 91精品中文字幕一区二区三区| 亚洲免费伊人电影| 播五月开心婷婷综合| xvideos.蜜桃一区二区| 日韩av不卡一区二区| 欧美色视频一区| 亚洲国产综合91精品麻豆| 色综合久久久网| 国产精品第五页| 成人高清视频在线观看| 久久精品人人爽人人爽| 国产风韵犹存在线视精品| 日韩精品一区二区三区在线 | 丝袜诱惑制服诱惑色一区在线观看 | 亚洲1区2区3区视频| 色狠狠综合天天综合综合| 国产精品视频第一区| 国产99久久久精品| 久久久精品2019中文字幕之3| 激情五月婷婷综合网| 精品日韩在线观看| 久久国内精品自在自线400部| 久久这里只有精品首页| 国模冰冰炮一区二区| 久久久久一区二区三区四区| 国产真实乱偷精品视频免| 久久久精品国产免大香伊| 国产精品伊人色| 欧美激情在线免费观看| 91在线视频18| 亚洲欧洲日韩一区二区三区| 欧美中文字幕一区| 五月天精品一区二区三区| 91精品国产麻豆国产自产在线 | 午夜精品福利久久久| 欧美一区日韩一区| 国产一区二区不卡老阿姨| 欧美韩国日本综合| 日本精品视频一区二区三区| 亚洲高清不卡在线| 欧美一卡二卡三卡四卡| 国产91丝袜在线播放0| 中文字幕一区二区三区在线观看| 在线视频一区二区三区| 蜜桃一区二区三区在线观看| 欧美精品一区二区三区蜜臀| 99久久精品免费看国产 | 亚洲柠檬福利资源导航| 91.麻豆视频| 在线免费观看日本欧美| 另类小说综合欧美亚洲| 欧美韩国日本不卡| 在线不卡一区二区| 国产乱码精品一品二品| 一区二区三区在线观看欧美| 欧美va亚洲va香蕉在线| 99精品偷自拍| 久久精品久久精品| 亚洲精选视频在线| 精品少妇一区二区三区在线视频| av成人免费在线| 蜜臂av日日欢夜夜爽一区| 国产精品国模大尺度视频| 欧美一卡在线观看| eeuss鲁一区二区三区| 日韩av中文字幕一区二区| 国产精品不卡一区二区三区| 日韩一区二区在线免费观看| 99免费精品在线| 极品美女销魂一区二区三区免费| 曰韩精品一区二区| 久久久久久久久99精品| 91精品国产综合久久精品图片| 成人国产精品免费网站| 美腿丝袜亚洲三区| 亚洲靠逼com| 国产精品国产三级国产普通话三级 | 青青草97国产精品免费观看 | 欧美一三区三区四区免费在线看 | 成人性生交大合| 美女在线观看视频一区二区| 一区二区三区四区在线免费观看| 久久综合九色综合97_久久久| 欧美二区在线观看| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 亚洲视频小说图片| 精品国产凹凸成av人网站| 欧美日韩亚洲丝袜制服| 色狠狠一区二区三区香蕉| 不卡欧美aaaaa| 国产98色在线|日韩| 国产精品一二三| 精东粉嫩av免费一区二区三区| 日韩精品成人一区二区在线| 亚洲图片有声小说| 一区二区三区在线看| 一区二区三区日韩精品| 亚洲人成影院在线观看| 亚洲三级视频在线观看| 亚洲欧洲三级电影| 成人免费在线播放视频| 综合精品久久久| ㊣最新国产の精品bt伙计久久| 日韩一区二区麻豆国产| 偷拍与自拍一区| 久久久久久亚洲综合影院红桃| 成人av在线网| 久久精品国产第一区二区三区| 国产欧美视频在线观看| 日韩欧美电影一二三| 欧美性高清videossexo| 92精品国产成人观看免费| 色综合久久久久综合99| 日本伊人精品一区二区三区观看方式| 欧洲中文字幕精品| 91在线云播放| 欧美日本一区二区在线观看| 91麻豆精品国产自产在线| 欧美一区二区三区免费在线看| 欧美剧情片在线观看| 日韩一卡二卡三卡四卡| 久久蜜桃av一区精品变态类天堂 | 日韩一本二本av| 欧美大胆一级视频| 亚洲国产电影在线观看| 亚洲一区二区三区四区不卡| 丝袜美腿成人在线| 国内精品久久久久影院色| 99久久免费视频.com| 欧美精三区欧美精三区| 久久五月婷婷丁香社区| 日韩久久一区二区| 丝袜美腿高跟呻吟高潮一区| 久久91精品久久久久久秒播| 成人黄色在线视频| 欧美三级三级三级爽爽爽| 精品少妇一区二区三区免费观看| 欧美国产乱子伦 | 国产成人一级电影| 91免费精品国自产拍在线不卡| 91.com在线观看| 国产精品乱码妇女bbbb| 日韩在线一二三区| 国产91综合网| 91精品国产综合久久蜜臀| 国产精品久久久一本精品 | 国产一区二区免费视频| 色噜噜夜夜夜综合网| 精品sm捆绑视频| 亚洲欧美电影一区二区| 不卡视频在线看| 在线综合视频播放| 亚洲素人一区二区| 久久成人av少妇免费| 91久久免费观看| 国产人成亚洲第一网站在线播放| 一区二区高清免费观看影视大全 | 久久久亚洲欧洲日产国码αv| 亚洲男人天堂av网| 国产一区二区女| 精品视频免费在线| 国产精品嫩草久久久久| 久久99国产精品免费网站| 欧美日韩综合色| 国产精品护士白丝一区av| 韩国精品主播一区二区在线观看| 精品视频一区三区九区| 日韩毛片视频在线看| 丰满少妇久久久久久久| 日韩欧美一区二区不卡| 亚洲已满18点击进入久久| 国产.欧美.日韩| 国产婷婷一区二区| 久久精品国产成人一区二区三区| 欧美婷婷六月丁香综合色| 亚洲欧美日韩久久| 成人a免费在线看| 日本一区二区动态图| 国模娜娜一区二区三区| 欧美xxxxxxxxx| 秋霞电影网一区二区| 欧美精品粉嫩高潮一区二区| 夜夜揉揉日日人人青青一国产精品| 成人精品一区二区三区中文字幕| 久久亚洲春色中文字幕久久久| 国产乱码一区二区三区| 久久这里只有精品首页| 国产在线精品视频| 国产婷婷色一区二区三区四区|