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

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

?? syntax.cpp

?? 功能很強大的語法分析程序
?? CPP
字號:
/*
	語法分析外殼程序 0.2  [實現文件]

*/
#include "syntax.h"		//For Shell
#include "zSyntax.h"	//For Core Class

HINSTANCE hinst;		//Recent Instance
HWND hwnd;				//For Dialog
zSyntax *s;				//語法分析類
char in[65536];			//輸入文法緩沖區
char out[65536];		//輸出結果緩沖區
char str[256],b[256];	//臨時字串緩沖區

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
	s=new zSyntax;
	hinst=hInstance;
	DialogBox(hinst,MAKEINTRESOURCE(IDD_MAINDLG),NULL,(DLGPROC)dlgproc);
	delete s;
	return 0;
}

void printout(char *b)	//串行化輸出
{
	strcat(out,b);
	SetDlgItemText(hwnd,IDC_OUTPUT,out);
}

BOOL CALLBACK dlgproc(HWND hdlg,UINT msg,WPARAM wparam,LPARAM lparam)
{
	int i,j;char *p;
	switch(msg)
	{
	case WM_INITDIALOG:
		hwnd=hdlg;
		in[65535]=0;	//結尾清0防止溢出
		out[65535]=0;	//結尾清0防止溢出
		SendMessage(hdlg,WM_SETICON,ICON_BIG,(LPARAM)LoadIcon(hinst,MAKEINTRESOURCE(IDI_ICON)));
		SendDlgItemMessage(hdlg,IDC_VN,WM_SETFONT,(DWORD)GetStockObject(ANSI_FIXED_FONT),0);
		SendDlgItemMessage(hdlg,IDC_VT,WM_SETFONT,(DWORD)GetStockObject(ANSI_FIXED_FONT),0);
		SendDlgItemMessage(hdlg,IDC_INPUT,WM_SETFONT,(DWORD)GetStockObject(ANSI_FIXED_FONT),0);
		SendDlgItemMessage(hdlg,IDC_OUTPUT,WM_SETFONT,(DWORD)GetStockObject(SYSTEM_FIXED_FONT),0);
		SendDlgItemMessage(hdlg,IDC_TEST,WM_SETFONT,(DWORD)GetStockObject(ANSI_FIXED_FONT),0);
//		SetDlgItemText(hdlg,IDC_VN,"ABCDS");//Another Example.
//		SetDlgItemText(hdlg,IDC_VT,"abc");
//		strcpy(in,"S->AB\r\nS->cC\r\nA->@\r\nA->b\r\nB->@\r\nB->aD\r\nC->AD\r\nC->@\r\nD->aS\r\nD->c");
		SetDlgItemText(hdlg,IDC_VN,"EATBF");
		SetDlgItemText(hdlg,IDC_VT,"i+*()");
		strcpy(in,"E->TA\r\nA->+TA\r\nA->@\r\nT->FB\r\nB->*FB\r\nB->@\r\nF->i\r\nF->(E)\r\n");
		SetDlgItemText(hdlg,IDC_INPUT,in);
		SetDlgItemText(hdlg,IDC_BEGIN,"E");
		SetDlgItemText(hdlg,IDC_TEST,"i+i*i#");
		break;
	case WM_COMMAND:
		switch(LOWORD(wparam))
		{
		case ID_START:
			SetCursor(LoadCursor(NULL,IDC_WAIT));
			s->reset();
			*out=0;
			printout("檢查產生式......");
			GetDlgItemText(hdlg,IDC_VN,in,65535);
			s->setvn(in);
			GetDlgItemText(hdlg,IDC_VT,in,65535);
			s->setvt(in);
			GetDlgItemText(hdlg,IDC_BEGIN,in,2);
			s->setstart(*in);
			GetDlgItemText(hdlg,IDC_TEST,in,65535);
			s->settest(in);
			GetDlgItemText(hdlg,IDC_INPUT,in,65535);
			p=in;
			while(1)
			{
				i=0;
				while(*p>32)
					str[i++]=*p++;
				str[i]=0;
				if(i&&s->addp(str))
				{
					printout("有錯誤!");
					return 1;
				}
				if(!*p++) break;
			}
			printout("正確!\r\n驗證文法及測試字串......");
			if(i=s->check())
			{
				printout("錯誤:");
				switch(-i)
				{
				case 1:printout("非終結符集無元素!");break;
				case 2:printout("終結符集無元素!");break;
				case 3:printout("非終結符集和終結符集有交集!");break;
				case 4:printout("沒有初始符!");break;
				case 5:printout("初始符不是非終結符!");break;
				case 6:printout("沒有產生式!");break;
				case 7:printout("沒有以初始符為左部的產生式!");break;
				case 8:printout("產生式左部有非法符號!");break;
				case 9:printout("產生式右部有非法符號!");break;
				case 10:printout("產生式有左遞歸!");break;
				case 11:printout("測試字串包含非法字符!");break;
				case 12:printout("測試字串不是以\'#\'結尾!");break;
				}
				break;
			}
			printout("正確!\r\n    FIRST集合:\r\n");
			s->dofirst();
			for(i=0;i<s->vn->getnum();i++)
			{
				s->first[i]->print(b);
				wsprintf(p,"First(%c) =%s\r\n",s->vn->getdata()[i],b);
				strcat(out,p);
			}
			printout("    FOLLOW集合:\r\n");
			s->dofollow();
			for(i=0;i<s->vn->getnum();i++)
			{
				s->follow[i]->print(b);
				wsprintf(p,"Follow(%c)=%s\r\n",s->vn->getdata()[i],b);
				strcat(out,p);
			}
			printout("    SELECT集合:\r\n");
			s->doselect();
			for(i=0;i<s->pnum;i++)
			{
				s->right[i]->print(b);
				wsprintf(p,"Select(%c->%s)",s->left[i],b);
				strcat(out,p);
				s->select[i]->print(b);
				wsprintf(p,"=%s\r\n",b);
				strcat(out,p);
			}
			printout("驗證LL(1)文法......");
			if(s->checkll1())
			{
				printout("失敗!\r\n輸入的文法不是LL(1)文法!");
				break;
			}
			printout("合格!\r\n    文法預測分析表\r\n");
			s->doform();
			printout("--------------------------------------------------\r\n");
			for(i=0;i<s->vt->getnum();i++)
			{
				wsprintf(b,"\t%c",s->vt->getdata()[i]);
				printout(b);
			}
			printout("\t@");
			for(i=0;i<s->vn->getnum();i++)
			{
				wsprintf(b,"\r\n%c",s->vn->getdata()[i]);
				printout(b);
				for(j=0;j<=s->vt->getnum();j++)
				{
					printout("\t");
					if(s->m[i][j])
					{
						s->m[i][j]->print(b);
						printout(b);
					}
				}
			}
			printout("\r\n--------------------------------------------------\r\n");
			printout("    對測試字串的分析過程\r\n");
			printout("----------------------------------------\r\n");
			printout("分析棧\t剩余輸入串\t所用產生式\r\n");
			i=s->dotest(in);
			printout(in);
			if(i) printout("\t不匹配!\r\n");
			printout("----------------------------------------\r\n");
			SetCursor(LoadCursor(NULL,IDC_ARROW));
			break;
		case ID_HOWTO:
			MessageBox(hdlg,"1.輸入的文法不能含有#,空格,漢字,全角符號.\n2.表示空時用\"@\".\n3.輸入的測試字串要以\"#\"結尾.","說明",NULL);
			break;
		case ID_ABOUT:
			MessageBox(hdlg,"LL(1)語法分析系統 0.2\n","關于",NULL);
			break;
		default:
			return 0;
		}
		return 1;
	case WM_CLOSE:
		EndDialog(hdlg,0);
	}
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久蜜桃av一区精品变态类天堂| av高清久久久| 17c精品麻豆一区二区免费| 日韩欧美www| 精品伦理精品一区| 精品国产乱码久久| www国产精品av| 精品福利一区二区三区| 久久久夜色精品亚洲| 久久午夜羞羞影院免费观看| 久久精品人人做人人综合 | 亚洲午夜三级在线| 亚洲一区影音先锋| 日日摸夜夜添夜夜添国产精品 | 欧美aaaaa成人免费观看视频| 五月婷婷久久综合| 麻豆91精品视频| 国产成人亚洲精品狼色在线 | 亚洲精品一二三四区| 亚洲伦在线观看| 夜夜精品浪潮av一区二区三区| 亚洲小少妇裸体bbw| 精品一区二区精品| 成人av片在线观看| 欧美色电影在线| 欧美va在线播放| 欧美国产欧美综合| 亚洲国产精品尤物yw在线观看| 日本v片在线高清不卡在线观看| 国内一区二区视频| 色综合久久综合网97色综合| 欧美日韩免费观看一区三区| www国产成人免费观看视频 深夜成人网| 亚洲免费大片在线观看| 免费看黄色91| 成人av动漫在线| 欧美一区二区三区不卡| 欧美激情在线看| 亚洲香蕉伊在人在线观| 国产精品综合二区| 欧美日韩综合不卡| 国产日韩av一区| 日韩在线播放一区二区| 99久久久久久99| 久久综合五月天婷婷伊人| 一区二区三区视频在线看| 韩国av一区二区三区在线观看| 91久久久免费一区二区| 国产亚洲一区字幕| 日本特黄久久久高潮| 99久久99久久免费精品蜜臀| 久久综合国产精品| 三级欧美韩日大片在线看| av影院午夜一区| 国产亚洲欧美日韩日本| 日本 国产 欧美色综合| 91福利在线导航| 国产精品电影一区二区三区| 久久99蜜桃精品| 欧美精品aⅴ在线视频| 亚洲另类一区二区| 丁香激情综合五月| 日韩欧美综合一区| 丝袜a∨在线一区二区三区不卡| 99国内精品久久| 国产精品久久一级| 国产成人综合在线| 久久久777精品电影网影网 | 99久久精品费精品国产一区二区| 精品毛片乱码1区2区3区| 免费成人在线观看| 欧美高清视频不卡网| 亚洲成av人片在线观看无码| 一本久久精品一区二区| 亚洲视频一二区| 成人av一区二区三区| 国产精品久久久久久久久免费桃花 | 色综合久久中文字幕综合网| 中文字幕国产一区二区| 成人晚上爱看视频| 欧美国产一区在线| 成人激情视频网站| 综合欧美亚洲日本| 欧美自拍偷拍一区| 婷婷国产在线综合| 日韩精品中文字幕在线不卡尤物| 欧美aaaaaa午夜精品| 欧美成人国产一区二区| 国内精品伊人久久久久影院对白| 精品国产精品网麻豆系列| 国产在线视频精品一区| 国产欧美日韩精品在线| 91网上在线视频| 午夜私人影院久久久久| 精品少妇一区二区三区日产乱码 | 亚洲最色的网站| 欧美人妖巨大在线| 麻豆国产欧美一区二区三区| 久久久亚洲午夜电影| av激情综合网| 美腿丝袜亚洲一区| 亚洲成人1区2区| 日韩一卡二卡三卡国产欧美| 国产一区 二区| 尤物av一区二区| 日韩欧美黄色影院| 成人av在线影院| 午夜精品久久久久久久久久 | 国产精品99久久久久久似苏梦涵| 国产精品色在线| 欧洲一区在线观看| 国产美女精品一区二区三区| 亚洲欧洲日韩女同| 欧美白人最猛性xxxxx69交| 成人黄色在线网站| 美女一区二区三区| 亚洲午夜久久久久久久久电影院| 精品国产露脸精彩对白| 欧美性极品少妇| 高清免费成人av| 麻豆国产精品777777在线| 亚洲欧美色一区| 久久综合久久综合亚洲| 欧美日韩一区在线观看| eeuss鲁片一区二区三区在线观看| 水蜜桃久久夜色精品一区的特点| 国产精品嫩草久久久久| 7777精品伊人久久久大香线蕉的| 成人黄色网址在线观看| 精品一区二区三区香蕉蜜桃| 亚洲国产综合色| 亚洲色图丝袜美腿| 国产亚洲人成网站| 日韩欧美一级二级三级| 欧美群妇大交群中文字幕| 99久久精品国产网站| 国产精品亚洲视频| 国产综合色精品一区二区三区| 亚洲午夜久久久久久久久电影网| 国产精品久久久久久久久图文区 | 五月天婷婷综合| 亚洲精选免费视频| 亚洲精品免费视频| 国产精品色噜噜| 国产视频一区在线观看| 日韩女优av电影| 日韩亚洲欧美在线| 欧美日韩激情一区| 欧美日韩国产综合草草| 在线免费亚洲电影| 91女人视频在线观看| 成人黄色大片在线观看| 从欧美一区二区三区| 国产精品一区2区| 国产成人在线观看免费网站| 紧缚奴在线一区二区三区| 久久99精品国产.久久久久久| 免费在线观看一区二区三区| 日一区二区三区| 日韩av网站在线观看| 免费看日韩a级影片| 国产一区美女在线| 国产经典欧美精品| av欧美精品.com| 91色婷婷久久久久合中文| 色呦呦网站一区| 欧美日韩1234| 日韩色在线观看| 日本一区二区在线不卡| 亚洲欧美一区二区在线观看| 亚洲精品欧美在线| 三级影片在线观看欧美日韩一区二区| 日本不卡一二三| 懂色av中文一区二区三区| voyeur盗摄精品| 欧美日韩国产另类一区| 日韩免费观看高清完整版| 国产区在线观看成人精品| 亚洲欧美乱综合| 亚洲h动漫在线| 国产99久久久国产精品潘金网站| 成a人片亚洲日本久久| 欧美日韩精品久久久| 精品国产精品网麻豆系列| 亚洲伦理在线精品| 免费观看在线综合| 不卡的av中国片| 日韩一区和二区| 国产精品三级久久久久三级| 亚洲大片精品永久免费| 国产伦理精品不卡| 欧美影院一区二区三区| 久久久91精品国产一区二区三区| 国产精品久久一级| 久久福利视频一区二区| 91日韩在线专区| 国产日韩欧美不卡在线| 五月激情六月综合| 91欧美一区二区| 国产色婷婷亚洲99精品小说|