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

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

?? interpret.cpp

?? 編譯原理的教程和一個實習的例子程序
?? CPP
字號:
# include "common.h"

void INTERPRET()  //翻譯的主過程
{
	//////////  初始化部分  /////////
	oldTop=0;     
	stop=0;
	top=0;
	bp=0;
	pc=0;
	DISPLAY[1]=0;
	S[1]=0;
	S[2]=0;
	S[3]=0;
	/////////  初始化結束  //////////

	printf("翻譯開始\n");
	do
	{
		instruction=CODE[pc];  //取指令
		pc++;                  //PC加一

		switch(instruction.func)  //翻譯執行
		{
		case LIT:
		case LIT1:
			top++;
			S[top]=instruction.address;
			break;
		case LOD:
			top++;
			S[top]=S[DISPLAY[instruction.level]+instruction.address];
			break;
		case LODA:
			top++;
			S[top]=DISPLAY[instruction.level]+instruction.address;
			break;		
		case ILOD:
			top++;
			S[top]=S[S[DISPLAY[instruction.level]+instruction.address]];
			break;
		case LODT:
			S[top]=S[S[top]];
			break;
		case LODB:
			h=S[top];
			top--;
			hh=instruction.address+top;
			while(top<hh)
			{
				top++;
				S[top]=S[h];
				h++;
			}
			break;
		case CPYB:
			h=S[top-1];
			hh=S[top];
			hhh=h+instruction.address;
			while(h<hhh)
			{
				S[h]=S[hh];
				h++;
				hh++;
			}
			top-=2;
			break;
		case STO:
			S[S[top-1]]=S[top];
			top-=2;
			break;
		case OPAC:
			oldTop=top;
			top+=3;
			break;
		case CAL:
			S[oldTop+1]=pc;
			S[oldTop+2]=DISPLAY[instruction.level];
			S[oldTop+3]=bp;
			pc=instruction.address;
			break;
		case ENTP:
			bp=oldTop+1;
			DISPLAY[instruction.level]=bp;
			top=oldTop+instruction.address;
			break;
		case UDIS:
			h=instruction.address;
			hh=instruction.level;
			hhh=bp;
			do
			{
				DISPLAY[h]=hhh;
				h--;
				hhh=S[hhh+1];
			}while(h!=hh);
			break;
		case JMP:
			pc=instruction.address;
			break;
		case JPC:
			if(S[top]==0)
			{
				pc=instruction.address;
			}
			top--;//改正
			break;
		case RETP:
			top=bp-1;
			pc=S[top+1];
			bp=S[top+3];
			break;
		case ENDP:
			stop=1;
			break;
		case RED:
			if(instruction.address==0)
			{
				printf("Your Input:");
				scanf("%d",&temp);
			}
			else
				getch();
			S[S[top]]=temp;
			break;
		case WRT:
			if(instruction.address==0)
				printf("Your Output:%d\n",S[top]);		
			else
			{
				ch=(char)S[top];
				printf("Your Output%c\n",ch);
			}
			top--;
			break;
		case MUS:
			S[top]=-S[top];
		case ADD:
		case ADD1:
			top--;
			S[top]=S[top]+S[top+1];
			break;
		case SUB:
			top--;
			S[top]=S[top]-S[top+1];
			break;
		case MULT:
			top--;
			S[top]=S[top]*S[top+1];
			break;
		case IDIV:
			top--;
			S[top]=S[top]/S[top+1];
			break;
		case IMOD:
			top--;
			S[top]=S[top]%S[top+1];
			break;
		case ANDS:
			top--;
			S[top]=S[top]&S[top+1];
			break;
		case ORS:
			top--;
			S[top]=S[top]|S[top+1];
			break;
		case NOTS:
			top--;
			S[top]=~S[top];
			break;
		case EQ:
			top--;
			S[top]=(S[top]==S[top+1])?1:0;
			break;
		case NE:
			top--;
			S[top]=(S[top]!=S[top+1])?1:0;
			break;
		case LS:
			top--;
			S[top]=(S[top]<S[top+1])?1:0;
			break;
		case GE:
			top--;
			S[top]=(S[top]>=S[top+1])?1:0;
			break;
		case GT:
			top--;
			S[top]=(S[top]>S[top+1])?1:0;
			break;
		case LE:
			top--;
			S[top]=(S[top]<=S[top+1])?1:0;
			break;
		}
	}while(!stop);
	
	//printf("翻譯結束,請輸入任意字符退出。\n");
	printf("翻譯結束。\n");
}


