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

資源簡(jiǎn)介

用c語(yǔ)言實(shí)現(xiàn)的語(yǔ)法語(yǔ)義分析程序 實(shí)現(xiàn)了四元式得生成功能齊全

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?

struct?stake1
{?char?*s[15];
??int?top;
}?chstake;/*運(yùn)算元素棧*/

struct?stake2
{?char?ch[20];
??int?sjb[20];
??int?top;
}?ysstake;/*運(yùn)算符號(hào)棧*/

struct?lgstake1
{?char?ch[10];
??int?top;
}logfh;/*邏輯運(yùn)算符號(hào)棧*/

struct?lgstake2
{?int?ysbh[10];
??int?top;
}logys;/*邏輯運(yùn)算元素*/

struct?syshi/*四元式隊(duì)列*/
{?char?*s[4];
??int?bhao;
??struct?syshi?*next;
}yshead*ystail;/*頭節(jié)點(diǎn)和尾指針*/

int?sysnumbhlogopr;/*四元式個(gè)數(shù)和臨時(shí)變量個(gè)數(shù)*/
int?truelinkfalselinktchuko;

void?pushys(char?*stemp)?/*運(yùn)算元素進(jìn)棧*/
{?int?ln;
??ln=strlen(stemp);
??chstake.s[chstake.top]=(char?*)malloc((ln+1)*sizeof(char));
??strcpy(chstake.s[chstake.top]stemp);
??chstake.top++;
}

void?pushsf(char?ch1int?jb)/*運(yùn)算符進(jìn)棧*/
{?ysstake.ch[ysstake.top]=ch1;
??ysstake.sjb[ysstake.top]=jb;
??ysstake.top++;
}

char?*popys()?/*運(yùn)算元素出棧*/
{?char?*tp;
??chstake.top--;
??tp=chstake.s[chstake.top];
??chstake.s[chstake.top]=NULL;
??return(tp);
}

char?popsf()?/*運(yùn)算符出棧*/
{?char?ctemp;
??ysstake.top--;
??ctemp=ysstake.ch[ysstake.top];
??return(ctemp);
}

void?back(int?t1int?t2)
{?struct?syshi?*temp3;
??int?bh3t0;
??bh3=t1;
??while(bh3!=0)
??{?temp3=yshead.next;
????while(temp3->bhao!=bh3)?temp3=temp3->next;
????sscanf(temp3->s[0]“%d“&bh3);
????sprintf(temp3->s[0]“%d“t2);
??}
}

void?batch()
{?struct?syshi?*temp1*temp2*temp3;
??int?bh1bh2bh3i=0;
??char?ch1;
??while(i??{?bh1=logys.ysbh[i];
????temp1=yshead.next;
????while(temp1->bhao!=bh1)?temp1=temp1->next;
????ch1=logfh.ch[i];
????if(ch1==‘&‘)
????{?bh3=truelink;
??????truelink=0;
??????back(bh3bh1+2);
??????sprintf(temp1->s[0]“%d“bh1+2);
??????temp1=temp1->next;
??????sprintf(temp1->s[0]“%d“falselink);
??????falselink=bh1+1;
????}
????if(ch1==‘|‘)
????{?sprintf(temp1->s[0]“%d“truelink);
??????truelink=bh1;
??????temp1=temp1->next;
??????bh3=falselink;
??????falselink=0;
??????back(bh3bh1+2);
??????sprintf(temp1->s[0]“%d“bh1+2);
????}
????i++;
??}
??temp2=yshead.next;
??bh2=logys.ysbh[logys.top-1];
??while(temp2->bhao!=bh2)?temp2=temp2->next;
??sprintf(temp2->s[0]“%d“truelink);truelink=bh2;
??temp2=temp2->next;
??sprintf(temp2->s[0]“%d“falselink);falselink=bh2+1;
??logys.top=0;
}

void?logysh()
{?struct?syshi?*temp;
??temp=ystail;
??temp->next=(struct?syshi?*)malloc(sizeof(struct?syshi));
??temp=temp->next;
??temp->bhao=100+bh;
??logys.ysbh[logys.top++]=100+bh;
??bh++;
??temp->s[0]=(char?*)malloc(8*sizeof(char));
??strcpy(temp->s[0]“----“);
??temp->s[1]=(char?*)malloc(2*sizeof(char));
??strcpy(temp->s[1]“?“);
??temp->s[2]=(char?*)malloc(8*sizeof(char));
??sprintf(temp->s[2]“if?%s?goto“popys());
??temp->s[3]=(char?*)malloc(2*sizeof(char));
??strcpy(temp->s[3]“?“);
??temp->next=(struct?syshi?*)malloc(sizeof(struct?syshi));
??temp=temp->next;
??temp->bhao=100+bh;bh++;
??temp->s[0]=(char?*)malloc(8*sizeof(char));
??strcpy(te

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

?????文件??????17332??2005-01-17?14:22??新建文件夾\run.exe

?????文件???????8977??2005-01-17?14:20??新建文件夾\source.c

?????文件??????80896??2005-01-15?17:00??新建文件夾\翻譯.exe

?????目錄??????????0??2005-03-31?10:35??新建文件夾

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

???????????????107205????????????????????4


評(píng)論

共有 條評(píng)論