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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? parse.cpp

?? 編譯原理課程設計中的詞法和語法分析器的設計
?? CPP
字號:
#include"parse.h"
#include"global.h"
#include<fstream.h>
#include<iostream.h>
#define M 256/*輸入字符串最大長度*/
             /*0為字符串結束符*/
int action[17][9]={{0,0}};
int Goto[17][2]={{0,0}};
int state[M];
int Anum=-1;
int Enum=-1;
int Inum=0;
int Readhead=0;
struct symbol{
	int ID;
	int num;
};
int derive[8][2];
int pstate=0;
int psymbol=0;
symbol symbols[M];
ofstream fout2("output1.txt");
void addstate(int x)
{
	state[pstate++]=x;
}
void addsymbol(symbol x)
{
	symbols[psymbol++]=x;

}
void initTable()
{
	action[0][0]=2;
	action[1][8]=0;//acc
	action[2][5]=3;
	action[3][6]=6;
	action[3][0]=5;
	action[4][5]=-1;
	action[4][1]=9;
	action[4][2]=10;
	action[4][3]=11;
	action[4][4]=12;
	action[4][7]=-1;
	action[4][8]=-1;
	action[5][1]=-7;
	action[5][2]=-7;
	action[5][3]=-7;
	action[5][4]=-7;
	action[5][7]=-7;
	action[5][8]=-7;
	action[6][6]=6;
	action[6][0]=5;
	action[6][8]=-7;
	action[7][1]=9;
	action[7][2]=10;
	action[7][3]=11;
	action[7][4]=12;
	action[7][7]=8;
	action[8][1]=-6;
	action[8][2]=-6;
	action[8][3]=-6;
	action[8][4]=-6;
	action[8][7]=-6;
	action[8][8]=-6;
	action[9][6]=6;
	action[9][0]=5;
	action[10][6]=6;
	action[10][0]=5;
	action[11][6]=6;
	action[11][0]=5;
	action[12][6]=6;
	action[13][1]=-2;
	action[13][2]=-2;
	action[13][3]=11;
	action[13][4]=12;
	action[13][7]=-2;
	action[13][8]=-2;
	action[14][1]=-3;
	action[14][2]=-3;
	action[14][3]=11;
	action[14][4]=12;
	action[14][7]=-3;
	action[14][8]=-3;
	action[15][1]=-4;
	action[15][2]=-4;
	action[15][3]=-4;
	action[15][4]=-4;
	action[15][7]=-4;
	action[15][8]=-4;
	action[16][1]=-5;
	action[16][2]=-5;
	action[16][3]=-5;
	action[16][4]=-5;
	action[16][7]=-5;
	action[16][8]=-5;

	Goto[0][0]=1;
	Goto[3][1]=4;
	Goto[6][1]=7;
	Goto[9][1]=13;
	Goto[10][1]=14;
	Goto[11][1]=15;
	Goto[12][1]=16;

	derive[0][0]=11;
	derive[0][1]=1;
	derive[1][0]=9;
	derive[1][1]=3;
	derive[2][0]=10;
	derive[2][1]=3;
	derive[3][0]=10;
	derive[3][1]=3;
	derive[4][0]=10;
	derive[4][1]=3;
	derive[5][0]=10;
	derive[5][1]=3;
	derive[6][0]=10;
	derive[6][1]=3;
	derive[7][0]=10;
	derive[7][1]=1;

	addstate(0);
	symbol x;
	x.ID=8;
	x.num=0;
	addsymbol(x);
}

