算符优先文法分析器
发布时间:2021-06-07
发布时间:2021-06-07
//文法为
//(0)E'→ #E#
//(1)E → E+T
//(2)E → T
//(3)T → T*F
//(4)T → F
//(5)F → P^F
//(6)F → P
//(7)P → (E)
//(8)P → i
//根据算符优先文法的分析规则求得终结符优先关系表
// + * ^ i ( ) #
// + > < < < < > >
// * > > < < < > >
// ^ > > < < < > >
// i > > > > >
// ( < < < < < =
// ) > > > > >
// # < < < < < =
#include<stdlib.h>
#include<stdio.h>
#include<dos.h>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<iostream.h>
#define SIZE 128
char youxian[7][7]; //算符优先关系数组
char lexbuf[SIZE]; //存放输入的要进行分析的句子
char lex[SIZE]; //存放剩余串
char fenxizhan[SIZE];//分析栈
void fenxi();
int panduanyou(char x);
void shengyuchuan();
int k;
void zengjia();
void main()
{
{ //将算符优先关系存放在算符优先关系数组里
youxian[0][0]='>';