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

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

?? fc-interpret.cpp

?? 編譯原理的一個課程設計
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
			i=memory[iAddress].iNumber;//數組下標
			if(!ArraySubscript(i,memory[iTemp].length))//下標檢查
				return FALSE;
			memory[iAddress].dNumber=memory[iTemp].dArray[i];
			iCode++;
			break;
		case OP_LOADARRAYI:			//導入整數數組
			iTemp=iBase+3+m_code[iCode].sd.iNumber;//數組頭位置
			i=memory[iAddress].iNumber;//數組下標
			if(!ArraySubscript(i,memory[iTemp].length))//下標檢查
				return FALSE;
			memory[iAddress].iNumber=memory[iTemp].iArray[i];
			iCode++;
			break;
		case OP_LOADCONSTD:			//導入實常數
			iAddress++;
			if(!TestAddress(iAddress))
				return FALSE;
			memory[iAddress].dNumber=m_code[iCode].sd.dNumber;
			iCode++;
			break;
		case OP_LOADCONSTI:			//導入整常數
			iAddress++;
			if(!TestAddress(iAddress))
				return FALSE;
			memory[iAddress].iNumber=m_code[iCode].sd.iNumber;
			iCode++;
			break;
		case OP_LOADVARD:			//導入實型變量
			iAddress++;
			if(!TestAddress(iAddress))
				return FALSE;
			memory[iAddress].dNumber=memory[iBase+3+m_code[iCode].sd.iNumber].dNumber;
			iCode++;
			break;
		case OP_LOADVARI:			//導入整型變量
			iAddress++;
			if(!TestAddress(iAddress))
				return FALSE;
			memory[iAddress].iNumber=memory[iBase+3+m_code[iCode].sd.iNumber].iNumber;
			iCode++;
			break;
		case OP_MINUSD:				//實數減
			memory[iAddress-1].dNumber-=memory[iAddress].dNumber;
			iAddress--;
			iCode++;
			break;
		case OP_MINUSI:				//整數減
			memory[iAddress-1].iNumber-=memory[iAddress].iNumber;
			iAddress--;
			iCode++;
			break;
		case OP_MOD:				//余
			if(!ZeroSlashMod(memory[iAddress].iNumber))
				return FALSE;
			memory[iAddress-1].iNumber%=memory[iAddress].iNumber;
			iAddress--;
			iCode++;
			break;
		case OP_NEWARRAYD:			//申請實型數組
			iTemp=memory[iAddress].iNumber;
			if(!ArraySubscript(iTemp,-1))
				return FALSE;
			n=iBase+3+m_code[iCode].sd.iNumber;
			memory[n].dArray=new double[iTemp];
			memory[n].length=iTemp;
			if(!ValideArray(memory[n].iArray))
				return FALSE;
			for(i=0;i<iTemp;i++)//數組賦初值
				memory[n].dArray[i]=0.0;
			iCode++;
			iAddress--;
			break;
		case OP_NEWARRAYI:			//申請整型數組
			iTemp=memory[iAddress].iNumber;
			if(!ArraySubscript(iTemp,-1))
				return FALSE;
			n=iBase+3+m_code[iCode].sd.iNumber;
			memory[n].iArray=new int[iTemp];
			memory[n].length=iTemp;
			if(!ValideArray(memory[n].iArray))
				return FALSE;
			for(i=0;i<iTemp;i++)//數組賦初值
				memory[n].iArray[i]=0;
			iCode++;
			iAddress--;
			break;
		case OP_NOT:				//邏輯非
			if(memory[iAddress].iNumber!=0)
				memory[iAddress].iNumber=0;
			else memory[iAddress].iNumber=1;
			iCode++;
			break;
		case OP_NOTEQUALD:			//實數不等
			if(memory[iAddress-1].dNumber != memory[iAddress].dNumber)
				memory[iAddress-1].iNumber=1;
			else memory[iAddress-1].iNumber=0;
			iAddress--;
			iCode++;
			break;
		case OP_NOTEQUALI:			//整數不等
			if(memory[iAddress-1].iNumber != memory[iAddress].iNumber)
				memory[iAddress-1].iNumber=1;
			else memory[iAddress-1].iNumber=0;
			iAddress--;
			iCode++;
			break;
		case OP_NULL:				//函數結束標志,返回
			iAddress=memory[iBase+1].iNumber	//恢復中間代碼指針
				-m_code[iCode].sd.iNumber;//回收參數傳遞時參數占用的虛內存
			iCode	=memory[iBase+2].iNumber+1;	//恢復棧頂指針
			iBase	=memory[iBase].iNumber;		//恢復原基地址
			if(iBase==0)
				goto EndInterpret;
			break;
		case OP_OR:					//邏輯或
			if(memory[iAddress-1].iNumber!=0 || memory[iAddress].iNumber!=0)
				memory[iAddress-1].iNumber=1;
			else memory[iAddress-1].iNumber=0;
			iAddress--;
			iCode++;
			break;
		case OP_OUTPUTD:			//輸出實數
			Output(memory[iAddress].dNumber);
			iAddress--;
			iCode++;
			break;
		case OP_OUTPUTI:			//輸出整數
			Output(memory[iAddress].iNumber);
			iAddress--;
			iCode++;
			break;
		case OP_OUTPUTS:			//輸出字符串
			Output(m_code[iCode].sd.string);
			iCode++;
			break;
		case OP_PARAMTRANSD:		//傳遞實型參數
			memory[iBase+3+m_code[iCode].sd.iNumber].dNumber=
				memory[iBase+m_code[iCode].sd.iNumber-m_code[iCode].sd.nParam].dNumber;
			iCode++;
			break;
		case OP_PARAMTRANSI:		//傳遞整型參數
			memory[iBase+3+m_code[iCode].sd.iNumber].iNumber=
				memory[iBase+m_code[iCode].sd.iNumber-m_code[iCode].sd.nParam].iNumber;
			iCode++;
			break;
		case OP_PLUSD:				//實數加
			memory[iAddress-1].dNumber+=memory[iAddress].dNumber;
			iAddress--;
			iCode++;
			break;
		case OP_PLUSI:				//整數加
			memory[iAddress-1].iNumber+=memory[iAddress].iNumber;
			iAddress--;
			iCode++;
			break;
		case OP_RETURN:				//函數返回
			iAddress=memory[iBase+1].iNumber+1	//恢復中間代碼指針
				-m_code[iCode].sd.iNumber;//回收參數傳遞時參數占用的虛內存
			iCode	=memory[iBase+2].iNumber+1;	//恢復棧頂指針
			iBase	=memory[iBase].iNumber;		//恢復原基地址
			if(iBase==0)
				goto EndInterpret;
			break;
		case OP_RETURND:			//實型函數返回
			dTemp=memory[iAddress].dNumber;//保留返回值
			iAddress=memory[iBase+1].iNumber+1	//恢復中間代碼指針
				-m_code[iCode].sd.iNumber;//回收參數傳遞時參數占用的虛內存
			iCode	=memory[iBase+2].iNumber+1;	//恢復棧頂指針
			iBase	=memory[iBase].iNumber;		//恢復原基地址
			memory[iAddress].dNumber=dTemp;
			break;
		case OP_RETURNI:			//整型函數返回
			iTemp=memory[iAddress].iNumber;//保留返回值
			iAddress=memory[iBase+1].iNumber+1	//恢復中間代碼指針
				-m_code[iCode].sd.iNumber;//回收參數傳遞時參數占用的虛內存
			iCode	=memory[iBase+2].iNumber+1;	//恢復棧頂指針
			iBase	=memory[iBase].iNumber;		//恢復原基地址
			memory[iAddress].iNumber=iTemp;
			break;
		case OP_SAVEARRAYD:			//存儲實數數組
			iTemp=iBase+3+m_code[iCode].sd.iNumber;//數組頭位置
			i=memory[iAddress-1].iNumber;//數組下標
			if(!ArraySubscript(i,memory[iTemp].length))//下標檢查
				return FALSE;
			memory[iTemp].dArray[i]=memory[iAddress].dNumber;
			iAddress-=2;
			iCode++;
			break;
		case OP_SAVEARRAYI:			//存儲整數數組
			iTemp=iBase+3+m_code[iCode].sd.iNumber;//數組頭位置
			i=memory[iAddress-1].iNumber;//數組下標
			if(!ArraySubscript(i,memory[iTemp].length))//下標檢查
				return FALSE;
			memory[iTemp].iArray[i]=memory[iAddress].iNumber;
			iAddress-=2;
			iCode++;
			break;
		case OP_SAVED:					//保存實型變量值
			memory[iBase+3+m_code[iCode].sd.iNumber].dNumber=memory[iAddress].dNumber;
			iAddress--;
			iCode++;
			break;
		case OP_SAVEI:				//保存整型變量值
			memory[iBase+3+m_code[iCode].sd.iNumber].iNumber=memory[iAddress].iNumber;
			iAddress--;
			iCode++;
			break;
		case OP_SLASHD:					//實數除
			if(!ZeroSlashMod(memory[iAddress].dNumber))//測試是否除數為0
				return FALSE;
			memory[iAddress-1].dNumber/=memory[iAddress].dNumber;
			iAddress--;
			iCode++;
			break;
		case OP_SLASHI:				//整數除
			if(!ZeroSlashMod(memory[iAddress].iNumber))//測試是否除數為0
				return FALSE;
			memory[iAddress-1].iNumber/=memory[iAddress].iNumber;
			iAddress--;
			iCode++;
			break;
		case OP_TIMESD:					//實數乘
			memory[iAddress-1].dNumber*=memory[iAddress].dNumber;
			iAddress--;
			iCode++;
			break;
		case OP_TIMESI:				//整數乘
			memory[iAddress-1].iNumber*=memory[iAddress].iNumber;
			iAddress--;
			iCode++;
			break;
		default://由于定義的所有操作上邊均已經實現,認為不可能到此default,故有以下處理
			Output("\r\n程序發生錯誤,請將此錯誤告知ZKF,以便進行修改,謝謝!\r\n");
			return FALSE;
		}
	}
