打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
递归下降分析法的简单例子的c语言实现
分类: 编译原理 2012-04-08 20:23 595人阅读 评论(0) 收藏 举报

我们举的简单例子是

G[s]:

Sa || (T)

TT, S | S

转化为LL1文法

S →a || (T)
T →ST'
T'→,ST'| ε
c语言代码实现
 
  1. #include<stdio.h>  
  2. char scaner(char*input,int* p);  
  3. void S(char*input,int* p);  
  4. void T(char*input,int* p);  
  5. void T1(char*input,int* p);  
  6. void error();  
  7. int sym=0;  
  8. int main()  
  9. {  
  10.  int p=0;  
  11.  char input[200]={0};  
  12.   
  13.  printf("请输入你要识别的单词\n");  
  14.  printf("单词只能由 ( ) a ^ , 组成,且单词必须以$#结尾\n");  
  15.  scanf("%[^#]s",input);  
  16.  printf("the word you input is  : %s\n",input);  
  17.  sym=scaner(input,&p);  
  18.  S(input,&p);  
  19.    
  20.  if(sym=='$')  
  21.       printf("sucess\n");  
  22.  else   
  23.       printf("fail");  
  24.         
  25. do   
  26. {  
  27.    ;   }while(1);        
  28.       
  29.  return 0;      
  30. }  
  31. char scaner(char*input,int *p)  
  32. {  
  33.  char temp=input[*p];  
  34.   (*p)++;  
  35.  return temp;       
  36. }  
  37. void S(char*input,int* p)  
  38. {   
  39.  if(sym=='a'||sym=='^')  
  40.        sym=scaner(input,p);  
  41.  else if(sym=='(')  
  42.       {  
  43.        sym=scaner(input,p);  
  44.        T(input,p);  
  45.        if(sym==')')  
  46.               sym=scaner(input,p);  
  47.        else   
  48.               error();       
  49.       }  
  50.  return ;  
  51.  }  
  52.  void T(char*input,int* p)  
  53.  {  
  54.  S(input,p);  
  55.  T1(input,p);  
  56.  return ;       
  57.  }  
  58.  void T1(char*input,int* p)  
  59.  {  
  60.   if(sym==','){  
  61.        sym=scaner(input,p);  
  62.        S(input,p);  
  63.        T1(input,p);}   
  64.   else if(sym!=')')  
  65.        error();  
  66.              
  67.  }  
  68.  void error()  
  69.  {  
  70.         printf("error!!!");  
  71.         return ;  
  72.         }  
  73.           


 

更多0
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【五险一金】这么详细的讲解,还有例子啊~这次终于懂了
几乎每一天都能找到这样的例子来印证我的观...
龙头战法的介入买股方式 4:竞价预判买入法(图解)(4)
這個例子太精辟啦!!!
5w的例子
均线系统(4)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服