資源簡(jiǎn)介
編譯原理課程設(shè)計(jì)---遞歸下降分析程序的實(shí)現(xiàn)

代碼片段和文件信息
/*??產(chǎn)生式?(1)E->E+T|T(2)T->T*F|F(3)F->(E)|i?*/
#include
#include
char?ch;
int?E();
int?T();
int?F();
int?E()
{
printf(“\n調(diào)用產(chǎn)生式(1):?E->E+T|T\n“);
int?es=0;
es=T();
while(ch==‘+‘)
{
ch=getchar();
es=T();
}
return?es;
}
int?T()
{
printf(“\n調(diào)用產(chǎn)生式(2):?T->T*F|F\n“);
int?es=0;
es=F();
while(ch==‘*‘)
{
ch=getchar();
es=F();
}
return?es;
}
int?F()
{
printf(“\n調(diào)用產(chǎn)生式(3):?F->(E)|i\n“);
int?es=0;
if(isalpha(ch))
{
//printf(“%C“ch);
ch=getchar();
if(isalpha(ch)||ch==‘(‘)
{
printf(“輸入串有錯(cuò)!\n“);
return?1;
}
else?
return?es;
}
else
{
if(ch==‘(‘)
{
ch=getchar();
if(ch==‘*‘||ch==‘+‘||ch==‘)‘)?
{
printf(“輸入串有錯(cuò)!\n“);
return?1;
}
es=E();
if(ch==‘)‘)
{
ch=getchar();
if(ch==‘(‘||isalpha(ch))?
{printf(“輸入串有錯(cuò)!\n“);return?1;}
return?es;
}
else
{
printf(“\n輸入串有錯(cuò)!\n“);
return?1;
}
}
else
{
printf(“\n輸入串有錯(cuò)!\n“);
return?1;
}
}
return?es;
}
void?main()
{
int?es=0;
printf(“請(qǐng)輸入語(yǔ)法分析字符串(可含?+??*??(??)?):\n“);
ch=getchar();
es=E();
if(es==0)printf(“輸入串是正確的!\n“);
else?printf(“輸入串是錯(cuò)誤的!\n“);
}
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件?????176185??2010-12-28?12:58??遞歸下降分析程序\Debug\digui.exe
?????文件???????7496??2010-12-28?12:58??遞歸下降分析程序\Debug\digui.obj
?????文件?????353280??2010-12-28?12:58??遞歸下降分析程序\Debug\digui.pdb
?????文件??????45056??2010-12-28?12:58??遞歸下降分析程序\Debug\vc60.pdb
?????文件???????1295??2010-12-28?12:58??遞歸下降分析程序\digui.cpp
?????文件???????3389??2010-12-15?20:36??遞歸下降分析程序\digui.dsp
?????文件????????518??2010-12-15?21:50??遞歸下降分析程序\digui.dsw
?????文件??????41984??2010-12-30?22:54??遞歸下降分析程序\digui.ncb
?????文件??????53760??2010-12-30?22:54??遞歸下降分析程序\digui.opt
?????文件???????1118??2010-12-28?12:58??遞歸下降分析程序\digui.plg
?????目錄??????????0??2012-08-27?09:51??遞歸下降分析程序\Debug
?????目錄??????????0??2012-08-27?09:51??遞歸下降分析程序
-----------?---------??----------?-----??----
???????????????684081????????????????????12
- 上一篇:編譯原理 詞法分析 源代碼
- 下一篇:單片機(jī)C語(yǔ)言編程300例
評(píng)論
共有 條評(píng)論