码迷,mamicode.com
首页 > 其他好文 > 详细

1231-递归下降语法分析

时间:2015-12-31 16:03:56      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

E→TE‘

E‘→+TE‘|-TE‘|ε

T→FT‘

T‘→*FT‘|/FT‘|ε

F→(E)|i

 


#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]==‘+‘||str[index]==‘-‘) { index++; T(); X(); } } void T() { F(); Y(); } void Y() { if(str[index]==‘*‘||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); } }

技术分享



1231-递归下降语法分析

标签:

原文地址:http://www.cnblogs.com/xyz--123/p/5089793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
分享档案
周排行
mamicode.com排行更多图片
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!