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

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

?? fc-interactive.cpp

?? 編譯原理的一個課程設(shè)計
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
		MessageBox("錯誤的 FCR 中間代碼文件!","FC 2.2",MB_OK|MB_ICONEXCLAMATION);
		return;
	}
	else
	{
		if(buf[3]<20)
		{
			MessageBox("未知的 FCR 中間代碼文件版本!","FC 2.2",MB_OK|MB_ICONEXCLAMATION);
			return;
		}
		else if(buf[3]<22)
		{
			MessageBox("不兼容的 FCR 中間代碼文件版本!","FC 2.2",MB_OK|MB_ICONEXCLAMATION);
			return;
		}
		if(buf[3]>22)
		{
			MessageBox(
				"無法打開 "+FileName+" !\n請使用高版本的 FCR 解釋器解釋執(zhí)行 "+FileName+" .",
				"FC 2.2",MB_OK|MB_ICONEXCLAMATION);
			return;
		}
	}
	fin.Read(&m_iCode,4);
	for(i=0;i<m_iCode;i++)
	{
		fin.Read(&ch,sizeof(char));
		m_code[i].op=(ZOperator)ch;
		switch(m_code[i].op)
		{
		case OP_OUTPUTS://不定長字符串
			fin.Read(&t,4);
			m_code[i].sd.string=new char[t+1];
			fin.Read(m_code[i].sd.string,t);
			m_code[i].sd.string[t]='\0';
			break;
		case OP_LOADCONSTD://8字節(jié)*1
			fin.Read(&m_code[i].sd.dNumber,sizeof(double));
			break;
		case OP_PARAMTRANSD:case OP_PARAMTRANSI://8字節(jié)*2
			fin.Read(&m_code[i].sd.iNumber,sizeof(int));
			fin.Read(&m_code[i].sd.nParam,sizeof(int));
			break;
		case OP_JUMPC:case OP_JUMP:case OP_LOADCONSTI:
		case OP_LOADVARI:case OP_LOADVARD:case OP_SAVEI:
		case OP_SAVED:case OP_INPUTI:case OP_INPUTD:
		case OP_RETURNI:case OP_RETURND:case OP_RETURN:
		case OP_NULL:case OP_I2D:case OP_D2I:
		case OP_CALL:case OP_NEWARRAYI:case OP_NEWARRAYD:
		case OP_SAVEARRAYI:case OP_SAVEARRAYD:
		case OP_LOADARRAYI:case OP_LOADARRAYD:
		case OP_DELARRAYI:case OP_DELARRAYD:
		case OP_INPUTARRAYI:case OP_INPUTARRAYD://4字節(jié)*26
			fin.Read(&m_code[i].sd.iNumber,sizeof(int));
			break;
		/*
		case OP_COPYI:case OP_COPYD:case OP_DELETE:
		case OP_EXIT:case OP_AND:case OP_OR:
		case OP_NOT:case OP_OUTPUTI:case OP_OUTPUTD:
		case OP_CHANGESIGNALI:case OP_CHANGESIGNALD:
		case OP_PLUSI:case OP_PLUSD:case OP_MINUSI:
		case OP_MINUSD:case OP_TIMESI:case OP_TIMESD:
		case OP_SLASHI:case OP_SLASHD:case OP_MOD:
		case OP_EQUALI:case OP_EQUALD:case OP_NOTEQUALI:
		case OP_NOTEQUALD:case OP_LESSI:case OP_LESSD:
		case OP_LESSEQUALI:case OP_LESSEQUALD:
		case OP_GREATI:case OP_GREATD:case OP_GREATEQUALI:
		case OP_GREATEQUALD://0字節(jié)*29
			break;//*/
		}
	}
	fin.Close();
	SetWindowText("FC 2.2 解釋器 - "+FileName);
	m_bCompiled=TRUE;
	m_iErrorCount=0;
	m_strEdit="";
	UpdateData(FALSE);
}