void main(int arg,char ** argv)
{	
	char objFileName[255];
	FILE * objFile;
	int objLength;
	int dataunit;
	//INSTRUCTION tempIns;
	
	if(arg>1)
		strcpy(objFileName,argv[1]);
	else
	{
		printf("請輸入代碼源文件的名字:");
		scanf("%s",objFileName);
	}

	if(!(objFile=fopen(objFileName,"rb")))
	{
		printf("錯誤產生:代碼源文件%s不能打開!\n",objFileName);
		exit(1);
	}

	fseek(objFile,0,SEEK_END);
	objLength=ftell(objFile);   //獲得代碼文件的長度
	rewind(objFile);
	
	if(objLength%(3*sizeof(int)))   //判斷代碼文件是否完整
	{
		printf("錯誤的代碼源文件!");
		exit(2);
	}
    dataunit=2*sizeof(int)+sizeof(OPCOD);//一條指令代碼的長度
	int codeSize=objLength/dataunit;   //獲得代碼文件里面的指令條數
	CODE=new INSTRUCTION[codeSize];   //生成代碼數組


	if(!CODE)
	{
		printf("沒有足夠的堆可分配!");
		exit(3);
	}

	

	int count=fread(CODE,dataunit,codeSize,objFile);    //將代碼文件讀入代碼數組

	printf("%d",count);
	INTERPRET();   //開始翻譯執行

	delete CODE;   //翻譯完畢,刪除數組
	fclose(objFile);
	
	//int a;         //小關卡,可以查看運行結果
	//scanf("%d",a);
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看欧美精品| 日韩专区一卡二卡| 成人小视频在线| 中文字幕不卡三区| 91蜜桃在线免费视频| 亚洲猫色日本管| 欧美另类高清zo欧美| 免费成人av在线| 久久色在线视频| 99久久综合色| 天涯成人国产亚洲精品一区av| 欧美一区二区三区日韩视频| 韩国女主播成人在线观看| 国产亚洲综合色| 色噜噜狠狠一区二区三区果冻| 日韩国产精品久久| www久久久久| 97精品国产露脸对白| 午夜精品成人在线视频| 欧美本精品男人aⅴ天堂| 国产98色在线|日韩| 一区二区三区精品视频| 日韩一卡二卡三卡| caoporm超碰国产精品| 亚洲大型综合色站| 久久久久久夜精品精品免费| 色综合久久综合中文综合网| 日本在线播放一区二区三区| 国产日韩欧美精品一区| 在线观看国产日韩| 国产一区二区三区在线看麻豆| 亚洲欧美在线高清| 日韩免费观看2025年上映的电影| 粉嫩av一区二区三区粉嫩| 亚洲成人免费视频| 欧美国产1区2区| 91精品免费在线观看| 99久久精品国产毛片| 看电影不卡的网站| 亚洲自拍偷拍欧美| 国产日韩欧美电影| 欧美一区永久视频免费观看| 99精品视频在线观看免费| 日本欧美一区二区三区| 亚洲欧美区自拍先锋| 久久综合久久综合九色| 欧美午夜一区二区| 99久久综合精品| 国产黄人亚洲片| 另类综合日韩欧美亚洲| 亚洲国产日韩一级| 亚洲天堂精品在线观看| 国产视频一区二区在线观看| 69堂亚洲精品首页| 欧美在线视频全部完| 粉嫩蜜臀av国产精品网站| 九九热在线视频观看这里只有精品| 亚洲曰韩产成在线| 最新中文字幕一区二区三区| 久久久久久久久久久久久久久99| 欧美日韩久久久一区| 色综合天天综合狠狠| 国产99久久久国产精品潘金| 精品亚洲欧美一区| 久久99九九99精品| 奇米精品一区二区三区四区| 日韩中文字幕麻豆| 午夜激情一区二区三区| 亚洲国产精品一区二区久久恐怖片 | 91视频免费播放| 成熟亚洲日本毛茸茸凸凹| 国产一区二区不卡在线| 精品一区二区三区在线观看| 蜜桃一区二区三区在线观看| 日本不卡一区二区三区高清视频| 亚洲一级在线观看| 亚洲国产日韩一级| 午夜精品一区二区三区三上悠亚| 一区二区三区免费看视频| 亚洲精品日韩一| 一区二区三区在线免费观看| 亚洲精品亚洲人成人网在线播放| 日韩美女视频19| 亚洲精品高清在线观看| 亚洲国产成人av网| 日韩激情视频在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 久久国产综合精品| 国产精品一区二区三区99| 国产精品一级黄| 成人99免费视频| 色婷婷激情综合| 欧美精品欧美精品系列| 亚洲精品在线观看视频| 久久精品视频免费观看| 1区2区3区欧美| 亚洲资源中文字幕| 蓝色福利精品导航| 国产成a人无v码亚洲福利| 99v久久综合狠狠综合久久| 91久久一区二区| 欧美一区二区三区人| 欧美xxxxx牲另类人与| 中文字幕精品一区二区精品绿巨人| 国产精品久久免费看| 亚洲一区影音先锋| 久久99精品久久久久久国产越南 | 免费人成在线不卡| 国产一区久久久| 97精品久久久久中文字幕| 欧美性一级生活| 亚洲精品一区二区精华| 亚洲日本电影在线| 免费成人av在线播放| 北条麻妃国产九九精品视频| 色噜噜狠狠一区二区三区果冻| 日韩一区二区三区视频在线观看| 国产亚洲精久久久久久| 亚洲国产日日夜夜| 国产精品亚洲人在线观看| 在线观看亚洲成人| 久久久综合视频| 亚洲丰满少妇videoshd| 国产精品亚洲专一区二区三区| 在线观看一区二区视频| 久久久不卡网国产精品一区| 亚洲综合一区二区三区| 国产二区国产一区在线观看| 欧美日韩久久不卡| 国产精品国产自产拍高清av| 免费久久99精品国产| 91免费版在线| 欧美国产一区二区| 美腿丝袜一区二区三区| 欧美主播一区二区三区| 欧美国产精品专区| 激情小说亚洲一区| 欧美喷潮久久久xxxxx| 18欧美乱大交hd1984| 狠狠色综合播放一区二区| 欧美精选一区二区| 亚洲三级理论片| 国产成人av一区| 欧美tickling网站挠脚心| 亚洲一区二区三区视频在线播放| 成人深夜在线观看| 精品国产凹凸成av人导航| 图片区小说区区亚洲影院| 91浏览器在线视频| 国产精品理伦片| 国产999精品久久久久久| 精品欧美一区二区三区精品久久| 亚洲成在线观看| 91福利社在线观看| 亚洲免费观看高清完整版在线观看 | 精品区一区二区| 日本中文字幕一区二区视频| 欧美视频完全免费看| 亚洲视频一区在线观看| av在线播放一区二区三区| 国产精品嫩草影院com| 高清不卡在线观看av| 久久精品一区二区| 国产美女精品人人做人人爽| 日韩精品一区二区三区三区免费 | 国产欧美日韩精品在线| 国内欧美视频一区二区| 日韩精品一区二区三区老鸭窝| 视频一区国产视频| 在线播放欧美女士性生活| 婷婷一区二区三区| 777午夜精品免费视频| 午夜激情综合网| 在线不卡欧美精品一区二区三区| 亚洲成av人片观看| 欧美丰满高潮xxxx喷水动漫| 图片区小说区区亚洲影院| 欧美一区二区三区思思人| 麻豆成人免费电影| 久久久久久久性| 成人精品视频一区二区三区尤物| 亚洲欧洲精品一区二区三区不卡| 91在线视频观看| 夜夜精品视频一区二区| 欧美日本在线看| 另类人妖一区二区av| 久久九九影视网| 91一区一区三区| 日韩成人精品在线观看| 精品毛片乱码1区2区3区| 高清在线成人网| 亚洲美女屁股眼交| 日韩一区二区三| 成人午夜伦理影院| 亚洲福利视频导航| 26uuu国产电影一区二区| 波多野结衣精品在线| 亚洲韩国一区二区三区| 欧美成人精品高清在线播放| 国产成人精品影院|