算符优先分析器源代码:#include#include#define MAX 100using namespace std;struct Stack //符号栈{char data[MAX];int top;};char Terminal[6]={';','(',')','a','+','#'}; //终结符集合char Table[6][6]={ //算符优先关系表{'>', '<', '>', '<', '>', '>'},{'<', '<', '=', '<', '<', '!'},{'>', '>', '>', '!', '>', '>'},{'>', '>', '>', '!', '>', '>'},{'<', '<', '>', '<', '>', '!'},{'<', '<', '!', '<', '!', '='}};//推断是否为终结符,是返回其所在位置 i,否则返回-1int Is_Vt(char ch,char Terminal[6]){int i;for(i=0;i<6;i++){if(ch==Terminal[i]) //输入符为终结符return i; }return -1;}//读入输入串,返回其长度int Getchar(int length,char String[MAX]){int i;cout<<"*****输入字符串的长度 length=";cin>>length;cout<>String[i]; return length;}void PrintStack(Stack &st, int top) //输出栈中的内容{for(int i=0;i<=top;i++) cout<