#include <stdio.h>
#include<dos.h>
#include<stdlib.h>
#include<string.h>
char a[50] ,b[50],d[200],e[10];
char ch;
int n1,i1=0,flag=1,n=5;
int S();
int B();
int C();
void input();
void input1();
void output();
void main() /*递归分析*/
{
int f,p,j=0;
char x;
d[0]='S';
d[1]='=';
d[2]='>';
d[3]='a';
d[4]='S';
d[5]='e';
d[6]='#';
printf("请输入字符串(长度<50,以#号结束)\n");
do
{
scanf("%c",&ch);
a[j]=ch;
j++;
}while(ch!='#');
n1=j;
ch=b[0]=a[0];
printf("文法\t分析串\t\t分析字符\t剩余串\n");
f=S();
if (f==0) return;
if (ch=='#')
{ printf("accept\n");
p=0;
x=d[p];
while(x!='#')
{
printf("%c",x);p=p+1;x=d[p]; /*输出推导式*/
}
}
else {
printf("error\n");
printf("回车返回\n");
getchar();getchar();
return;
}
printf("\n");
printf("回车返回\n");
getchar();
getchar();
}