课程设计报告
opTable[i][0]=term[i-1]; opTable[0][i]=term[i-1]; } for(i=0;i 20 课程设计报告 if(TerminalJud(sen[i][j-1])==true&&TerminalJud(sen[i][j])==true) { c1=sen[i][j-1]; c2=sen[i][j]; for(opr=1;opr 21 课程设计报告 { if(opTable[opr][0]==c1) break; } for(opc=0;opc 22 课程设计报告 for(opr=1;opr //判断两算符优先关系并给出类型供构造分析表 int RelationshipJud(char c1,char c2,char opTable[][col],int opTable_len) { int i,j; for(i=1;i 23 课程设计报告 { if(opTable[i][0]==c1) break; } for(j=1;j //判断输入串是不是优先文法 bool PrioGramJud(char sen[][col],int sen_len) { int i,j; for(i=0;i //开始分析输入串 void InputAnalyse(char opTable[][col],char string[col],int opTable_len) //opTable_len是opTable表的长度 { char a,Q,S[SIZE]={'\\0'}; //S是分析栈 char cho1,cho2; int i,j,relation; 24