标签:上下文无关文法 style 表达 div stdio.h new void 截取 理解
实验一、递归下降分析实验
专业 姓名 学号
一、 实验目的
练习构造递归下降语法分析程序的方法,熟悉上下文无关文法的使用,加深对课堂教学的理解;提高语法分析方法的实践能力。
二、 实验内容和要求
利用c语言构造语法分析程序。
三、 实验方法、步骤及结果测试
对于给定的文法
E—>aE | bE | T
T—>=T | +T | -T | *T | F
F—>( E ) F | ;
#include<stdio.h>
#include<string>
char str[50]; //要分析的字符串
int ch=0;
void scaner();
void E();
void T();
void F();
void error();
main()
{
int len;
printf("请输入算数表达式:");
scanf("%s",str);
len=strlen(str);
str[len]=‘#‘;
if(str[ch]==‘a‘)
scaner();
else error();
E();
printf("\n正确!\n");
strcpy(str,"");
}
void scaner()
{
ch++;
}
void E()
{
E();
T();
}
void X()
{
}
void T()
{
if(str[ch]==‘+‘||str[ch]==‘-‘||(str[ch]==‘*‘||str[ch]==‘/‘)
{
ch++;
T();
F();
}
else error();
}
void F()
{
if (str[x]==‘(‘)
{
ch++;
E();
if(str[x]==‘)‘)
{
F();
}
else
}
else if((str[x]!=‘;‘)
error();
}
}
void error()
{
printf("\n错误!\n");
}
一般必须配运行结果截图,结果是否符合预期及其分析。
(截图需根据实际,截取有代表性的测试例子)
四、 实验总结
心得体会,实验过程的难点问题及其解决的方法。
标签:上下文无关文法 style 表达 div stdio.h new void 截取 理解
原文地址:http://www.cnblogs.com/veol/p/6188951.html