概述
实验目的】
练习构造递归下降语法分析程序的方法,熟悉上下文无关文法的使用,加深对课堂教学的理解;提高语法分析方法的实践能力
【实验要求】
利用某一高级程序设计语言构造语法分析程序
【具体要求】对于给定的文法G[E]
E->TE’
E’->+TE’ | ε
T->FT’
T’->*F T’| ε
F->(E) | i
采用递归下降语法分析法编写语法分析程序,该语法分析程序判断输入的字符串是否符合上述文法,并能够输出相应的结果(是语法成分或不是语法成分)。
- #include<stdio.h>
- /*
- 实验名称:实验3 递归下降语法分析程序设计
- 学号:
- 姓名:niu91(859222829)
- 班级:
- */
- #include<string>
- char str[10];
- int index=0;
- void E(); //E->TX;
- void X(); //X->+TX | e
- void T(); //T->FY
- void Y(); //Y->*FY | e
- void F(); //F->(E) | i
- int main()
- {
- int len;
- int m;
- printf("请输入要测试的次数:");
- scanf("%d",&m);
- while(m--)
- {
- printf("请输入算数表达式:");
- scanf("%s",str);
- len=strlen(str);
- str[len]='#';
- str[len+1]='