void CFCDlg::On_OpenSource()
{
	if(!m_bSaved)
	{
		CString message;
		if(m_strFile=="")
			message="源代碼沒有保存,要保存嗎?";
		else
			message=m_strFile+" 的內(nèi)容已經(jīng)改變,要保存嗎?";
		switch(MessageBox(message,"FC 2.2",MB_YESNOCANCEL|MB_ICONQUESTION))
		{
		case IDYES:
			On_SaveSource();
			break;
		case IDNO:
			break;
		case IDCANCEL:
			return;
		}
	}
	CFileDialog dlg(TRUE,"txt",m_strFile,
		OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
		"文本文件 (*.txt)|*.txt|任意文件 (*.*)|*.*||");
	if(dlg.DoModal()!=IDOK)
		return;
	m_strFile=dlg.GetFileName();
	m_strEdit="";
	CFile fin(m_strFile,CFile::modeRead);
	char buf[1025];
	int length;
	do
	{
		length=fin.Read(buf,1024);
		buf[length]='\0';
		m_strEdit+=buf;
	}
	while(length==1024);
	fin.Close();
	SetWindowText("FC 2.2 - "+m_strFile);
	m_bSaved=TRUE;
}

void CFCDlg::On_SaveAbout()
{
	CString FileName;
	GetWindowText(FileName);
	CFileDialog dlg(FALSE,"txt",FileName+".txt",
		OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
		"文本文件 (*.txt)|*.txt|任意文件 (*.*)|*.*||");
	if(dlg.DoModal()!=IDOK)
		return;
	FileName=dlg.GetFileName();
	CFile fout(FileName,CFile::modeWrite|CFile::modeCreate);
	fout.Write(m_strEdit,m_strEdit.GetLength());
	fout.Close();
}

void CFCDlg::On_SaveAsSource()
{
	CFileDialog dlg(FALSE,"txt",m_strFile,
		OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
		"文本文件 (*.txt)|*.txt|任意文件 (*.*)|*.*||");
	if(dlg.DoModal()!=IDOK)
		return;
	m_strFile=dlg.GetFileName();
	CFile fout(m_strFile,CFile::modeWrite|CFile::modeCreate);
	fout.Write(m_strEdit,m_strEdit.GetLength());
	fout.Close();
	SetWindowText("FC 2.2 - "+m_strFile);
	m_bSaved=TRUE;
}

void CFCDlg::On_SaveCode()
{
	if(!m_bCompiled)
		return;
	int i,t;
	char ch;
	CString FileName;
	for(i=m_strFile.GetLength()-1;i>=0;i--)
		if(m_strFile[i]=='.' || m_strFile[i]=='\\' || m_strFile[i]=='/')
			break;
	if(i<0)
		FileName=m_strFile;
	else if(m_strFile[i]=='.')
		FileName=m_strFile.Left(i);
	else
		FileName=m_strFile;
	CFileDialog dlg(FALSE,"fcr",FileName+".fcr",
		OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
		"FC中間代碼文件 (*.fcr)|*.fcr||");
	if(dlg.DoModal()!=IDOK)
		return;
	FileName=dlg.GetFileName();
	CFile fout(FileName,CFile::modeCreate|CFile::modeWrite);
	char buf[5]="FCR ";
	buf[3]=(char)22;//版本2.2
	fout.Write(buf,4);
	fout.Write(&m_iCode,4);
	for(i=0;i<m_iCode;i++)
	{
		ch=(char)m_code[i].op;
		fout.Write(&ch,sizeof(char));
		switch(m_code[i].op)
		{
		case OP_OUTPUTS://不定長字符串
			t=(int)strlen(m_code[i].sd.string);
			fout.Write(&t,4);
			fout.Write(m_code[i].sd.string,t);
			break;
		case OP_LOADCONSTD://8字節(jié)*1
			fout.Write(&m_code[i].sd.dNumber,sizeof(double));
			break;
		case OP_PARAMTRANSD:case OP_PARAMTRANSI://8字節(jié)*2
			fout.Write(&m_code[i].sd.iNumber,sizeof(int));
			fout.Write(&m_code[i].sd.nParam,sizeof(int));
			break;
		case OP_JUMPC:case OP_JUMP:case OP_LOADCONSTI:
		case OP_LOADVARI:case OP_LOADVARD:case OP_SAVEI:
		case OP_SAVED:case OP_INPUTI:case OP_INPUTD:
		case OP_RETURNI:case OP_RETURND:case OP_RETURN:
		case OP_NULL:case OP_I2D:case OP_D2I:
		case OP_CALL:case OP_NEWARRAYI:case OP_NEWARRAYD:
		case OP_SAVEARRAYI:case OP_SAVEARRAYD:
		case OP_LOADARRAYI:case OP_LOADARRAYD:
		case OP_DELARRAYI:case OP_DELARRAYD:
		case OP_INPUTARRAYI:case OP_INPUTARRAYD://4字節(jié)*26
			fout.Write(&m_code[i].sd.iNumber,sizeof(int));
			break;
		/*
		case OP_COPYI:case OP_COPYD:case OP_DELETE:
		case OP_EXIT:case OP_AND:case OP_OR:
		case OP_NOT:case OP_OUTPUTI:case OP_OUTPUTD:
		case OP_CHANGESIGNALI:case OP_CHANGESIGNALD:
		case OP_PLUSI:case OP_PLUSD:case OP_MINUSI:
		case OP_MINUSD:case OP_TIMESI:case OP_TIMESD:
		case OP_SLASHI:case OP_SLASHD:case OP_MOD:
		case OP_EQUALI:case OP_EQUALD:case OP_NOTEQUALI:
		case OP_NOTEQUALD:case OP_LESSI:case OP_LESSD:
		case OP_LESSEQUALI:case OP_LESSEQUALD:
		case OP_GREATI:case OP_GREATD:case OP_GREATEQUALI:
		case OP_GREATEQUALD://0字節(jié)*29
			break;//*/
		}
	}
	fout.Close();
	SetWindowText("FC 2.2 解釋器 - "+FileName);
}

