博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验四 递归下降语法分析程序设计
阅读量:6573 次
发布时间:2019-06-24

本文共 1545 字,大约阅读时间需要 5 分钟。

#include
char curr;char LL1[1000];int N=0;void scaner();int digital(){ //panduanshifouweishuzi if(curr >= '0' && curr <= '9') { return 1; } else { return 0; }}int english(){ if(curr >= 'a' && curr<='z' || curr >= 'A' && curr <= 'Z') { return 1; } else return 0;}int yuansuanf(){ if(curr=='+'||curr=='-'||curr=='*'||curr=='/') { return 1; } else{ return 0; }}int end(){ if(curr!='#'){ return 1; } else return 0;}int check(){ if(digital()==1){ scaner(); if(end()==1){ if(yuansuanf()==1){ return 1; } else if(yuansuanf()==0){ return 0; } } else if(end()==0){ return 1; } } return 0; } void checking(){ int number; qq: scaner(); if(digital()==1){ while(curr!='#'){ number=check(); if(number==1){ goto qq; } else if(number==0){ break; } } }if(number==1){printf("无错误");}else printf("%c错误",curr);}void main(){ char ch; int i=0; printf("请输入需要分析的语法:(#结束)\n"); do{ scanf("%c",&ch); LL1[i] = ch; i++; }while(ch != '#'); scaner(); checking(); }void scaner(){ //用于读取源函数的下一个字符 N++; if(LL1[N] == ' '){ N++; }else { curr = LL1[N]; }}

 

转载于:https://www.cnblogs.com/zlcan/p/5089536.html

你可能感兴趣的文章
window下配置定时任务实现类似linux的cron定时任务
查看>>
铁道部否认被中铁工程等十多家公司老总蹲点讨债
查看>>
js事件---事件流
查看>>
我的友情链接
查看>>
谁拿了最多奖学金
查看>>
详解linux运维工程师入门级必备技能
查看>>
我的友情链接
查看>>
PhoneGap在Microsoft Visual Studio Express For Wi...
查看>>
Shell脚本的模块化和脚本复用
查看>>
暴力删除
查看>>
unable to bind to locking port 7054 within 45000 ms
查看>>
自动化运维之kickstart自动化部署安装操作系统
查看>>
C++前置声明的一个好处与用法
查看>>
Upgrade GI/CRS 11.1.0.7 to 11.2.0.2. Rootupgrade.sh Hanging
查看>>
vue组件样式scoped
查看>>
整站爬虫命令
查看>>
linux下ssh/sftp配置和权限设置
查看>>
微软职位内部推荐-SDE II
查看>>
SQLPlus获取oracle表操作SQL
查看>>
BFS(两点搜索) UVA 11624 Fire!
查看>>