小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

遞歸下降分析法的簡單例子的c語言實現(xiàn)

 quasiceo 2013-12-10
分類: 編譯原理 2012-04-08 20:23 595人閱讀 評論(0) 收藏 舉報

我們舉的簡單例子是

G[s]:

Sa || (T)

TT, S | S

轉(zhuǎn)化為LL1文法

S →a || (T)
T →ST'
T'→,ST'| ε
c語言代碼實現(xiàn)
 
  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 ^ , 組成,且單詞必須以$#結(jié)尾\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

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多