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

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

?? testscan.c

?? 詞法分析的實例
?? C
字號:
#include <stdio.h>
#include <ctype.h>
//下面定義保留,為簡化程序,使用字符指針數組保存所有保留字。
//如果想增加保留字,可繼續添加,并修改保留字數目
#define keywordSum  8
char *keyword[keywordSum]={ "if","else","for","while","do","int","read","write"};
//下面定義純單分界符,如需要可添加
char singleword[50]="+-*(){};,:";
//下面定義雙分界符的首字符
char doubleword[10]="><=!";
extern char Scanin[300], Scanout[300]; //用于接收輸入輸出文件名,在TEST_main.c中定義
extern FILE *fin,*fout; //用于指向輸入輸出文件的指針,在TEST_main.c中定義
int TESTscan()//詞法分析函數
{
   char ch,token[40]; //ch為每次讀入的字符,token用于保存識別出的單詞
   int es=0,j,n; //es錯誤代碼,0表示沒有錯誤。j,n為臨時變量,控制組合單詞時的下標等
   printf("請輸入源程序文件名(包括路徑):");
   scanf("%s",Scanin);
   printf("請輸入詞法分析輸出文件名(包括路徑):");
   scanf("%s",Scanout);
   if ((fin=fopen(Scanin,"r"))==NULL) //判斷輸入文件名是否正確
   {
      printf("\n打開詞法分析輸入文件出錯!\n");
      return(1);//輸入文件出錯返回錯誤代碼1
   }
   if ((fout=fopen(Scanout,"w"))==NULL) //判斷輸出文件名是否正確
   {
      printf("\n創建詞法分析輸出文件出錯!\n");
      return(2); //輸出文件出錯返回錯誤代碼2
   }
   ch=getc(fin);
   while(ch!=EOF)
   {
      while (ch==' '||ch=='\n'||ch=='\t') ch=getc(fin);
	  if (ch==EOF) break;
      if (isalpha(ch))   //如果是字母,則進行標識符處理
      {
		 token[0]=ch; j=1;
		 ch=getc(fin);
		 while(isalnum(ch))  //如果是字母數字則組合標識符;如果不是則標識符組合結束
		 {
			token[j++]=ch;  //組合的標識符保存在token中
			ch=getc(fin);  //讀下一個字符
		 }
		 token[j]='\0';  //標識符組合結束	 
		 //查保留字
		 n=0;
		 while ((n<keywordSum) && strcmp(token,keyword[n])) n++;
		 if (n>=keywordSum)  //不是保留字,輸出標識符
			fprintf(fout,"%s\t%s\n","ID",token);  //輸出標識符符號
		else//是保留字,輸出保留字
			fprintf(fout,"%s\t%s\n",token,token);  //輸出保留字符號
	  } else if (isdigit(ch))//數字處理
      {
		 token[0]=ch; j=1;
		 ch=getc(fin);  //讀下一個字符
		 while (isdigit(ch))  //如果是數字則組合整數;如果不是則整數組合結束
		 {
			token[j++]=ch;  //組合整數保存在token中
			ch=getc(fin);  //讀下一個字符
		 }
		 token[j]='\0';  //整數組合結束		 
		 fprintf(fout,"%s\t%s\n","NUM",token);  //輸出整數符號
      } else if (strchr(singleword,ch)>0)  //單分符處理
      {
		 token[0]=ch; token[1]='\0';
		 ch=getc(fin);//讀下一個符號以便識別下一個單詞
		 fprintf(fout,"%s\t%s\n",token,token);  //輸出單分界符符號
      }else if (strchr(doubleword,ch)>0)  //雙分界符處理
      {
		 token[0]=ch;
		 ch=getc(fin);  //讀下一個字符判斷是否為雙分界符
		 if (ch=='=')  //如果是=,組合雙分界符
		 {
			token[1]=ch;token[2]='\0';  //組合雙分界符結束
		   	ch=getc(fin);  //讀下一個符號以便識別下一個單詞
		 } else//不是=則為單分界符
			token[1]='\0';
		 fprintf(fout,"%s\t%s\n",token,token);  //輸出單或雙分界符符號
      } else if (ch=='/')  //注釋處理
      {
		 ch=getc(fin);  //讀下一個字符
		 if (ch=='*')  //如果是*,則開始處理注釋
		 {  char ch1;
			ch1=getc(fin);  //讀下一個字符
			do
			{  ch=ch1;ch1=getc(fin);}  //刪除注釋
			while ((ch!='*' || ch1!='/')&&ch1!=EOF);  //直到遇到注釋結束符*/或文件尾
			ch=getc(fin);//讀下一個符號以便識別下一個單詞
		 } else  //不是*則處理單分界符/
		 {
			 token[0]='/'; token[1]='\0';
			 fprintf(fout,"%s\t%s\n",token,token);  //輸出單分界符/
		 }
	} else//錯誤處理
	  {
		 token[0]=ch;token[1]='\0';
		 ch=getc(fin);  //讀下一個符號以便識別下一個單詞
		 es=3;  //設置錯誤代碼
		 fprintf(fout,"%s\t%s\n","ERROR",token);  //輸出錯誤符號
      }
   }
   fclose(fin);//關閉輸入輸出文件
   fclose(fout);
   return(es);  //返回主程序
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品美女在线播放| 欧美剧情电影在线观看完整版免费励志电影 | 7799精品视频| 色综合天天性综合| eeuss国产一区二区三区| 国产一区 二区 三区一级| 韩国女主播成人在线观看| 麻豆精品视频在线观看| 精品一二三四区| 国产精品一区免费视频| 粉嫩欧美一区二区三区高清影视| 国产精品99久久久久久似苏梦涵| 成人高清视频在线观看| eeuss影院一区二区三区 | 欧美片在线播放| 欧美裸体一区二区三区| 欧美一级理论片| 精品成人免费观看| 国产精品国产三级国产三级人妇 | 青青草国产成人av片免费| 亚洲成精国产精品女| 久久精品国产一区二区三| 国产成人精品免费看| 91视频你懂的| 日韩欧美精品在线| 久久久国产一区二区三区四区小说| 欧美韩日一区二区三区| 成人免费在线观看入口| 亚洲一二三区在线观看| 久久99久久久欧美国产| 国产一区二区福利视频| 日本道精品一区二区三区| 69p69国产精品| 欧美韩国一区二区| 亚洲第一主播视频| 国产精品888| 欧美色综合天天久久综合精品| 久久伊人中文字幕| 亚洲精品欧美专区| 狠狠色丁香久久婷婷综合_中| 日本高清成人免费播放| 日韩一级免费观看| 亚洲天堂成人在线观看| 精品亚洲成av人在线观看| 99久久综合色| 久久亚洲免费视频| 丝袜美腿成人在线| 一本一道久久a久久精品| 日韩免费福利电影在线观看| 一区二区久久久| 激情综合色综合久久综合| 在线亚洲免费视频| 国产亚洲成av人在线观看导航| 亚洲一区免费视频| 国产成人av电影在线| 日韩三级在线观看| 亚洲成人激情av| 97久久精品人人做人人爽| 精品国产1区2区3区| 一区二区三区不卡视频| 99视频精品在线| 国产女主播视频一区二区| 蜜臀av一区二区| 欧美精品18+| 亚洲一区在线观看网站| 色综合欧美在线视频区| 国产精品国产三级国产普通话99| 国产一区二区日韩精品| 精品免费国产一区二区三区四区| 石原莉奈在线亚洲二区| 91成人看片片| 亚洲一区二区四区蜜桃| 一本色道**综合亚洲精品蜜桃冫| 亚洲欧美综合另类在线卡通| 国产成a人无v码亚洲福利| 欧美激情一区二区三区在线| 福利电影一区二区三区| 欧美videossexotv100| 喷水一区二区三区| 日韩欧美一二三区| 日本在线播放一区二区三区| 欧美手机在线视频| 日韩电影在线观看网站| 欧美高清一级片在线| 日韩有码一区二区三区| 欧美久久高跟鞋激| 蜜臀av一级做a爰片久久| 欧美成人aa大片| 国产真实乱对白精彩久久| 欧美一区永久视频免费观看| 青青草伊人久久| 久久一区二区视频| 国产91精品久久久久久久网曝门| 欧美激情一区二区三区四区| av电影在线不卡| 亚洲一线二线三线视频| 337p亚洲精品色噜噜噜| 久久精品国产在热久久| 久久久99免费| 色综合久久中文综合久久97| 婷婷综合久久一区二区三区| 久久综合色鬼综合色| 高清成人在线观看| ㊣最新国产の精品bt伙计久久| 欧美性受xxxx黑人xyx| 奇米四色…亚洲| 国产精品久久久久aaaa| 91精品办公室少妇高潮对白| 免费观看在线综合色| 久久久久久黄色| 91久久精品一区二区| 麻豆免费看一区二区三区| 欧美国产精品一区二区| 欧美在线视频你懂得| 久久99国产精品尤物| 亚洲欧洲日韩一区二区三区| 在线不卡免费av| 处破女av一区二区| 日韩和欧美一区二区| 国产区在线观看成人精品| 在线视频欧美区| 高清不卡在线观看| 亚洲电影一区二区三区| 久久久精品欧美丰满| 欧美日韩国产精品成人| 成人一级片网址| 日韩在线a电影| 亚洲欧美日韩综合aⅴ视频| 日韩欧美国产综合一区| 色综合激情五月| 国产成人亚洲精品青草天美| 五月激情综合网| 一区二区三区精密机械公司| 国产午夜精品一区二区三区四区| 欧美精三区欧美精三区| www.亚洲激情.com| 国产精品资源网站| 免费久久99精品国产| 亚洲在线视频网站| 一区二区中文视频| 久久精品日韩一区二区三区| 日韩午夜激情视频| 精品视频在线免费| 91福利在线观看| yourporn久久国产精品| 国产成人99久久亚洲综合精品| 久久精品免费看| 日本伊人精品一区二区三区观看方式| 亚洲三级在线观看| 国产精品美女久久久久高潮| 国产欧美日韩在线看| 久久这里只精品最新地址| 日韩亚洲国产中文字幕欧美| 制服丝袜日韩国产| 日本高清不卡aⅴ免费网站| 91视频观看免费| 色婷婷av久久久久久久| 99久久综合狠狠综合久久| 懂色一区二区三区免费观看| 成人综合在线观看| 成人免费黄色大片| www.久久久久久久久| www.久久精品| 91视频观看视频| 91精品1区2区| 欧美视频一区二区| 欧美一区二区精品久久911| 欧美性受xxxx黑人xyx性爽| 欧美日韩和欧美的一区二区| 91超碰这里只有精品国产| 91麻豆精品久久久久蜜臀 | 紧缚捆绑精品一区二区| 久久综合综合久久综合| 国产福利一区二区三区| 成人avav影音| 欧美三级电影网| 日韩美女在线视频 | 亚洲欧美日韩在线播放| 一区二区三区中文字幕精品精品 | 国产精品免费aⅴ片在线观看| 国产情人综合久久777777| 国产精品美女久久久久久久久久久 | 亚洲人xxxx| 午夜精品视频一区| 久久国产三级精品| 成人午夜激情视频| 欧美亚洲国产一区二区三区va | 色综合久久88色综合天天6| 欧美日韩激情一区| 久久精品亚洲乱码伦伦中文| 综合av第一页| 日本视频一区二区三区| 成人午夜激情在线| 欧美日本一区二区三区四区| 国产日韩欧美综合在线| 一区二区三区高清在线| 国内精品伊人久久久久av一坑| 91亚洲精品一区二区乱码| 91精品国产色综合久久久蜜香臀| 亚洲国产精品ⅴa在线观看|