递归下降语法分析程序设计
2015-12-30 17:38
453 查看
#include<stdio.h> #include<string> char str[10]; int index=0; void E(); void X(); void T(); void Y(); void F(); int main() { int len; int m; printf("请输入测试的次数:"); scanf("%d",&m); while(m--) { printf("请输入表达式:"); scanf("%s",str); len=strlen(str); str[len]='#'; str[len+1]='\0'; E(); printf("正确语句!\n"); strcpy(str,""); index=0; } return 0; } void E() { T(); X(); } void X() { if(str[index]=='+') { index++; T(); X(); } } void T() { F(); Y(); } void Y() { if(str[index]=='*') { index++; F(); Y(); } } void F() { if(str[index]=='i') { index++; } else if (str[index]=='(') { index++; E(); if(str[index]==')') { index++; }else{ printf("\n分析失败!\n"); exit (0); } } else{ printf("分析失败!\n"); exit(0); } }
相关文章推荐
- 一款Loading动画的实现思路(四·完结篇)
- 冰火围城过场动画
- CSS hack
- JAVA虚拟机之五:常见配置与范例
- IIS服务器处理页面请求的简单过程
- 实模式和保护模式区别及寻址方式
- C语言网站开发测试 WAMP配置CGI
- 递归下降语义分析
- __super
- Python 2.2 定义函数
- Linux安装VMwareTools-9.6.0-1294478.tar.gz
- 误删libgcc导致yum或rpm无法操作的解决办法
- timer
- Nginx服务器中414错误和504错误的配置解决方法
- SSAS动态添加分区
- iOS开发动画(Animation)图片360度不停旋转
- Java发邮件-QQ服务器认证(A secure connection is requiered(such as ssl))
- 矩阵填充的SVT算法
- Android开发相关的网址导航
- Oracle中的BLOB和CLOB