编译原理文法分析
编译原理文法分析
构造文法G[E]的LL(1)分析表:
G[E]:
E®TM
M®+TM|e
T®FN
N®*FN|e
F®(E)|i
代码实现如下:#include
char * spush(char *stack,char *pt);
bool analyse(char *p);
void main()
{
//将分析串存放在二维数组中
char input[5][10]={"i+i#",
"i*(i+i)#",
"i*i+i#",
"i+*#",
"+i*i#"};
bool flag; //定义一个布尔型的标记量
for(int h=0;h
构造文法G[E]的LL(1)分析表:
G[E]:
E®TM
M®+TM|e
T®FN
N®*FN|e
F®(E)|i
代码实现如下:#include
char * spush(char *stack,char *pt);
bool analyse(char *p);
void main()
{
//将分析串存放在二维数组中
char input[5][10]={"i+i#",
"i*(i+i)#",
"i*i+i#",
"i+*#",
"+i*i#"};
bool flag; //定义一个布尔型的标记量
for(int h=0;h
其他人气:332 ℃时间:2020-05-25 09:32:02
优质解答
改完了,能文法分析出来了!大概 跟你说下 你的错误吧:出错地点:1.声明的stack[50]没有初始化; 2.stack的入栈是错误的,按照你的方式,如果原来有TM,再加入T->FN,则M就被挤出来了.(这里很关键,你对照我给你改的再看看) 3...
我来回答
类似推荐
猜你喜欢
- 1读完课文,请你给这部名著写一两句"推荐语"(可以从故事情节、人物精神、阅读启示等方面)
- 2有will be finished doing这种用法么?
- 3如图,在△ABC中,∠C=90°,BC=3,AC=4.以斜边AB为直径作半圆,则这个半圆的面积是_.
- 4亚铁离子和过氧化钠反应转移多少电子
- 51寸照片换算成厘米应该是多长多宽的照片?小1寸呢?
- 6已知(a-2)的平方+(2b+1)的平方等于零,求a的2012次方与b的2012次方的乘积
- 7we can walk along all of the great wall,改为一般疑问句
- 8已知{an}为等比数列,且an<0,a2a4+2a3a5+a4a6=25,那a3+a5=_.
- 9上氟化氢可由氨气和氟气反应得到:4NH3+3F2=NF3+3NH4F.据题意推测NF3,F2,NO三种气体,氧化性由弱到强的顺序为
- 10I'll put forward my(suggest)_now so that he can have time to consider it before the metting