亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 030402401.cpp

?? 詞法分析器 可以實現 pascal 的詞法分析 還是有點用的
?? CPP
字號:
                          

                              /*輸入測試程序時請以#結束*/
#include  <stdio.h>  
#include  <stdlib.h>  
#include  <string.h> 


void  getch();  
void  getsym();  
 
typedef  struct  tag_keywordarray  /*  存放關鍵字  */  
{  
       char  a[20];  
             
}keywordarray[10];  
 
typedef  struct  tag_token            /*  存放種別碼和值的  */  
{  
       int  sym;  
       char  symbol[10];  
             
}token[100];  
 
keywordarray  keyword={            "begin","end","for","if","integer","procedure","read",  
"repeat","var","write"};  
static  token  token_PL;  
static  int  cc=0;  
static  int  j=0;  
static  char  line[50];  
char  ch;  
bool  RLP=true;  
 
void  main(void)  
{  
       int  i;  
       getsym();  
       for(i=0;i<j;i++)  
       {  
               printf("<");  
               printf("%d,",token_PL[i].sym);  
               printf("%s>  ",token_PL[i].symbol);  
       }  
       if(RLP==false)  
       {  
                   printf("\nNone  of  ')'\n");  
       }  
       system("pause");  
}  
 
void  getsym()  
{  
       int  k;  
       int  i;  
       char  A[10];  
       char  id[10];  
 
       while(ch==NULL)  
       {  
            getch();
       }  
       /*  判斷ch是否有字  */  
 
           while(ch!='#')  
           {  
                       if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z'))  
                                   /*  判斷取出的字是否為字母  */  
                       {  
                                   k=0;  
                                   A[k]=ch;  
                                   k=k+1;  
                                   getch();  
                                   while(1)  
                                   {  
                                               if((ch>'A'&&ch<'Z')||(ch>='a'&& ch<='z')||(ch>='0'&&ch<='9'))  
                                               {  
                                                           if(k<10)  
                                                           {  
                                                                       A[k]=ch;  
                                                                       k=k+1;  
                                                                       getch();  
                                                           }  
                                                           else  
                                                           {  
                                                                       getch();  
                                                                       /*  k>10則繼續取詞,但對后面的不錯處理,截取前10個  */  
                                                           }  
                                               }  
                                               else  
                                               {  
                                                           cc=cc-1;  
                                                           break;  
                                               }  
                                   }  
 
                                   for(i=0;i<k;i++)  
                                   {  
                                               id[i]=A[i];  
                                   }  
                                   id[i]='\0';  
 
                                   bool  bKeyword=false;  
                                   for(i=0;i<10;i++)  
                                   {  
                                               if((stricmp(id,keyword[i].a))==0)  
                                               {  
                                                           token_PL[j].sym=1;  
                                                           strcpy(token_PL[j].symbol,keyword[i].a);  
                                                           j=j+1;  
                                                           bKeyword=true;  
                                                           break;  
                                               }  
                                   }  
                                   if(!bKeyword)  
                                   {  
                                               token_PL[j].sym=2;  
                                               strcpy(token_PL[j].symbol,id);  
                                               j=j+1;  
                                   }  
 
                       }  
                       else  
                       {  
                                   if(ch>='0'&&ch<='9')  /*  判斷是否為數字  */  
                                   {  
                                               k=0;  
                                               A[k]=ch;  
                                               k=k+1;  
                                               getch();  
                                               while(1)  
                                               {  
                                                           if(ch>='0'&&ch<='9')  
                                                           {  
                                                                       if(k<10)  
                                                                       {  
                                                                                   A[k]=ch;  
                                                                                   k=k+1;  
                                                                                   getch();  
                                                                       }  
                                                                       else  
                                                                       {  
                                                                                   getch();  
                                                                       }  
                                                           }  
                                                           else  
                                                           {  
                                                                       cc-=1;  
                                                                       break;  
                                                           }  
                                               }  
                                               token_PL[j].sym=4;  
                                               A[k]='\0';  
                                               strcpy(token_PL[j].symbol,A);  
                                               j=j+1;  
                                   }  
                                   else    /*  是否為操作符  */  
                                   {  
                                               if(ch=='+')  
                                               {  
                                                           k=0;  
                                                           A[k]=ch;  
                                                           token_PL[j].sym=3;  
                                                           A[k+1]='\0';  
                                                           strcpy(token_PL[j].symbol,A);  
                                                           j=j+1;  
                                               }  
                                               else  if(ch=='-')  
                                               {  
                                                           k=0;  
                                                           A[k]=ch;  
                                                           token_PL[j].sym=3;  
                                                           A[k+1]='\0';  
                                                           strcpy(token_PL[j].symbol,A);  
                                                           j=j+1;  
                                               }  
                                               else  if(ch=='*')  
                                               {  
                                                           k=0;  
                                                           A[k]=ch;  
                                                           token_PL[j].sym=3;  
                                                           A[k+1]='\0';  
                                                           strcpy(token_PL[j].symbol,A);  
                                                           j=j+1;  
                                               }  
                                               else  if(ch=='/')  
                                               {  
                                                           k=0;  
                                                           A[k]=ch;  
                                                           token_PL[j].sym=3;  
                                                           A[k+1]='\0';  
                                                           strcpy(token_PL[j].symbol,A);  
                                                           j=j+1;  
                                               }  
											   else  if(ch=='=')  
                                               {  
                                                           k=0;  
                                                           A[k]=ch;  
                                                           token_PL[j].sym=3;  
                                                           A[k+1]='\0';  
                                                           strcpy(token_PL[j].symbol,A);  
                                                           j=j+1;  
                                               }  
											   
                                               else  if(ch==':')  
                                               {  
                                                           k=0;  
                                                           A[k]=ch;  
                                                           getch();  
                                                           if(ch=='=')  
                                                           {  
                                                                       k=k+1;  
                                                                       A[k]=ch;  
                                                           }  
                                                           token_PL[j].sym=3;  
                                                           A[k+1]='\0';  
                                                           strcpy(token_PL[j].symbol,A);  
                                                           j=j+1;  
                                               }  
                                                else  if(ch=='"')  
                                               {  
                                                           k=0;  
                                                           A[k]=ch;  
                                                           token_PL[j].sym=5;  
                                                           A[k+1]='\0';  
                                                           strcpy(token_PL[j].symbol,A);  
                                                           j=j+1;  
                                               }  
												else  if(ch==' ')  
                                               {  
                                                           k=0;  
                                                           A[k]=ch;  
                                                           token_PL[j].sym=5;  
                                                           A[k+1]='\0';  
                                                           strcpy(token_PL[j].symbol,A);  
                                                           j=j+1;  
                                               }  
 
                                               else  if(ch=='(')  
                                               {  
                                                           k=0;  
                                                           A[k]=ch;  
                                                           token_PL[j].sym=5;  
                                                           A[k+1]='\0';  
                                                           strcpy(token_PL[j].symbol,A);  
                                                           j=j+1;  
                                                           RLP=false;  
                                               }  
                                               else  if(ch==')')  
                                               {  
                                                           k=0;  
                                                           A[k]=ch;  
                                                           token_PL[j].sym=5;  
                                                           A[k+1]='\0';  
                                                           strcpy(token_PL[j].symbol,A);  
                                                           j=j+1;  
                                                                                           RLP=true;  
                                               }  
 
                                   }  
                       }  
                       getch();  
           }  
 
 }  
 
 
 void  getch()  
 {  
             if(line[0]==NULL)  
                         /*  如果緩沖中第一個位置為空的話,就認為未有語句輸入  */  
             {  
                         int  i=-1;  
                         do  
                         {  
                                     i++;  
                                     scanf("%c",&line[i]);    
                         }while(line[i]!='#');  
             }  
             ch=line[cc];      /*  取出一詞  */  
             cc=cc+1;  
 }     





                                       /*輸入測試程序時請以#結束*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区在线电影| 一区二区三区产品免费精品久久75| 欧美韩国一区二区| 亚洲国产精品综合小说图片区| 激情综合网av| 欧美二区乱c少妇| 亚洲自拍偷拍图区| 成人黄色综合网站| 26uuu亚洲综合色欧美| 日韩综合一区二区| 91成人国产精品| 亚洲欧美国产高清| 成人高清免费观看| 国产欧美精品一区二区三区四区| 美女高潮久久久| 欧美一区二区三区啪啪| 日韩二区三区四区| 欧美挠脚心视频网站| 亚洲综合免费观看高清完整版| 丁香啪啪综合成人亚洲小说 | 毛片一区二区三区| 欧美日韩国产在线播放网站| 樱花草国产18久久久久| 色哟哟在线观看一区二区三区| 国产日韩欧美麻豆| 国产99久久久国产精品免费看| 久久蜜桃av一区精品变态类天堂| 欧美一级视频精品观看| 亚洲成人久久影院| 欧美精品aⅴ在线视频| 亚洲成人精品在线观看| 欧美肥妇毛茸茸| 三级在线观看一区二区| 日韩免费高清电影| 久久99久久久欧美国产| 久久久精品蜜桃| 国产成人精品免费| 国产精品天天看| 99久久综合国产精品| 亚洲欧美偷拍卡通变态| 91福利在线播放| 亚洲电影一区二区| 欧美一区二区视频在线观看2022| 免费观看成人av| 国产日本亚洲高清| 99久久免费精品高清特色大片| 一区二区视频在线看| 欧美性受xxxx黑人xyx| 亚洲第一精品在线| 欧美一区二区三区人| 国产在线视频一区二区| 中文字幕中文字幕中文字幕亚洲无线| 国产91精品一区二区麻豆网站| 精品乱人伦小说| 国产成人亚洲综合a∨猫咪| 综合久久给合久久狠狠狠97色| 色丁香久综合在线久综合在线观看| 一区二区三区在线播放| 欧美岛国在线观看| 成人性视频免费网站| 亚洲成在人线在线播放| 欧美精品一区二| 欧美在线一区二区三区| 久久国产免费看| 樱花影视一区二区| 久久综合成人精品亚洲另类欧美| 91视频.com| 国产乱人伦偷精品视频免下载| 中文字幕亚洲成人| 日韩一级欧美一级| 91亚洲精品一区二区乱码| 久久99国产乱子伦精品免费| 亚洲免费观看高清完整版在线 | 麻豆精品视频在线观看| 国产精品久久久久影院亚瑟| 欧美肥妇bbw| 91看片淫黄大片一级| 国产一区二区成人久久免费影院 | 一区二区三区在线视频免费| 精品处破学生在线二十三| 91成人看片片| 成人h动漫精品一区二| 日韩va亚洲va欧美va久久| 亚洲色图19p| 国产婷婷色一区二区三区四区| 欧美美女激情18p| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 另类欧美日韩国产在线| 亚洲黄色av一区| 精品一区二区三区av| 亚洲一区二区三区中文字幕 | 国产成人综合网站| 视频一区中文字幕| 一区二区三区精品| 国产精品欧美一区二区三区| 日韩欧美久久一区| 欧美精品自拍偷拍| 色美美综合视频| 色婷婷精品大在线视频| 丰满放荡岳乱妇91ww| 国产一区二区三区日韩| 日本免费新一区视频| 亚洲成人精品在线观看| 亚洲一二三专区| 亚洲最大色网站| 一区二区三区鲁丝不卡| 一卡二卡欧美日韩| 亚洲乱码中文字幕综合| 亚洲日本丝袜连裤袜办公室| 国产精品天干天干在观线| 国产精品网站在线| 国产精品乱码久久久久久| 国产精品久久久久毛片软件| 国产日韩av一区| 国产精品美女一区二区| 国产精品色在线观看| 国产精品国产三级国产aⅴ中文| 国产喷白浆一区二区三区| 国产精品区一区二区三区| 国产精品免费人成网站| 国产成人亚洲精品狼色在线| 成人精品视频一区二区三区| 国产成人免费9x9x人网站视频| 懂色av中文一区二区三区| av电影在线观看一区| 色狠狠av一区二区三区| 欧美少妇性性性| 日韩一级免费一区| 国产欧美精品一区二区三区四区| 国产精品久久夜| 亚洲线精品一区二区三区| 日av在线不卡| 成人午夜免费视频| 91豆麻精品91久久久久久| 欧美高清你懂得| 精品av综合导航| 中文字幕在线一区免费| 亚洲综合成人网| 久久国产三级精品| 99国产一区二区三精品乱码| 欧美亚男人的天堂| 久久综合网色—综合色88| 18成人在线观看| 日韩综合小视频| 国产aⅴ精品一区二区三区色成熟| jlzzjlzz亚洲女人18| 欧美私模裸体表演在线观看| 久久先锋资源网| 亚洲免费观看视频| 国产米奇在线777精品观看| 日本精品一区二区三区高清| 欧美成人午夜电影| 亚洲另类春色国产| 国产在线视视频有精品| 欧美色视频一区| 国产精品亲子乱子伦xxxx裸| 日韩经典一区二区| 色综合久久99| 久久久午夜精品| 日韩中文字幕91| 91麻豆精品秘密| 欧美变态tickle挠乳网站| 亚洲综合区在线| 成人免费观看视频| 欧美一区二区人人喊爽| 1024成人网| 岛国一区二区三区| 日韩精品一区二区三区中文精品| 一区二区三区在线观看网站| 成人小视频免费在线观看| 91精选在线观看| 亚洲高清中文字幕| 91在线视频观看| 国产日韩v精品一区二区| 久久99精品久久久久久国产越南| 在线精品国精品国产尤物884a| 国产精品美女久久久久aⅴ国产馆| 久久99久久精品| 日韩一二在线观看| 午夜欧美2019年伦理 | 高清成人免费视频| 精品少妇一区二区三区在线播放 | 亚洲国产高清不卡| 国产一区二区三区最好精华液| 91精品国产色综合久久不卡电影| 亚洲资源中文字幕| 91亚洲国产成人精品一区二三| 久久美女高清视频| 国产精品一区二区无线| 久久久久久久免费视频了| 久草在线在线精品观看| 日韩一区二区三区电影| 日本成人在线一区| 欧美一区二区免费视频| 蜜臀精品一区二区三区在线观看| 日本韩国欧美一区二区三区| 亚洲女女做受ⅹxx高潮| 91福利社在线观看| 午夜精品爽啪视频| 91精品欧美福利在线观看|