void Delete()
{
	pstate--;
	psymbol--;
}
void write(int reduce)
{
	symbol msymbol=symbols[psymbol-1];
	switch(msymbol.ID)
	{
	case 0:
		fout2<<"i"<<msymbol.num<<"(";
		break;
	case 1:
		fout2<<"+"<<"(";
		break;
	case 2:
		fout2<<"-"<<"(";
		break;
	case 3:
		fout2<<"*"<<"(";
		break;
	case 4:
		fout2<<"/"<<"(";
		break;
	case 5:
		fout2<<"="<<"(";
		break;
	case 6:
		fout2<<"("<<"(";
		break;
	case 7:
		fout2<<")"<<"(";
		break;
	case 9:
		fout2<<"A"<<msymbol.num<<"(";
		break;
	case 10:
		fout2<<"E"<<msymbol.num<<"(";
		break;
	}
	switch(reduce)
	{
	case 9:
		fout2<<"A"<<(1+Anum)<<")\n";
		break;
	case 10:
        fout2<<"E"<<(1+Enum)<<")\n";
		break;
	}
}
int getNum(int x)
{
	int mnum;
	if(x==9)
	{
		Anum++;
		mnum=Anum;
	}
	if(x==10)
	{
		Enum++;
		mnum=Enum;
	}
	return mnum;
}
void parsetree()
{
	//for(int i=0;i<SNum;i++)
	//cout<<String[i]<<endl;
	initTable();
   	while(1)
	{
		
		if(-8<=String[Readhead]&&String[Readhead]<=-1)//termination except i
		{
			//cout<<"1   "<<state[pstate-1]<<endl;
			//fout2<<pstate<<endl;
			//cout<<"    "<<String[Readhead]<<endl;
			if(action[state[pstate-1]][-String[Readhead]]<0)
			{
				int de=derive[-action[state[pstate-1]][-String[Readhead]]][0];
				int de1=derive[-action[state[pstate-1]][-String[Readhead]]][1];
				for(int i=0;i<de1;i++)
				{
					
					write(de);
					Delete();
					
				}
                symbol sy;
				//cout<<state[pstate-1]<<endl;
				//cout<<-String[Readhead]<<endl;
				sy.ID=de;
				sy.num=getNum(sy.ID);
				addsymbol(sy);
				//cout<<"id"<<sy.ID<<endl;
				//cout<<Goto[state[pstate-1]][sy.ID-9]<<endl;
				addstate(Goto[state[pstate-1]][sy.ID-9]);
			}
			else if(action[state[pstate-1]][-String[Readhead]]>0)
			{
				symbol sy;
				sy.ID=-String[Readhead];
				sy.num=0;
				addsymbol(sy);
				addstate(action[state[pstate-1]][-String[Readhead]]);
				Readhead++;
			}
			else 
				return;
		}
		else if(String[Readhead]<-8)//num
		{
			fout2<<(-(String[Readhead]+9))<<"(i";
			if(Inum!=0)
				fout2<<Inum<<")\n";
			else
				fout2<<")\n";
			symbol sy;
			sy.ID=0;
			sy.num=Inum;
			addsymbol(sy);
			addstate(action[state[pstate-1]][0]);
            Inum++;
			Readhead++;
		}
		else if(String[Readhead]>0)//id
		{
			//cout<<symtable[String[Readhead]-1].lexptr<<endl;
			fout2<<symtable[String[Readhead]-1].lexptr<<"(i";
			
			if(Inum!=0)
				fout2<<Inum<<")\n";
			else
				fout2<<")\n";
			
			symbol sy;
			sy.ID=0;
			sy.num=Inum;
			addsymbol(sy);
			addstate(action[state[pstate-1]][0]);
            Inum++;
			Readhead++;
			
		}
		else
			;
	}
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91在线观看| 麻豆精品视频在线观看免费| 7777精品伊人久久久大香线蕉| www.日本不卡| 99这里都是精品| 91女神在线视频| 色综合天天视频在线观看| 色又黄又爽网站www久久| 91丨porny丨户外露出| 91视频国产观看| 在线观看欧美日本| 欧美日本在线播放| 91精品国产乱| 国产区在线观看成人精品| 欧美国产日本视频| 一区二区三区蜜桃网| 图片区小说区区亚洲影院| 蜜臀av一区二区在线免费观看 | 国产精品嫩草99a| 中文字幕av一区二区三区免费看| 国产色产综合产在线视频| 日韩毛片精品高清免费| 亚欧色一区w666天堂| 韩国欧美国产1区| bt7086福利一区国产| 欧美视频一二三区| 日韩久久久久久| 国产情人综合久久777777| 亚洲欧美色综合| 蜜臀精品一区二区三区在线观看| 国产成人av福利| 欧美日韩一级大片网址| 欧美mv和日韩mv国产网站| 国产精品成人免费在线| 日本午夜精品视频在线观看| 高清久久久久久| 欧美日韩在线一区二区| 国产嫩草影院久久久久| 午夜精品视频一区| 99久久国产免费看| 欧美va日韩va| 亚洲自拍偷拍欧美| 高清久久久久久| 日韩欧美视频在线| 亚洲一区二区三区四区在线| 国产91对白在线观看九色| 4438x成人网最大色成网站| 国产精品欧美一级免费| 捆绑紧缚一区二区三区视频| 一本色道a无线码一区v| 国产欧美一区二区精品性| 日韩激情在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 久久一区二区三区四区| 日韩制服丝袜av| 欧美日韩一区二区欧美激情| 中文字幕在线一区| 国产美女主播视频一区| 日韩视频一区二区三区| 午夜伦理一区二区| 在线观看www91| 亚洲毛片av在线| 国产精品伊人色| 精品久久久久久久久久久院品网| 亚洲123区在线观看| 欧美羞羞免费网站| 亚洲精品午夜久久久| 99热精品一区二区| 亚洲欧美一区二区不卡| youjizz国产精品| 亚洲天堂a在线| 99精品在线免费| 最好看的中文字幕久久| 91毛片在线观看| 中文字幕亚洲在| 99久久99久久综合| 国产精品不卡在线观看| 99视频精品在线| 一区二区三区中文字幕精品精品| 99久久国产综合精品麻豆| 亚洲免费资源在线播放| 色哟哟一区二区在线观看| 亚洲精品欧美在线| 欧美天堂一区二区三区| 天堂资源在线中文精品| 日韩欧美国产精品一区| 精品中文字幕一区二区| 欧美极品xxx| 91片黄在线观看| 首页国产欧美日韩丝袜| 日韩欧美国产一区在线观看| 国产精品一区二区久激情瑜伽| 久久精品一区二区| 99久久久久免费精品国产 | 久久99久久久久久久久久久| 日韩欧美激情在线| 高清久久久久久| 亚洲激情第一区| 91精品国产高清一区二区三区| 免费成人性网站| 国产欧美视频一区二区| 色综合久久久久| 久草这里只有精品视频| 国产精品不卡一区| 91精品国产综合久久香蕉麻豆| 极品美女销魂一区二区三区免费| 国产精品久久久久久久浪潮网站| 欧美日本在线观看| 国产成人在线观看免费网站| 一区二区三区欧美| 欧美不卡在线视频| 日本精品裸体写真集在线观看| 免费观看30秒视频久久| 中文字幕在线不卡一区 | 免费观看成人av| 91精品国产日韩91久久久久久| 国内精品视频一区二区三区八戒 | 中文字幕在线视频一区| 91精品国产91久久综合桃花| 国产高清精品网站| 日韩avvvv在线播放| 国产精品久久777777| 久久亚洲免费视频| 欧美挠脚心视频网站| 99久久夜色精品国产网站| 蜜臀久久99精品久久久久宅男 | 中文字幕精品三区| 91精品国产一区二区三区| 波多野结衣在线一区| 免费在线观看视频一区| 一区二区三区四区激情| 国产三级欧美三级日产三级99| 欧美精品一级二级| 91美女视频网站| 成人看片黄a免费看在线| 麻豆国产精品777777在线| 亚洲午夜视频在线观看| 综合色中文字幕| 中文字幕精品在线不卡| 久久久99精品免费观看| 欧美不卡一区二区三区| 91麻豆精品国产91久久久更新时间| 一本大道综合伊人精品热热| 处破女av一区二区| 成人激情小说网站| 高清不卡一二三区| 国产成人av在线影院| 国产激情一区二区三区| 国产福利一区二区| 国产福利91精品一区二区三区| 国产精品一区二区三区四区| 国内精品伊人久久久久av影院| 久久国产尿小便嘘嘘尿| 久久99精品一区二区三区| 精东粉嫩av免费一区二区三区| 久久成人免费日本黄色| 国产呦精品一区二区三区网站| 久久99精品国产.久久久久| 蜜桃久久久久久| 国产精品91一区二区| 成人av电影在线播放| 99视频一区二区| 欧美亚洲动漫精品| 日韩欧美www| 欧美精品一区二区三区久久久| 久久久久久亚洲综合影院红桃| 久久久久国产精品厨房| ...中文天堂在线一区| 一区二区三区四区中文字幕| 亚洲444eee在线观看| 久久国内精品视频| 成人精品鲁一区一区二区| 成人app网站| 4438成人网| 国产精品伦一区二区三级视频| 亚洲人xxxx| 日本成人在线网站| 成人性生交大合| 精品视频一区 二区 三区| 26uuu精品一区二区三区四区在线| 久久久久久久久久久久电影| 中文字幕制服丝袜一区二区三区 | 日本不卡高清视频| 国产精品99久久久久久久vr| 色婷婷精品久久二区二区蜜臀av| 欧美日韩免费观看一区二区三区| 日韩欧美国产wwwww| 久久久久国产精品麻豆ai换脸| 亚洲欧美日韩综合aⅴ视频| 图片区日韩欧美亚洲| 国产成人精品亚洲777人妖| 欧洲另类一二三四区| 久久综合精品国产一区二区三区| 亚洲精品成人悠悠色影视| 国产一区二区在线观看免费| 91色porny| 国产人久久人人人人爽| 日韩不卡免费视频| 99国产精品99久久久久久| 日韩精品自拍偷拍|