EndInterpret:
	Output("\r\n程序執行用時 ");
	Output(tElapse+clock()-tStart);
	Output(" 毫秒\r\n");
	MessageBeep(0);
	return TRUE;
}//end interpret

void CFCDlg::Output(CString string)
{
	m_strEdit+=string;
	UpdateData(FALSE);
}

void CFCDlg::Output(int n)
{
	CString temp;
	temp.Format("%d",n);
	m_strEdit+=temp;
	UpdateData(FALSE);
}

void CFCDlg::Output(double d)
{
	CString temp;
	temp.Format("%."+m_strPrecision+"f",d);
	m_strEdit+=temp;
	UpdateData(FALSE);
}

int CFCDlg::InputInt(void)
{
	CFCInputDlg dlg;
	int result=dlg.InputInt();
	CString temp;
	temp.Format("%d\r\n",result);
	m_strEdit+=temp;
	UpdateData(FALSE);
	return result;
}

double CFCDlg::InputDouble(void)
{
	CFCInputDlg dlg;
	double result=dlg.InputDouble();
	CString temp;
	temp.Format("%."+m_strPrecision+"f\r\n",result);
	m_strEdit+=temp;
	UpdateData(FALSE);
	return result;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产99国产精品| 亚洲一区二区五区| 依依成人精品视频| 国产在线精品一区二区夜色| 色系网站成人免费| 久久夜色精品一区| 美女视频一区在线观看| 欧美综合天天夜夜久久| 国产精品乱码妇女bbbb| 国产在线看一区| 日韩亚洲国产中文字幕欧美| 亚洲黄色片在线观看| 成人一级片网址| 久久久一区二区三区| 久久黄色级2电影| 欧美一激情一区二区三区| 亚洲高清久久久| 91日韩在线专区| 亚洲欧洲一区二区在线播放| 国产jizzjizz一区二区| 久久免费精品国产久精品久久久久| 日本不卡一区二区三区| 555夜色666亚洲国产免| 亚洲福利视频一区二区| 欧美性做爰猛烈叫床潮| 三级成人在线视频| 国产成人综合在线播放| 色婷婷av一区二区三区gif| 91精品国产综合久久精品| 国产日韩精品一区二区三区在线| 艳妇臀荡乳欲伦亚洲一区| 美国av一区二区| 色婷婷综合久久久中文字幕| 日韩一级完整毛片| 亚洲男同性视频| 国产一区二区三区免费看| 91成人网在线| 精品国产乱码91久久久久久网站| 中文字幕一区二区三区av| 日韩高清在线不卡| 一本一道久久a久久精品| 精品免费视频一区二区| 亚洲欧美国产高清| 国产综合久久久久久久久久久久| 色婷婷久久久亚洲一区二区三区| 精品国产91久久久久久久妲己| 亚洲乱码国产乱码精品精98午夜| 国产美女主播视频一区| 91精品免费观看| 亚洲激情五月婷婷| av在线播放一区二区三区| 日韩女同互慰一区二区| 午夜精品福利一区二区蜜股av | 亚洲男帅同性gay1069| 久久精品国产在热久久| 欧美日韩国产在线播放网站| 国产精品你懂的| 国产东北露脸精品视频| 日韩小视频在线观看专区| 亚洲综合激情另类小说区| 9i在线看片成人免费| 国产精品免费免费| 国产91对白在线观看九色| 欧美精品一区二区三区在线| 日本欧美肥老太交大片| 欧美日韩国产高清一区二区三区| 一区二区三区四区在线| 在线免费观看日本一区| 亚洲欧洲综合另类| 99久久婷婷国产综合精品电影 | 青娱乐精品视频| 欧美视频一区二区三区四区| 亚洲自拍偷拍网站| 欧美亚男人的天堂| 亚洲va国产va欧美va观看| 欧美日韩一区二区在线观看视频| 亚洲精品久久7777| 欧美日韩在线直播| 人妖欧美一区二区| 欧美一级久久久久久久大片| 日韩av电影免费观看高清完整版 | 亚洲人精品午夜| 91免费观看视频在线| 亚洲一区二区三区在线| 欧美剧在线免费观看网站| 日韩av一级电影| 久久久噜噜噜久久中文字幕色伊伊| 韩日av一区二区| 国产亚洲自拍一区| 色综合天天综合色综合av| 亚洲主播在线观看| 欧美一区二区免费观在线| 国内精品久久久久影院一蜜桃| 国产丝袜在线精品| 一本一道综合狠狠老| 五月天丁香久久| 国产亚洲精品7777| 91成人免费电影| 韩国三级在线一区| 亚洲欧美国产毛片在线| 在线成人av影院| 国产白丝精品91爽爽久久| 一区二区日韩电影| 精品处破学生在线二十三| 成人av电影在线网| 日韩高清不卡在线| 国产精品毛片高清在线完整版| 91国产精品成人| 看片网站欧美日韩| 亚洲美女精品一区| 精品国产乱子伦一区| 日本道在线观看一区二区| 国产乱色国产精品免费视频| 一区二区日韩av| 中文字幕不卡在线| 欧美一级二级三级蜜桃| 色综合久久88色综合天天免费| 国产综合色产在线精品| 亚洲电影视频在线| 国产精品久久久久久久久免费丝袜 | 日本一区二区三区免费乱视频| 日本久久一区二区三区| 国产一区不卡在线| 亚洲va欧美va国产va天堂影院| 欧美激情一二三区| 日韩精品一区二区三区四区| 欧美做爰猛烈大尺度电影无法无天| 国产一区二区三区电影在线观看 | 99久久婷婷国产| 久久国产视频网| 日韩电影在线观看电影| 亚洲福中文字幕伊人影院| 亚洲精品老司机| 亚洲色图视频网| 中文字幕精品一区二区三区精品| 日韩午夜中文字幕| 7777女厕盗摄久久久| 91久久久免费一区二区| hitomi一区二区三区精品| 国产91精品久久久久久久网曝门| 国产一区二区三区在线观看免费视频 | 亚洲国产精品黑人久久久| 欧美电影免费观看高清完整版| 欧美乱熟臀69xxxxxx| 欧美三级电影在线观看| 欧美做爰猛烈大尺度电影无法无天| 97久久超碰精品国产| 成人av片在线观看| av影院午夜一区| k8久久久一区二区三区| 99在线精品视频| 91浏览器打开| 欧美性淫爽ww久久久久无| 欧洲一区在线电影| 欧美三级日韩三级| 欧美日韩五月天| 欧美夫妻性生活| 欧美一区二区高清| 久久综合色综合88| 国产欧美精品区一区二区三区| 欧美精品一区二区三| 国产三级欧美三级| 亚洲欧洲另类国产综合| 亚洲午夜精品在线| 日本v片在线高清不卡在线观看| 男男成人高潮片免费网站| 精品伊人久久久久7777人| 国产寡妇亲子伦一区二区| 99r国产精品| 欧美精品国产精品| 久久久精品国产免费观看同学| 国产精品久久久久久一区二区三区| 亚洲九九爱视频| 久久不见久久见免费视频7| 国产.欧美.日韩| 欧美日韩国产不卡| 精品国产凹凸成av人导航| 亚洲人成亚洲人成在线观看图片| 香蕉久久夜色精品国产使用方法| 久久国内精品自在自线400部| 粉嫩aⅴ一区二区三区四区五区| 色婷婷久久一区二区三区麻豆| 欧美一区午夜视频在线观看| 中文一区二区完整视频在线观看| 洋洋av久久久久久久一区| 国产在线不卡视频| 色爱区综合激月婷婷| 精品久久免费看| 一区二区三区中文字幕电影| 精品无人码麻豆乱码1区2区| 91色|porny| 国产清纯在线一区二区www| 亚洲国产日韩a在线播放性色| 国产曰批免费观看久久久| 色婷婷av一区二区三区gif| 久久久午夜精品理论片中文字幕| 亚洲精品成人在线| 国产成人日日夜夜| 日韩欧美一区电影| 亚洲成av人片在www色猫咪|