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

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

?? scanner.cpp

?? snl編譯器 開發環境visual c
?? CPP
?? 第 1 頁 / 共 2 頁
字號:

			      /* 當前字符c為"=",當前識別單詞返回值currentToken設置為等號單詞EQ */
                   case '=':
                   currentToken.Lex = EQ;
                   break;

			      /* 當前字符c為"<",當前識別單詞返回值currentToken設置為小于單詞LT */
                   case '<':
                   currentToken.Lex = LT;
                   break;

			      /* 當前字符c為"+",當前識別單詞返回值currentToken設置為加號單詞PLUS */
                   case '+':
                   currentToken.Lex = PLUS;
                   break;

			      /* 當前字符c為"-",當前識別單詞返回值currentToken設置為減號單詞MINUS */
                   case '-':
                   currentToken.Lex = MINUS;
                   break;

		       	 /* 當前字符c為"*",當前識別單詞返回值currentToken設置為乘號單詞TIMES */
                   case '*':
                   currentToken.Lex = TIMES;
                   break;
   
		     	 /* 當前字符c為"/",當前識別單詞返回值currentToken設置為除號單詞OVER */
                   case '/':
                   currentToken.Lex = OVER;
                   break;
  
			     /* 當前字符c為"(",當前識別單詞返回值currentToken設置為左括號單詞LPAREN */
                   case '(':
                   currentToken.Lex = LPAREN;
                   break;

			     /* 當前字符c為")",當前識別單詞返回值currentToken設置為右括號單詞RPAREN */
                   case ')':
                   currentToken.Lex = RPAREN;
                   break;

			    /* 當前字符c為";",當前識別單詞返回值currentToken設置為分號單詞SEMI */
                   case ';':
                   currentToken.Lex = SEMI;
                   break;
   	    	    /* 當前字符c為",",當前識別單詞返回值currentToken設置為逗號單詞COMMA */
 			       case ',':
			       currentToken.Lex = COMMA;
                   break;     		 
		        /* 當前字符c為"[",當前識別單詞返回值currentToken設置為左中括號單詞LMIDPAREN */
		           case '[':
			       currentToken.Lex = LMIDPAREN;
			       break;
    		 
			    /* 當前字符c為"]",當前識別單詞返回值currentToken設置為右中括號單詞RMIDPAREN */
			       case ']':
			       currentToken.Lex = RMIDPAREN;
			       break;
    
			    /* 當前字符c為其它字符,當前識別單詞返回值currentToken設置為錯誤單詞ERROR */
                   default:
                   currentToken.Lex = ERROR;
				   Error = TRUE;
                   break;
           }
         }
         break;						
	   /********** 當前狀態為開始狀態START的處理結束 **********/

	   /* 當前DFA狀態state為注釋狀態INCOMMENT,確定性有限自動機DFA處于注釋位置 */
       case INCOMMENT:

		 /* 當前字符存儲狀態save設置為FALSE,注釋中內容不生成單詞,無需存儲 */
         save = FALSE;				

		 /* 當前字符c為EOF,當前DFA狀態state設置為完成狀態DONE,當前單詞識別結束 *
		  * 當前識別單詞返回值currentToken設置為文件結束單詞ENDFILE            */
         if (c == EOF)			
         { state = DONE;
           currentToken.Lex = ENDFILE;

         }

		 /* 當前字符c為"}",注釋結束.當前DFA狀態state設置為開始狀態START */
         else if (c == '}') state = START;
         break;

	   /* 當前DFA狀態state為賦值狀態INASSIGN,確定性有限自動機DFA處于賦值單詞位置 */
       case INASSIGN:				

		 /* 當前DFA狀態state設置為完成狀態DONE,賦值單詞結束 */
         state = DONE;				

		 /* 當前字符c為"=",當前識別單詞返回值currentToken設置為賦值單詞ASSIGN */
		 if (c == '=')
           currentToken.Lex = ASSIGN;

		 /* 當前字符c為其它字符,即":"后不是"=",在輸入行緩沖區中回退一個字符       *
		  * 字符存儲狀態save設置為FALSE,當前識別單詞返回值currentToken設置為ERROR */
         else
         { 
           ungetNextChar();
           save = FALSE;
           currentToken.Lex = ERROR;
		   Error = TRUE;
         }
         break;
        
	   case INRANGE:				

		 /* 當前DFA狀態state設置為完成狀態DONE,賦值單詞結束 */
         state = DONE;				

		 /* 當前字符c為".",當前識別單詞返回值currentToken設置為下標界UNDERANGE */
		 if (c == '.')
           currentToken.Lex = UNDERANGE;

		 /* 當前字符c為其它字符,即"."后不是".",在輸入行緩沖區中回退一個字符       *
		  * 字符存儲狀態save設置為FALSE,當前識別單詞返回值currentToken設置為ERROR */
         else
         { 
           ungetNextChar();
           save = FALSE;
           currentToken.Lex = DOT;
         }
         break;
 
	   /* 當前DFA狀態state為數字狀態INNUM,確定性有限自動機處于數字單詞位置 */
    case INNUM:					

		 /* 當前字符c不是數字,則在輸入行緩沖區源中回退一個字符					*
		  * 字符存儲標志設置為FALSE,當前DFA狀態state設置為DONE,數字單詞識別完成 *
		  * 當前識別單詞返回值currentToken設置為數字單詞NUM                     */
         if (!isdigit(c))
         { 
           ungetNextChar();
           save = FALSE;
           state = DONE;
           currentToken.Lex = INTC;
         }
         break;
    	/*當前DFA狀態state為字符標志狀態INCHAR,確定有限自動機處于字符標志狀態*/
    case INCHAR:					

         if (isalnum(c))
        
		 { int c1=getNextChar();
            if (c1 =='\'')
			{ save = TRUE;
			  state = DONE;
			  currentToken.Lex = CHARC;
			}
		    else 
			{	ungetNextChar();
                ungetNextChar();
                state = DONE;
                currentToken.Lex = ERROR;
				Error = TRUE;
			}
		 }
		 else
		 {      ungetNextChar();
                state = DONE;
                currentToken.Lex = ERROR;
				Error = TRUE;
		 }
		 break;
   /* 當前DFA狀態state為標識符狀態INID,確定性有限自動機DFA處于標識符單詞位置 */
       case INID:					

		 /* 當前字符c不是字母,則在輸入行緩沖區源中回退一個字符		 			  *
		  * 字符存儲標志設置為FALSE,當前DFA狀態state設置為DONE,標識符單詞識別完成 *
		  * 當前識別單詞返回值currentToken設置為標識符單詞ID                      */
         if (!isalnum(c))
         { 
           ungetNextChar();
           save = FALSE;
           state = DONE;
           currentToken.Lex = ID;
         }
         break;

	   /* 當前DFA狀態state為完成狀態DONE,確定性有限自動機DFA處于單詞結束位置 */
       case DONE:	break;	

	   /* 當前DFA狀態state為其它狀態,此種情況不應發生 */
       default: 

		 /* 將詞法掃描器產生錯誤的狀態state寫入列表文件listing	*
		  * 當前DFA狀態state設置為完成狀態DONE					*
		  * 當前識別單詞返回值currentToken設置為錯誤單詞ERROR	*/
         fprintf(listing,"Scanner Bug: state= %d\n",state);
		 Error = TRUE;
         state = DONE;
         currentToken.Lex = ERROR;
         break;

     }
	 /*************** 分類判斷處理結束 *******************/

	 /* 當前字符存儲狀態save為TRUE,且當前正識別單詞已經識別部分未超過單詞最大長度 *
	  * 將當前字符c寫入當前正識別單詞詞元存儲區tokenString						  */
     if ((save) && (tokenStringIndex <= MAXTOKENLEN))
       tokenString[tokenStringIndex++] = (char) c;

	 if (state == DONE)
     {
	   /* 當前DFA狀態state為完成狀態DONE,單詞識別完成   *
	    * 當前識別單詞詞元存儲區tokenString加上結束標志 */
	   tokenString[tokenStringIndex] = '\0';

	   /* 當前單詞currentToken為標識符單詞類型,查看其是否為保留字單詞 */
       if (currentToken.Lex == ID)
	   { 
		   currentToken.Lex = reservedLookup(tokenString);
		   if (currentToken.Lex != ID)
			 strcpy(tokenString,tokenString);
       }
     }
   }
   /**************** 循環處理結束 ********************/
   /*將行號信息存入Token*/
   currentToken.lineshow = lineno;
   /*將單詞的語義信息存入Token*/
   strcpy(currentToken.Sem , tokenString); 

  /*將已處理完的當前Token存入鏈表的Token部分*/
    ((*currentNode).Token).lineshow=currentToken.lineshow;
   	((*currentNode).Token).Lex=currentToken.Lex;
	strcpy(((*currentNode).Token).Sem,currentToken.Sem);
 
     Tokennum++;   /*Token總數目加1*/
  
     /*若不是第一個結點,則將當前結點連入鏈表*/ 
	 if (preNode!=currentNode)
	    { 
		   preNode->nextToken=currentNode;
           preNode=currentNode;
	    }   
   /*申請一個新的結點,以記錄下一個Token的信息*/
	 currentNode=(ChainNodeType *)malloc(CHAINNODELEN);
   /*初始化這個結點中,指向下一個結點的指針為空*/ 
	 currentNode->nextToken=NULL;
 }
