实验三、 递归下降分析程序实验
专业 计算机科学与技术 姓名 王晓峰 学号 201506110163
一、 实验目的
通过设计,编制,调试一个递归下降语法分析程序,实现对词法分析程序所提供的单词序列进行语法检查和结构的分析。
二、 实验内容和要求
输入:源程序字符串
输出:正确或者错误
三、 实验方法、步骤及结果测试
1. 源程序名: 递归下降语法分析程序.c
2. 原理分析及流程图
这里的存储结构主要是用数组来存储字符串。
采用递归子程序方法进行语法分析,对文法中的每个非终结符号按其产生式结构产生相应的语法分析子程序,完成相应的识别任务。其中终结符产生匹配命令,非终结符则产生调用命令。每次进入子程序之前都预先读入一个单词。简单地说就是识别程序由一组子程序组成,每个子程序对应于一个非终结符号。
代码如下:
#include<stdlib.h> #include<stdio.h> #include<string.h> char str[10]; //记录要分析的字符串 int x=0; //记录第一个字符 void E(); void X(); void T(); void Y(); void F(); int main() { int len; printf("请输入算数表达式:(以#为结束)"); scanf("%s",str); len=strlen(str); str[len]='#'; str[len+1]='