首页 > 代码库 > 递归下降分析程序
递归下降分析程序
实验一、递归下降分析实验
专业 姓名 学号
一、 实验目的
练习构造递归下降语法分析程序的方法,熟悉上下文无关文法的使用,加深对课堂教学的理解;提高语法分析方法的实践能力。
二、 实验内容和要求
利用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"); }
- 运行结果及分析
一般必须配运行结果截图,结果是否符合预期及其分析。
(截图需根据实际,截取有代表性的测试例子)
四、 实验总结
心得体会,实验过程的难点问题及其解决的方法。
递归下降分析程序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。