*/
//处理栈初始化,存放‘#E’
ch2[0]='#';
ch2[1]='E';
//初始确定栈顶元素
int m=0,n=1;
/*
n=2;m=0;
n=3;m=0;
n=2;m=1;
n=1;m=1;
n=3;m=1;
n=2;m=2;
n=3;m=2;
n=2;m=3;
n=4;m=3;
n=3;m=4;
n=3;m=4;
n=2;m=5;
n=1;m=5;
n=0;m=5;
*/
do{
//输出处理后的分析栈 ch2 中的元素
for(i=0;i<=n;i++){
cout<
TG"<}
else if((ch2[n]=='E')&&(ch1[m]=='(')){
ch2[n++]='G';
ch2[n]='T';
cout<<"E->TG"<
+TG"<ε"<-TG"<ε"<FS"<FS"<ε"<cout<<"S->*FS"<ε"<ε"</FS"<ε"<i"<(E)"<