91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

報告,源程序,測試用例都有,完整版 報告目錄: 一、設計目的和要求 二、設計概述 三、結構設計說明 四、主要成分描述 五、測試用例(截圖說明等) 六、開發過程和完成情況 七、總結與體會(自評)

資源截圖

代碼片段和文件信息

//A.2?????C??????版???本

/*編譯和運行環境:
*1Visual?C++6.0VisualC++.NET?and?Visual?C++.NET?2003
*WinNT?Win?200?WinXP?and??Win2003?
*2?gcc?version?3.3.2??20031022(Red?Hat?Linux?3.3.2-1)
*Redhat?Fedora?core?1
*Intel?32?platform
*使用方法:
*運行后輸入PL/0?源程序文件名
*回答是否輸出虛擬機代碼
*回答是否輸出名字表
*fa.tmp?輸出虛擬機代碼
*fa1.tmp??輸出源文件及其各行對應的首地址
*fa2.tmp??輸出結果?
*fas.tmp??輸出名字表
*/
#include
#include
#include“pl0.h“
#include“string.h“
/*解釋執行時使用的棧*/
#define?stacksize?500
int?main()
{
bool?nxtlev[symnum];
printf(“????????????*****************編譯課程設計?學生信息******************\n“);
printf(“?????????????????????學院:\n“);
printf(“?????????????????????學號:\n“);
printf(“????????????********************************************************\n“);
printf(“請輸入PL0文件:“);
scanf(“%s“fname);?????????????????????????????????????/*輸入文件名*/
fin=fopen(fname“r“);
//fin=fopen(“05.txt““r“);
if(fin)
{
printf(“是否輸出虛擬機代碼?(Y/N)“);????????????????//是否輸出虛擬機代碼
scanf(“%s“fname);
listswitch=(fname[0]==‘y‘||fname[0]==‘Y‘);
printf(“是否輸出名字表??(Y/N)“);?????????????//是否輸出名字表
scanf(“%s“fname);
tableswitch=(fname[0]==‘y‘||fname[0]==‘Y‘);
fa1=fopen(“fa1.tmp““w“);
fprintf(fa1“Iput?pl/0?file??“);
fprintf(fa1“%s\n“?fname);
init();??????????????????????????????????????????/*初始化*/
err=0;
cc=cx=ll=0;
ch=‘?‘;
/*
//***************************************
//詞法分析程序
getsym();
while(sym!=period)
{
printf(“%s??“symout[sym]);
if(sym==ident)
printf(“%s??“id);
else?if(sym==number)
printf(“%d??“num);

getsym();
}
//******************************************
*/
if(-1!=getsym())
{

fa=fopen(“fa.tmp““w“);
fas=fopen(“fas.tmp““w“);
addset(nxtlevdeclbegsysstatbegsyssymnum);
nxtlev[period]=true;??

if(-1==block(00nxtlev)) //調用編譯程序
{
fclose(fa);
fclose(fa1);
fclose(fas);
fclose(fin);
printf(“\n“);
return?0;
}
fclose(fa);
fclose(fa1);
fclose(fas);
if(sym!=period)
{
error(9);
}
if(err==0)
{
fa2=fopen(“fa2.tmp“?“w“);
interpret();
fclose(fa2);
}
else
{
printf(“-------------\nPL/0程序錯誤!請檢查您的程序!\n“);
}
}
fclose(fin);
}
else
{
printf(“Can‘t?open?file!?\n“);
}
printf(“\n請輸入字符Q結束程序!“);
scanf(“%s“fname);
return?0;
}
/*
*初始化
*/
void?init()
{
int?i;
for(i=0;i<=255;i++)
{
ssym[i]=nul;
}
ssym[‘[‘]=lepa;//一維數組的左括號[
ssym[‘]‘]=ripa;//一維數組的右括號]
ssym[‘+‘]=plus;
ssym[‘-‘]=minus;
ssym[‘*‘]=times;
ssym[‘/‘]=slash;
ssym[‘(‘]=lparen;
ssym[‘)‘]=rparen;
ssym[‘=‘]=eql;
ssym[‘‘]=comma;
ssym[‘.‘]=period;
ssym[‘%‘]=mod;//取余
//ssym[‘#‘]=neq; //不等號給<>替代了,所以#字符將不能識別出來
ssym[‘;‘]=semicolon;
/*設置保留字名字按照字母順序便于折半查找*/
//********************************************************************
//添加增加的保留字下標也要隨著更改
strcpy(&(word[0][0])“begin“);
strcpy(&(word[1][0])“call“);
strcpy(&(word[2][0

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3365??2009-01-08?23:35??編譯原理課程設計\源程序-PL0\PL0.dsp

?????文件????????514??2009-01-08?23:35??編譯原理課程設計\源程序-PL0\PL0.dsw

?????文件???????7240??2009-01-07?17:30??編譯原理課程設計\源程序-PL0\pl0.h

?????文件??????50176??2010-06-30?13:25??編譯原理課程設計\源程序-PL0\PL0.ncb

?????文件????????836??2010-06-30?13:25??編譯原理課程設計\源程序-PL0\PL0.plg

?????文件?????225395??2010-06-30?13:25??編譯原理課程設計\源程序-PL0\Debug\PL0.exe

?????文件?????228132??2010-06-30?13:25??編譯原理課程設計\源程序-PL0\Debug\PL0.ilk

?????文件?????549888??2010-06-30?13:25??編譯原理課程設計\源程序-PL0\Debug\PL0.pdb

?????文件??????41984??2010-06-30?13:25??編譯原理課程設計\源程序-PL0\Debug\vc60.idb

?????文件??????53248??2010-06-30?13:25??編譯原理課程設計\源程序-PL0\Debug\vc60.pdb

?????文件?????245296??2010-06-30?13:25??編譯原理課程設計\源程序-PL0\Debug\PL0.pch

?????文件??????93978??2010-06-30?13:25??編譯原理課程設計\源程序-PL0\Debug\PL0.obj

?????文件??????52824??2010-06-30?13:25??編譯原理課程設計\源程序-PL0\PL0.cpp

?????文件??????48640??2010-06-30?13:25??編譯原理課程設計\源程序-PL0\PL0.opt

?????文件????????218??2009-01-06?17:44??編譯原理課程設計\測試用例\array.txt

?????文件????????133??2009-01-06?17:00??編譯原理課程設計\測試用例\array_for.txt

?????文件??????????0??2010-01-07?20:18??編譯原理課程設計\測試用例\fa.tmp

?????文件????????130??2010-01-07?20:18??編譯原理課程設計\測試用例\fa1.tmp

?????文件??????????8??2010-01-07?20:18??編譯原理課程設計\測試用例\fa2.tmp

?????文件??????????0??2010-01-07?20:18??編譯原理課程設計\測試用例\fas.tmp

?????文件????????138??2009-01-06?16:58??編譯原理課程設計\測試用例\for.txt

?????文件????????363??2009-01-06?02:06??編譯原理課程設計\測試用例\inc.txt

?????文件????????166??2009-01-06?17:41??編譯原理課程設計\測試用例\mod.txt

?????文件?????????71??2010-01-07?20:18??編譯原理課程設計\測試用例\PEME.txt

?????文件?????225386??2010-01-07?19:18??編譯原理課程設計\測試用例\PL0.exe

?????文件????????114??2009-01-08?20:34??編譯原理課程設計\測試用例\repeat.txt

?????文件????????110??2009-01-06?16:56??編譯原理課程設計\測試用例\timesbecomes.txt

?????文件?????????98??2009-01-07?16:51??編譯原理課程設計\測試用例\數組下標出界.txt

?????文件?????????90??2009-01-07?17:24??編譯原理課程設計\測試用例\防止運行棧溢出優化代碼.txt

?????文件?????432128??2010-06-30?13:25??編譯原理課程設計\編譯原理課程設計.doc

............此處省略7個文件信息

評論

共有 條評論