问题标题:
编译原理文法分析构造文法G[E]的LL(1)分析表:G[E]:E®TMM®+TM|eT®FNN®*FN|eF®(E)|i代码实现如下:#includechar*spush(char*stack,char*pt);boolanalyse(char*p);voidmain(){//将分析串存放在二维数组
问题描述:

编译原理文法分析

构造文法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);

boolanalyse(char*p);

voidmain()

{

//将分析串存放在二维数组中

charinput[5][10]={"i+i#",

"i*(i+i)#",

"i*i+i#",

"i+*#",

"+i*i#"};

boolflag;//定义一个布尔型的标记量

for(inth=0;h

金勤回答:
  改完了,能文法分析出来了!大概跟你说下你的错误吧:出错地点:1.声明的stack[50]没有初始化;2.stack的入栈是错误的,按照你的方式,如果原来有TM,再加入T->FN,则M就被挤出来了.(这里很关键,你对照我给你改的再看看)3...
查看更多
其它推荐
热门其它推荐