编译原理文法分析构造文法G[E]的LL(1)分析表:G[E]:E®TMM®+TM|eT®FNN&
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 05:46:43
编译原理文法分析
构造文法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
改完了,能文法分析出来了!
大概 跟你说下 你的错误吧:
出错地点:
1.声明的stack[50]没有初始化;
2.stack的入栈是错误的,按照你的方式,如果原来有TM,再加入T->FN,则M就被挤出来了.(这里很关键,你对照我给你改的再看看)
3.s指针在你入栈操作以后并没有指向栈顶,而是保持了不变,这肯定是有问题的.(传入push函数的时候直接传参数s就好了.)
4.if(*s==*p){***}else{}的else的右括号管辖的范围 有错误
总之你对照我给你改的再看看吧.我把我的测试输出 也给保留了.你好对照点.
(PS.我用的vs2005,用的时候你改下头申明,其他一样)
// grammar.cpp :Defines the entry point for the console application.
//
#include "stdafx.h"
#include
using namespace std;
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
大概 跟你说下 你的错误吧:
出错地点:
1.声明的stack[50]没有初始化;
2.stack的入栈是错误的,按照你的方式,如果原来有TM,再加入T->FN,则M就被挤出来了.(这里很关键,你对照我给你改的再看看)
3.s指针在你入栈操作以后并没有指向栈顶,而是保持了不变,这肯定是有问题的.(传入push函数的时候直接传参数s就好了.)
4.if(*s==*p){***}else{}的else的右括号管辖的范围 有错误
总之你对照我给你改的再看看吧.我把我的测试输出 也给保留了.你好对照点.
(PS.我用的vs2005,用的时候你改下头申明,其他一样)
// grammar.cpp :Defines the entry point for the console application.
//
#include "stdafx.h"
#include
using namespace std;
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®TMM®+TM|eT®FNN&
编译原理的LL(1)文法是什么意思?
编译原理,G:S->Pa|Pb|cP->Pd|Se|f是哪一类文法?A 左线性文法 B 右线性文法 C LL(1)文法
编译原理:构造产生此语言的上下文无关文法G
编译原理 设有文法G(S)
编译原理 有文法G(S): S->aSS->bSS->a 1)构造识别文法活缀的DFA 2)写出该文法的SLR(1)
编译原理文法题已知文法S->AS | bA->a1.写出识别活前缀的DFA2.给出该文法的LR(0)分析表
编译原理的文法是什么?
英语翻译Dear customer,Thanks for your e-mail dated on 26 May.Reg
单词:reg怎么发音?是[re(d3)]还是[ri:g]
英语句子成分的分析I lived in London for many years,but I've never reg
考新G的话,ETS官方出版的Practicing to Take the GRE® General Test -