#include <iostream.h>
#include <string.h>
int syn,p,n,sum,m,kk=0;
char * rwtab[6] = {"begin","if","then","while","do","end"} ;
void scaner () ;
void lrparser() ;
void yucu();
void statement ();
void expression ();
char prog[80],token[8] ;
char ch ;
void term ();
void factor ();
void main ()
{
p= 0;
cout<<" please input string :\n";
cin.getline (prog,80);
do
{
// cin>>prog[p];
ch = prog[p] ;
p ++ ;
} while (ch !='#') ;
p= 0;
scaner ();
lrparser ();
}
void scaner ()
{
for ( n=0;n<8;n++)
token[n] = NULL ;
ch = prog[p++] ;
m = 0;
sum = 0 ;
while (ch == ' ')
ch = prog[p++] ;
if ('a'<=ch&&ch<='z'||'A'<=ch&&ch<='Z')
{
while ('a'<=ch&&ch<='z'||'A'<=ch&&ch<='Z'||'0'<=ch&&ch<='9')
{
token[m++] = ch ;
ch = prog[p++] ;
}
}
token[m++] = '\0' ;
ch = prog[--p] ;
syn = 10 ;
for ( n =0;n<6;n ++)
if (strcmp(token,rwtab[n]) == 0)
{
syn = n+1 ;
break ;
}
else
if ('0'<=ch&&ch<='9')
{