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

資源簡介

使用C++ 實現的布爾表達式的遞歸下降 得到推導過程 詞法分析 以及逆波蘭式

資源截圖

代碼片段和文件信息

/*
????????????????B???TB′
????????????????B′??and?T?B′|ε
????????????????T???FT?′
????????????????T′??or??FT′|ε
????????????????F???not?F?|true|false?|(B)|?i?rop?i
*/
#include?
#include?
#include?
int?kk;
int?tear=51;
int?head=50;
int?numberoftemp=0;
int?numberofquad=0;
class?quad
{
public:
char?result[8];
char?arg1[8];
char?op[8];
char?arg2[8];
????void?print()
{
cout< }
}q[20];
void?qemit(char?a[]char?b[]char?c[]char?d[])
{
strcpy(q[numberofquad].resulta);
strcpy(q[numberofquad].arg1b);
strcpy(q[numberofquad].opc);
strcpy(q[numberofquad].arg2d);
numberofquad++;
}
char*?newtemp()
{
char?*p;
int?temp=numberoftemp;
p=new?char[8];
p[0]=‘t‘;
for(int?i=0;;i++)
{
p[++i]=char(temp%10+48);
temp=temp/10;
if?(temp==0)?{p[i+1]=‘\0‘;?break;}
}
numberoftemp++;
return?p;
};
struct?word
{
char?w[10];
void?print()
{
cout< }
}wr[200];
struct?nipolan
{
word?nibolan[100];
}?n;
int?tcount=0;
int?wcount=0;
char?*rwtab[9]={“true““not““false““(““)““rop““i““or““and“};
class?tuidao
{
public:
char?a[10];
char?b[10];
char?c[10];
char?d[10];
void?emit(char?*mchar?*nchar?*pchar?*q);
void?print()?{cout<“<}t[100];
void?tuidao::emit(char?*mchar?*nchar?*pchar?*q)
{

strcpy(am);
strcpy(bn);
strcpy(cp);
strcpy(dq);
}
class?interpreter
{
???private:
ifstream?SourceFile;
char?buffercode[200];
int?syn;
int?current;
char?token[8];
???public:
??? void?scaner();
void?B();
void?B1();
void?T();
void?F();
void?T1();
void?run();
void?read();
void?bolon();
void?toword();
char?*unit();
char?*expression();
char?*term();
void?bolan();
void?reset()
{
current=0;
};
void?run1()
{
scaner();
expression();
};
};
void?bolan()
{
strcpy(n.nibolan[tear].wq[0].arg1);tear++;
strcpy(n.nibolan[tear].wq[0].arg2);tear++;
strcpy(n.nibolan[tear].wq[0].op);tear++;
for(int?i=0;i {
for?(int?j=i-1;j>=0;j--)
{
if?(strcmp(q[i].arg1q[j].result)==0)
{
if?(strcmp(q[i].arg2q[j+1].result)==0)?{strcpy(n.nibolan[tear].wq[i].op);tear++;break;}
else
{
strcpy(n.nibolan[tear].wq[i].arg2);tear++;
strcpy(n.nibolan[tear].wq[i].op);tear++;
break;
}
}
if?((strcmp(q[i].arg1q[j].result)!=0)&&(strcmp(q[i].arg2q[j+1].result)==0))
{
strcpy(n.nibolan[tear].wq[i].op);tear++;
strcpy(n.nibolan[head].wq[i].arg1);head--;
break;
}
if?((strcmp(q[i].arg1q[j].result)!=0)&&(strcmp(q[i].arg2q[j].result)!=0))
{
strcpy(n.nibolan[tear].wq[i].arg1);tear++;
strcpy(n.nibolan[tear].wq[i].arg2);tear++;
strcpy(n.nibolan[tear].wq[i].op);tear++;
break;
}
}
??
}
}
void?interpreter::toword()
{
current=0;
int?i=0;
while?(bufferco

評論

共有 條評論