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

資源簡(jiǎn)介

語(yǔ)義分析 編譯原理 語(yǔ)義分析 編譯原理 語(yǔ)義分析 編譯原理

資源截圖

代碼片段和文件信息

#include
#include
#include?
char?prog[80]token[8];
char?ch;
int?synpmnsum;
int?kk=0iiNnn=0;
int?k=0ti=0;
char?tt;
char?*?rwtab[6]?=?{“begin““if““then““while““do““end“};
int?scaner();
int?lrparser();
int?statement();
int?yucu();
char?*term();
char?*factor();
char?*expression();
void?emit();
struct
{
char?resulted[8];
char?ag1ed[8];
char?oped[8];
char?ag2ed[8];
}quad[20];

void?main()
{


p=0;
printf(“\n?please?input?string:?\n“);
do
{
scanf(“%c“&ch);
prog[p++]=ch;
}while(ch?!=?‘#‘);
p=0;
scaner();
lrparser();
}
char?*?newtemp(?void)
{
char?*?P;
char?M[8];
P?=?(char?*)malloc(8);
k++;
itoa(kM10);
strcpy(P+1M);
P[0]?=?‘t‘;
return(P);
}
int?lrparser()
{
int?schain?=?0;
kk?=?0;
if(syn?==?1)
{
scaner();
schain?=?yucu();
if(syn?=?6)
{
scaner();
if(syn?==?0?&&?(kk?==?0))
printf(“success“);
}
else?
{
if(kk!=1)
printf(“缺end錯(cuò)誤“);
kk=1;
}
}
else
{
printf(“begin錯(cuò)誤“);
kk=1;
}
return(schain);
}
int?yucu()
{
int?schain?=?0;
schain?=?statement();
while?(syn?==?26)
{
scaner();
schain?=?statement();
}
return(schain);
}
int?statement()
{
char?tt[8]eplace[8];
int?schain?=?0;
switch(syn)
{
case?10:
strcpy(tttoken);
scaner();
if(syn?==?18)
{
scaner();
strcpy(eplaceexpression());
emit(tteplace““““);
schain?=?0;
}
else
{
printf(“缺少賦值號(hào)“);
kk=1;
}
return(schain);
break;
}
}
char?*?expression(void)
{
char?*?tp*?ep2*?eplace*?tt;
tp?=?(char?*)malloc(12);
ep2?=?(char?*)malloc(12);
eplace?=?(char?*)malloc(12);
tt?=?(char?*)malloc(12);
strcpy(eplaceterm());
while(syn?==?13?||?syn?==?14)
{
strcpy(tttoken);
scaner();
strcpy(ep2term());
strcpy(tpnewtemp());
emit(tpeplacettep2);
strcpy(eplacetp);
}
return(eplace);
}
char?*?term(void)
{

char?*?tp*?ep2*?eplace*?tt;
tp?=?(char?*)malloc(12);
ep2?=?(char?*)malloc(12);
eplace?=?(char?*)malloc(12);
tt?=?(char?*)malloc(12);
strcpy(eplacefactor());
while(syn?==?15?||?syn?==?16)
{
strcpy(tttoken);
scaner();
strcpy(ep2factor());
strcpy(tpnewtemp());
emit(tpeplacettep2);
strcpy(eplacetp);
}
return(eplace);
}
char?*?factor(void)
{
char?*?fplace;
fplace?=?(char?*)malloc(12);
strcpy(fplace“?“);
if(syn?==?10)
{
strcpy(fplacetoken);

scaner();
}
else?if?(syn?==?11)
{
itoa(sumfplace10);
scaner();
}
else?if(syn?==?27)
{
scaner();
strcpy(fplaceexpression());
if(syn?==?28)
scaner();
else
{
printf(“‘)‘錯(cuò)誤“);
kk=1;
}
}
else
{
printf(“‘(‘錯(cuò)誤“);
kk=1;
}
return(fplace);
}
void?emit(char?*?resultchar?*?ag1char?*?opchar?*?ag2)
{
strcpy(quad[nn].resultedresult);
strcpy(quad[nn].ag1edag1);
strcpy(quad[nn].opedop);
strcpy(quad[nn].ag2edag2);
printf(“(%d)

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件??????33792??2008-12-22?19:19??語(yǔ)義分析\Debug\vc60.idb

?????文件??????45056??2008-12-22?19:19??語(yǔ)義分析\Debug\vc60.pdb

?????文件?????192597??2008-12-22?19:19??語(yǔ)義分析\Debug\yyfx.exe

?????文件?????187932??2008-12-22?19:19??語(yǔ)義分析\Debug\yyfx.ilk

?????文件??????18376??2008-12-22?19:19??語(yǔ)義分析\Debug\yyfx.obj

?????文件?????190640??2008-12-22?19:19??語(yǔ)義分析\Debug\yyfx.pch

?????文件?????369664??2008-12-22?19:19??語(yǔ)義分析\Debug\yyfx.pdb

?????文件???????4639??2008-12-02?10:24??語(yǔ)義分析\yyfx.c

?????文件???????3375??2008-12-22?19:19??語(yǔ)義分析\yyfx.dsp

?????文件????????516??2008-12-22?19:20??語(yǔ)義分析\yyfx.dsw

?????文件??????33792??2008-12-22?19:20??語(yǔ)義分析\yyfx.ncb

?????文件??????48640??2008-12-22?19:20??語(yǔ)義分析\yyfx.opt

?????文件???????1423??2008-12-22?19:19??語(yǔ)義分析\yyfx.plg

?????文件??????77312??2008-12-02?11:44??語(yǔ)義分析\語(yǔ)義分析實(shí)驗(yàn)報(bào)告200631000715劉明志.doc

?????目錄??????????0??2008-12-22?19:19??語(yǔ)義分析\Debug

?????目錄??????????0??2008-12-22?19:20??語(yǔ)義分析

-----------?---------??----------?-----??----

??????????????1207754????????????????????16


評(píng)論

共有 條評(píng)論

相關(guān)資源