资源简介
文法:E->TE'
E'->+TE'|ε
T->FT'
T'->*FT'|ε
F->(E)|i
构造上述LL(1)文法的递归下降分析程序
代码片段和文件信息
/*试构造如下LL(1)文法的递归下降分析程序
文法: 见书本62页 (4.2)
E->TE‘
E‘->+TE‘|ε
T->FT‘
T‘->*FT‘|ε
F->(E)|i
________________________________________________
FIRST(E)={(i}
FIRST(E‘)={+ε} FOLLOW(E‘)={)#}
FIRST(T)={(i}
FIRST(T‘)={*ε} FOLLOW(T‘)={+)#}
FIRST(F)={(i}
注:因为E‘T‘可能会自动匹配所以要用到它们的FOLLOW集
*/
#include
#include
#include
char ch;
FILE *fp1;
int e()
{
if(ch==‘(‘||ch==‘i‘)
{
if(t()==1)
{
if(eprime()==1) return 1;
}
}
return 0;
}
int t()
{
if(ch==‘(‘||ch==‘i‘)
{
if(f()==1)
{
if(tprime()==1) return 1;
}
}
return 0;
}
int eprime()
{
if(ch==‘+‘)
{
ch=fgetc(fp1);
if(t()==1)
{
if(eprime()==1) return 1;
else return 0;
}
else return 0;
}
else if(ch==‘)‘||ch==‘#‘)
- 上一篇:基于双隐含层BP神经网络的预测
- 下一篇:用FFT进行频谱分析
评论
共有 条评论