2147 表达式语法分析——递归子程序法
来源:互联网 发布:网络英语培训排名 编辑:程序博客网 时间:2024/06/05 19:13
2147 表达式语法分析——递归子程序法
#include<bits/stdc++.h>using namespace std;const int maxn = 55;int l,cnt=0,x=0;char s[maxn];int dfsE();int dfsG();int dfsT();int dfsS();int dfsF();int main(){ scanf("%s",s); l=strlen(s)-1; printf("%s\n",dfsE()&&x==l&&s[x]=='#'?"accept":"error"); return 0;}int dfsE(){ printf("%d E-->TG\n",cnt++); return dfsT()&&dfsG();}int dfsG(){ if(s[x]=='+') { printf("%d G-->+TG\n",cnt++); x++; return dfsT()&&dfsG(); } else { printf("%d G-->&\n",cnt++); return 1; }}int dfsT(){ printf("%d T-->FS\n",cnt++); return dfsF()&&dfsS();}int dfsS(){ if(s[x]=='*') { printf("%d S-->*FS\n",cnt++); x++; return dfsF()&&dfsS(); } else { printf("%d S-->&\n",cnt++); return 1; }}int dfsF(){ if(s[x]=='(') { printf("%d F-->(E)\n",cnt++); x++; return dfsE()&&s[x++]==')'; } else if(s[x]=='i') { printf("%d F-->i\n",cnt++); x++; return 1; } return 0;}
阅读全文
0 0
- 表达式语法分析——递归子程序法
- 表达式语法分析——递归子程序法
- 表达式语法分析——递归子程序法
- 表达式语法分析——递归子程序法
- 表达式语法分析——递归子程序法
- 表达式语法分析——递归子程序法
- 表达式语法分析——递归子程序法
- SDUT 2147 表达式语法分析——递归子程序法
- 2147 表达式语法分析——递归子程序法
- 2016年秋季《编译原理》课程实验(2014级)表达式语法分析——递归子程序法
- 表达式语法分析——预测分析法
- 表达式语法分析——预测分析法
- 表达式语法分析——预测分析法
- 表达式语法分析——预测分析法
- 【现代编译器】语法分析——正则表达式,上下文无关文法,递归下降分析,分析树
- PL0 表达式的计算(递归子程序法)
- SDUT 表达式语法分析——预测分析法
- SDUT 2148 表达式语法分析——预测分析法
- 触摸屏:屏幕键盘(虚拟键盘)解决方案
- C/C++中static关键字作用
- poj1521
- centos6安装elasticsearch6错误笔记
- ThinkPadT420装双系统
- 2147 表达式语法分析——递归子程序法
- CPP 调用Python
- yum提示Another app is currently holding the yum lock; waiting for it to exit...
- 抽象类和接口的部分小节
- Linux基础 30分钟GDB调试快速突破
- 推荐算法与伦理
- Java开发快递物流项目(5)
- 欢迎使用CSDN-markdown编辑器
- 算法提高 最小方差生成树