void CFCDlg::On_SaveResult()
{
	CString FileName;
	for(int i=m_strFile.GetLength()-1;i>=0;i--)
		if(m_strFile[i]=='.' || m_strFile[i]=='\\' || m_strFile[i]=='/')
			break;
	if(i<0)
		FileName=m_strFile;
	else if(m_strFile[i]=='.')
		FileName=m_strFile.Left(i);
	else
		FileName=m_strFile;
	FileName+=" 運行結(jié)果.txt";
	CFileDialog dlg(FALSE,"txt",FileName,
		OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
		"文本文件 (*.txt)|*.txt|任意文件 (*.*)|*.*||");
	if(dlg.DoModal()!=IDOK)
		return;
	FileName=dlg.GetFileName();
	CFile fout(FileName,CFile::modeWrite|CFile::modeCreate);
	fout.Write(m_strEdit,m_strEdit.GetLength());
	fout.Close();
}

void CFCDlg::On_SaveSource()
{
	if(m_strFile=="")
	{
		CFileDialog dlg(FALSE,"txt",m_strFile,
			OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
			"文本文件 (*.txt)|*.txt|任意文件 (*.*)|*.*||");
		if(dlg.DoModal()!=IDOK)
			return;
		m_strFile=dlg.GetFileName();
		SetWindowText("FC 2.2 - "+m_strFile);
	}
	CFile fout(m_strFile,CFile::modeWrite|CFile::modeCreate);
	fout.Write(m_strEdit,m_strEdit.GetLength());
	fout.Close();
	SetWindowText("FC 2.2 - "+m_strFile);
	m_bSaved=TRUE;
}

