}
}
else
{
if(ch=='=')//检测赋值符号
{
sym=becomes;
getchdo;
}
else
{
if(ch=='<')//检测小于或小于等于符号
{
getchdo;
if(ch=='=')
{
sym=leq;
getchdo;
}
else
{
sym=lss;
}
}
else{
if(ch=='>')//检测大于或大于等于符号
{
getchdo;
if(ch=='=')
{
sym=geq;
getchdo;
}
else
{
sym=gtr;
}
}
else
{
sym=ssym[ch];
if(sym!
=period)
{
getchdo;
}
}
}
}
}
}
return0;
}
//优先关系模块
//定义优先关系
intPreTable[23][23]=
{/**Sdo{B}whileEa=+1;>(bc)#**/
/*S*/{N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,1},
/*d*/{N,N,0,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N},
/*o*/{N,N,N,0,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N},
/*{*/{N,N,N,N,0,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,-1,N,N},
/*B*/{N,N,N,N,N,0,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N},
/*}*/{N,N,N,N,N,N,0,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N},
/*w*/{N,N,N,N,N,N,N,0,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N},
/*h*/{N,N,N,N,N,N,N,N,0,N,N,N,N,N,N,N,N,N,N,N,N,N,N},
/*i*/{N,N,N,N,N,N,N,N,N,0,N,N,N,N,N,N,N,N,N,N,N,N,N},
/*l*/{N,N,N,N,N,N,N,N,N,N,0,N,N,N,N,N,N,N,N,N,N,N,N},
/*e*/{N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,0,N,N,N,N},
/*E*/{N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,0,N},
/*a*/{N,N,N,N,N,N,N,N,N,N,N,N,N,N,0,N,N,0,N,N,N,N,N},
/*=*/{N,N,N,N,N,N,N,N,N,N,N,N,0,N,N,N,N,N,N,N,N,N,N},
/*+*/{N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,0,N,N,N,N,N,N,N},
/*1*/{N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,0,N,N,N,N,N,N},
/*;*/{N,N,N,N,N,1,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N},
/*>*/{N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,0,N,N,N},
/*(*/{N,N,N,N,N,N,N,N,N,N,N,0,-1,N,N,N,N,N,N,N,N,N,N},
/*b*/{N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,1,N},
/*c*/{N,N,N,N,N,N,N,N,N,N,N,N,N,0,N,N,N,N,N,N,N,N,N},
/*)*/{N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,1},
/*#*/{-1,-1,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,0}};
intCompare(charm,charn)//定义矩阵
{
switch(m)
{
case'S':
row=0;break;
case'd':
row=1;break;
case'o':
row=2;break;
case'{':
row=3;break;
case'B':
row=4;break;
case'}':
row=5;break;
case'w':
row=6;break;
case'h':
row=7;break;
case'i':
row=8;break;
case'l':
row=9;break;
case'e':
row=10;break;
case'E':
row=11;break;
case'a':
row=12;break;
case'=':
row=13;break;
case'+':
row=14;break;
case'1':
row=15;break;
case';':
row=16;break;
case'>':
row=17;break;
case'(':
row=18;break;
case'b':
row=19;break;
case'c':
row=20;break;
case')':
row=21;break;
case'#':
row=22;break;
default:
return-100;break