/* 直到處理完表示文件結束的Token:ENDFILE,說明處理完所有的Token*/
/* 并存入了鏈表中,循環結束*/
while ((currentToken.Lex)!=ENDFILE);
 /*將由chainHead指向的Token鏈表存入文件"Tokenlist"中*/
 ChainToFile(chainHead);

 /*釋放鏈表*/
while (chainHead!=NULL)
 { 
	tempNode=chainHead->nextToken;
    free(chainHead);  
    chainHead=tempNode; 
 }

}
/* 詞法分析函數結束 */









?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色哟哟国产精品免费观看| 精品久久99ma| 精品久久久三级丝袜| 国产精品情趣视频| 日本aⅴ免费视频一区二区三区| 成人中文字幕电影| 欧美tickling网站挠脚心| 一区二区三区国产精华| 高清成人免费视频| 精品国产乱码久久久久久牛牛| 亚洲美女免费视频| 国产不卡免费视频| 精品国精品自拍自在线| 日产欧产美韩系列久久99| 色婷婷激情综合| 一区在线观看视频| 成人午夜激情视频| 久久精品欧美日韩| 久久国产生活片100| 91精品免费观看| 午夜国产精品影院在线观看| 日本韩国一区二区三区视频| 综合电影一区二区三区| 高清在线观看日韩| 日本一区二区不卡视频| 国产在线一区二区| www激情久久| 麻豆成人综合网| 日韩美女主播在线视频一区二区三区| 亚洲影视在线播放| 欧美三级一区二区| 亚洲成av人**亚洲成av**| 欧美亚洲精品一区| 亚洲电影中文字幕在线观看| 欧美日韩视频在线观看一区二区三区 | 精品三级在线观看| 毛片不卡一区二区| 亚洲精品在线一区二区| 韩国av一区二区三区四区| 久久嫩草精品久久久久| 国产成人综合亚洲网站| 中文字幕乱码久久午夜不卡| 成人av资源下载| 亚洲色图一区二区| 欧美亚洲免费在线一区| 图片区小说区区亚洲影院| 欧美一区二区不卡视频| 国产真实精品久久二三区| 国产精品女人毛片| 91精品办公室少妇高潮对白| 天堂av在线一区| 精品国产乱码久久久久久图片| 国产二区国产一区在线观看| 成人欧美一区二区三区小说| 91蝌蚪国产九色| 日韩一区精品视频| 久久精品人人做人人爽97| 色婷婷亚洲一区二区三区| 婷婷成人综合网| 国产日韩精品一区| 在线区一区二视频| 久久se精品一区精品二区| 国产精品伦理在线| 91.xcao| 丁香天五香天堂综合| 亚洲国产裸拍裸体视频在线观看乱了 | 日韩一区二区高清| 成人毛片视频在线观看| 亚洲一区二区在线免费观看视频| 欧美一区二区三区系列电影| 成人黄色777网| 偷拍自拍另类欧美| 国产精品久久久久影院亚瑟| 91精品国产综合久久国产大片| 国产成a人无v码亚洲福利| 亚洲一区二区三区影院| 国产日韩av一区| 欧美日韩高清影院| 成人av集中营| 久99久精品视频免费观看| 亚洲欧美综合色| 欧美精品一区二区三区四区| 色综合久久久久综合体桃花网| 极品少妇xxxx精品少妇| 亚洲一级二级在线| 国产女人18毛片水真多成人如厕| 欧美久久久久久久久久| av午夜一区麻豆| 国产一区 二区 三区一级| 午夜久久久久久久久久一区二区| 国产精品嫩草99a| 久久综合九色综合欧美98| 欧美日韩国产色站一区二区三区| av一区二区三区| 国产91丝袜在线18| 久久av老司机精品网站导航| 亚洲电影一区二区| 一区二区三区欧美| 国产精品毛片久久久久久| 精品国产凹凸成av人导航| 欧美一区二区福利在线| 欧美三级在线看| 欧美天天综合网| 色综合网色综合| caoporm超碰国产精品| 国产精品99久久不卡二区| 久久99国产精品尤物| 天堂久久久久va久久久久| 亚洲成人综合网站| 夜夜爽夜夜爽精品视频| 亚洲人成7777| 亚洲欧美偷拍卡通变态| 国产精品成人免费精品自在线观看| 久久久亚洲精华液精华液精华液| 精品国产污网站| 久久嫩草精品久久久精品一| 久久综合精品国产一区二区三区 | 日本不卡不码高清免费观看| 午夜精品一区二区三区免费视频 | 欧美一区永久视频免费观看| 欧美日韩精品欧美日韩精品 | 91在线视频在线| 91在线视频网址| 欧美午夜精品理论片a级按摩| 在线观看www91| 欧美日韩黄视频| 日韩无一区二区| 欧美精品一区二区三区在线| 欧美国产97人人爽人人喊| 亚洲色图一区二区| 亚洲二区在线视频| 美女免费视频一区| 国产高清久久久| 91丨九色porny丨蝌蚪| 欧美日韩久久久久久| 精品精品国产高清a毛片牛牛| 欧美韩国日本综合| 一区二区三区电影在线播| 日韩电影网1区2区| 国产成人综合视频| 色综合久久66| 欧美成人三级在线| 国产精品少妇自拍| 一区二区三区四区国产精品| 日韩av一级片| 成人黄色小视频| 欧美剧情片在线观看| 久久精品夜色噜噜亚洲a∨| 亚洲三级免费观看| 蜜桃视频一区二区三区在线观看| 国产精品99久久久久久有的能看| 一道本成人在线| 欧美videossexotv100| 国产精品超碰97尤物18| 日韩av中文字幕一区二区| 东方欧美亚洲色图在线| 欧美另类一区二区三区| 国产日韩视频一区二区三区| 亚洲国产成人va在线观看天堂| 激情都市一区二区| 欧美日韩一区二区欧美激情| 久久久久青草大香线综合精品| 亚洲一区二区在线视频| 国产成人免费视| 欧美一卡二卡三卡四卡| 亚洲视频在线观看一区| 麻豆国产欧美日韩综合精品二区| 色诱视频网站一区| 久久精品亚洲一区二区三区浴池| 亚洲国产成人91porn| proumb性欧美在线观看| 欧美成人一区二区三区在线观看 | 国产精品欧美一区喷水| 青娱乐精品视频| 在线观看www91| 国产精品成人在线观看| 激情图片小说一区| 欧美日产在线观看| 亚洲另类春色国产| 高清不卡在线观看| 国产亚洲自拍一区| 久久99久久99精品免视看婷婷| 欧美日韩国产乱码电影| 亚洲理论在线观看| 91亚洲精品久久久蜜桃| 中文字幕成人在线观看| 久久福利视频一区二区| 日韩欧美一区二区三区在线| 亚洲第一主播视频| 在线观看精品一区| 亚洲一区免费观看| 91国产免费观看| 伊人色综合久久天天人手人婷| 不卡大黄网站免费看| 国产精品美女久久久久久2018 | 午夜a成v人精品| 欧美性xxxxxx少妇| 亚洲va国产天堂va久久en| 在线观看免费成人| 亚洲一区二区三区激情|