void CFCDlg::On_Translate()
{
	if(!m_bSaved)
	{
		CString message="翻譯前要進行語法檢查。";
		if(m_strFile=="")
			message+="源代碼沒有保存,要保存嗎?";
		else
			message+=m_strFile+" 的內(nèi)容已經(jīng)改變,要保存嗎?";
		switch(MessageBox(message,"FC 2.2",MB_YESNOCANCEL|MB_ICONQUESTION))
		{
		case IDYES:
			On_SaveSource();
			break;
		case IDNO:
			break;
		case IDCANCEL:
			return;
		}
	}
	m_source=m_strEdit;
	m_SourceLength=m_source.GetLength();
	m_iStatus=4;
	m_strEdit="";
	((CEdit*)GetDlgItem(IDC_EDIT))->SetReadOnly(TRUE);
	GetDlgItem(IDB_OPEN)->ShowWindow(SW_HIDE);
	GetDlgItem(IDB_SAVE)->ShowWindow(SW_HIDE);
	GetDlgItem(IDB_SAVE_AS)->ShowWindow(SW_HIDE);
	GetDlgItem(IDB_RUN)->ShowWindow(SW_HIDE);
	GetDlgItem(IDB_CLEAR)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_STATIC_PRECISION)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_PRECISION)->ShowWindow(SW_HIDE);
	GetDlgItem(IDC_POSITION)->ShowWindow(SW_HIDE);
	GetDlgItem(IDB_SET_POSITION)->ShowWindow(SW_HIDE);
	GetDlgItem(IDB_TRANSLATE)->ShowWindow(SW_HIDE);
	GetDlgItem(IDB_ABOUT_EDIT)->ShowWindow(SW_HIDE);
	GetDlgItem(IDB_ABOUT_GRM)->ShowWindow(SW_HIDE);
	GetDlgItem(ID_APP_ABOUT)->ShowWindow(SW_HIDE);
	GetDlgItem(IDCANCEL)->SetWindowText("返回");
	if(m_strFile=="")
		SetWindowText("FC 2.2 編譯器");
	else
		SetWindowText("FC 2.2 編譯器 - "+m_strFile);
	if(Compile())
		m_bCompiled=TRUE;
	if(m_iStatus==4)
	{
		On_ExitTranslate();
		UpdateData(FALSE);
		if(m_bCompiled && m_iErrorCount==0)
			Translate();
		else
		{
			CString message;
			message.Format("源代碼中發(fā)現(xiàn) %d 處錯誤,無法翻譯為C++語言,請修正源代碼\r\n",m_iErrorCount);
			MessageBox(message,"FC 2.2",MB_OK|MB_ICONEXCLAMATION);
		}
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷久久综合| 久久免费的精品国产v∧| 91一区二区三区在线观看| 色婷婷亚洲综合| 欧美一区二区视频在线观看2022| 日韩精品资源二区在线| 欧美国产精品一区二区三区| 亚洲精品一二三| 精品在线视频一区| 欧洲一区二区av| 久久这里只有精品6| 亚洲精品一二三| 久久精品国产成人一区二区三区 | 亚洲精品亚洲人成人网在线播放| 亚洲一区二区三区四区在线免费观看 | 国产精品综合二区| 91亚洲午夜精品久久久久久| 日韩精品中午字幕| 亚洲最色的网站| 国产精品综合久久| 在线不卡中文字幕播放| 中文av字幕一区| 香蕉成人伊视频在线观看| 成人综合在线观看| 精品奇米国产一区二区三区| 亚洲一区二区三区影院| 成人免费毛片片v| 日韩欧美成人一区| 午夜婷婷国产麻豆精品| 成人精品在线视频观看| 久久综合九色综合欧美98| 天天色天天操综合| 欧美专区亚洲专区| 国产精品久久久久7777按摩| 久热成人在线视频| 91精品国产91综合久久蜜臀| 亚洲宅男天堂在线观看无病毒| 福利一区福利二区| 精品国产精品网麻豆系列| 五月激情综合网| 欧美在线观看你懂的| 欧美国产日韩精品免费观看| 日日摸夜夜添夜夜添亚洲女人| 国产福利精品导航| 久久男人中文字幕资源站| 九色|91porny| 国产亚洲欧美色| 国内外成人在线视频| 欧美xxxx老人做受| 久久精品999| 精品国产乱码91久久久久久网站| 看片网站欧美日韩| 欧美va亚洲va香蕉在线| 日产国产欧美视频一区精品| 欧美丰满嫩嫩电影| 蜜乳av一区二区三区| 在线电影欧美成精品| 捆绑紧缚一区二区三区视频 | 成人av免费观看| 国产精品国产a| 91在线观看污| 亚洲美女在线一区| 欧美日本韩国一区二区三区视频| 亚洲主播在线观看| 91精品黄色片免费大全| 麻豆精品久久精品色综合| 久久久精品欧美丰满| 久久电影网站中文字幕| 精品久久久久久久久久久久久久久久久| 免费高清视频精品| 欧美精品自拍偷拍动漫精品| 久久不见久久见中文字幕免费| 精品国产乱码久久久久久1区2区| 国产精品亚洲第一| 中文字幕五月欧美| 宅男在线国产精品| 国产精品亚洲专一区二区三区| 亚洲视频在线观看一区| 欧美久久一区二区| 激情成人综合网| 亚洲男女一区二区三区| 色婷婷综合久久久久中文| 麻豆视频一区二区| 精品少妇一区二区三区免费观看| 国产一区二区精品久久| 亚洲乱码中文字幕综合| 91精品欧美久久久久久动漫| 粉嫩高潮美女一区二区三区| 亚洲第四色夜色| 久久免费看少妇高潮| 在线免费不卡视频| 韩国精品免费视频| 亚洲电影一区二区| 国产欧美日韩综合| 欧美一区二区三区精品| 99国产精品国产精品毛片| 视频一区欧美精品| 中文字幕一区二区三区在线观看 | 91美女在线视频| 亚洲123区在线观看| 26uuu精品一区二区三区四区在线| 99精品偷自拍| 青青草一区二区三区| 国产精品久久久久影院老司 | 日韩高清不卡在线| 中文字幕在线不卡一区二区三区| 91精品久久久久久久91蜜桃| 99精品视频在线播放观看| 青娱乐精品视频在线| 亚洲视频在线一区观看| 国产日韩欧美精品电影三级在线| 欧美在线一二三| 99久久综合99久久综合网站| 麻豆成人综合网| 国产精品久久久久久久久快鸭| 欧美日免费三级在线| av网站免费线看精品| 国产99久久精品| 日韩av在线发布| 日韩精品中文字幕在线不卡尤物| 在线精品视频小说1| 99精品偷自拍| 波多野结衣在线一区| 亚洲欧美日韩在线播放| 欧美色倩网站大全免费| 国产精品白丝jk黑袜喷水| 蜜臀av在线播放一区二区三区| 亚洲永久免费av| 国产精品视频你懂的| 精品国产乱码久久久久久久| 91精品国产一区二区| 91精品国产综合久久久蜜臀粉嫩 | av在线播放一区二区三区| 亚洲成人午夜电影| 亚洲五月六月丁香激情| 国产精品第四页| 国产精品久久久久四虎| 国产日韩欧美麻豆| 欧美国产在线观看| 国产三级精品三级| 国产精品久久久久婷婷| 国产精品久久午夜| 国产精品理论在线观看| 中文字幕在线一区免费| 亚洲乱码国产乱码精品精98午夜 | 成人黄色一级视频| 91污片在线观看| 欧美综合亚洲图片综合区| 欧美日韩在线综合| 日韩一区二区三区av| 日韩女优制服丝袜电影| www国产精品av| 中文字幕中文在线不卡住| 亚洲免费观看视频| 天堂va蜜桃一区二区三区漫画版 | 国产亚洲一区字幕| 国产精品久久久久久久午夜片| 中文字幕一区二区三区在线播放| 亚洲欧美日韩国产另类专区| 亚洲成人av在线电影| 老色鬼精品视频在线观看播放| 国产精品1区2区| aaa亚洲精品| 欧美美女一区二区在线观看| 日韩一级欧美一级| 日本一区二区高清| 亚洲精品欧美专区| 老汉av免费一区二区三区| 成人污污视频在线观看| 在线免费一区三区| 欧美午夜精品久久久久久超碰| 欧美电影一区二区| 中文字幕第一区第二区| 一区二区三区高清不卡| 精品一区二区三区久久| 色综合一个色综合| 日韩免费看的电影| 亚洲免费av高清| 精品制服美女丁香| 在线亚洲高清视频| 国产清纯在线一区二区www| 亚洲欧美色一区| 亚洲国产日韩精品| 久久疯狂做爰流白浆xx| 岛国精品一区二区| 欧美性色黄大片| 久久婷婷成人综合色| 性久久久久久久久久久久| 粉嫩绯色av一区二区在线观看| 欧美精品日韩精品| 亚洲色图制服丝袜| 国产高清不卡一区二区| 欧美日韩另类国产亚洲欧美一级| 国产午夜精品在线观看| 天天影视网天天综合色在线播放 | 粉嫩欧美一区二区三区高清影视 | 国产一区二区三区免费看| 欧美日韩国产中文| 亚洲九九爱视频| av在线一区二区三区|