实验三:语法分析实验
一、 实验目的
编写递归下降分析语法分析程序。
二、 实验内容和要求
输入:输入算术表达式以“#”结束
输出:是否分析成功
三、 实验方法、步骤及结果测试
1. 源程序名:压缩包文件(rar或zip)中源程序名
语法分析.c
可执行程序名:语法分析.exe
2. 原理分析及流程图
主要总体设计问题。
(包括存储结构,主要算法,关键函数的实现等)
E→TX
X→(+T|-T)X|ε
T→FY
Y→(*F|/F)Y|ε
F→(E)|i
3. 主要程序段及其解释:
#include<stdio.h> #include<string.h> char str[10]; int index=0; void E(); //E->TX; void X(); //X->+TX|-TX|ε void T(); //T->FY void Y(); //Y->*FY |/FY|ε void F(); //F->(E) | i int i(); //i int main() { int len; int m; printf("请输入要测试的次数:"); scanf("%d",&m); printf("输入表达式以#结束 "); while(m--) { printf(" 请输入算数表达式:"); scanf("%s",str); len=strlen(str); str[len]='#'; str[len+1]='