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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? scan.cpp

?? 用VC++實現(xiàn)了一個編譯器的功能
?? CPP
字號:

#include "scanner.h"
#include <iostream>
using namespace std;

#define TOKEN_LEN 100
unsigned int LineNo;
static FILE *InFile;
static char TokenBuffer[TOKEN_LEN];

extern int InitScanner(const char *FileName)
{   LineNo = 1;
    InFile = fopen(FileName,"r");
	if(InFile != NULL)    return 1;
	else     return 0;
}


extern void CloseScanner(void)
{   if(InFile != NULL)
        fclose(InFile);
}


static char GetChar(void)
{   int Char = getc(InFile);
        return toupper(Char);
}

static void BackChar(char Char)
{  if(Char != EOF)  
         ungetc(Char,InFile);
}


static void AddCharTokenString(char Char)
{   int TokenLength = strlen(TokenBuffer);
    if(TokenLength+1 >= sizeof(TokenBuffer))
		return;
    TokenBuffer[TokenLength] = Char;
	TokenBuffer[TokenLength+1] = '\0';
}


static void EmptyTokenString()
{   memset(TokenBuffer,0,TOKEN_LEN);  }


static Token JudgeKeyToken(const char * IDString)
{   
    for (int i=0; i < sizeof(TokenTab)/sizeof(TokenTab[0]); i++)
	{  if(strcmp(TokenTab[i].lexeme,IDString) == 0)
	           return TokenTab[i];
	}
	Token errortoken;
	memset(&errortoken,0,sizeof(Token));
	errortoken.type = ERRTOKEN;
	return errortoken;
}


extern Token GetToken(void)
{  Token token;
   int Char;
   memset(&token,0,sizeof(Token));
   EmptyTokenString();
   token.lexeme = TokenBuffer;
   for(;;)
   {  Char = GetChar();
      if(Char == EOF)
	  {   token.type = NONTOKEN;
	      return token;
	  }
	  if(Char == '\n')    LineNo++;
	  if(!isspace(Char))    break;
   }
   AddCharTokenString(Char);

   if(isalpha(Char))
   {   while(1)
   {   Char = GetChar();
       if(isalnum(Char))   
		   AddCharTokenString(Char);
	   else    break;
   }
     BackChar(Char);
	 token = JudgeKeyToken(TokenBuffer);
	 token.lexeme = TokenBuffer;
	 return token;
   }

   else if(isdigit(Char))
   {   while(1)
   {   Char = GetChar();
       if(isdigit(Char))    AddCharTokenString(Char);
	      else   break;
   }
   if(Char == '.')
   {  AddCharTokenString(Char);
       while(1)
	   {  Char = GetChar();
	      if(isdigit(Char))
			  AddCharTokenString(Char);
		  else    break;
	   }
   }
   BackChar(Char);
   token.type = CONST_ID;
   token.value = atof(TokenBuffer);
   return token;
   }

   else
   {   switch(Char)
   {    case';':  token.type = SEMICO;  break;
        case'(':  token.type = L_BRACKET; break;
		case')':  token.type = R_BRACKET;  break;
		case',':  token.type = COMMA;   break;
		case'+':  token.type = PLUS;    break;
		case'-':
			Char = GetChar();
			if(Char == '-')
			{   while(Char != '\n' && Char != EOF)
			         Char = GetChar();
			    BackChar(Char);
			    return GetToken();
			}
			else
			{  BackChar(Char);
			   token.type = MINUS;
			   break;
			}
		case'/':
			Char = GetChar();
			if(Char == '/')
			{    while(Char != '\n' && Char != EOF)
			          Char = GetChar();
			     BackChar(Char);
			     return GetToken();
			}
             	else
			{  BackChar(Char);
			   token.type = DIV;
			   break;
			}
		case'*':
            Char = GetChar();
			if(Char == '*')
			{    token.type = POWER;
			     break;
			}
             	else
			{  BackChar(Char);
			   token.type = MUL;
			   break;
			}
		default: token.type = ERRTOKEN;  break;
   }
   }

   return token;
}



/*void main()
{  Token token; 
   char *argv;
   argv = "text.txt";
  /* if(argc < 2)
   {  cout << "please input Source File!" << endl;
      return;
   }
   if(!InitScanner(argv))
   {  cout << "Open Source File Error!" << endl;
      return;
   }
   cout << "記號類別          字符串          常數(shù)值          函數(shù)指針" << endl;
   while(1)
   {   token = GetToken();
       if(token.type != NONTOKEN)
		   cout << token.type << "          " << token.lexeme << "          " << token.value << "          " << token.FuncPtr << endl;
	   else
		   break;
   };
   cout << "_______________________________________________________________" << endl;
   CloseScanner();
}*/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合九色综合97婷婷女人 | 成人听书哪个软件好| 99久久精品99国产精品| 欧美精品xxxxbbbb| 亚洲色图色小说| 国产精品小仙女| 欧美一级久久久| 亚洲综合免费观看高清完整版在线 | 欧美影视一区二区三区| 国产精品视频yy9299一区| 精品一区二区日韩| 欧美精品xxxxbbbb| 亚洲国产美国国产综合一区二区| 国产成人午夜视频| 久久蜜臀精品av| 国产在线一区观看| 久久综合九色综合欧美就去吻| 视频一区在线播放| 欧美日韩国产a| 一区二区三区四区激情| 99久久er热在这里只有精品66| 26uuu精品一区二区在线观看| 久久精品国产第一区二区三区| 欧美精品精品一区| 午夜精品久久久久久久久久| 欧美视频在线一区二区三区| 亚洲无人区一区| 欧美网站大全在线观看| 五月天激情综合| 欧美日本免费一区二区三区| 香蕉影视欧美成人| 69久久99精品久久久久婷婷 | 欧美三级一区二区| 亚洲 欧美综合在线网络| 欧美亚洲自拍偷拍| 日韩电影网1区2区| 欧美tickling网站挠脚心| 精品一区二区三区免费观看| 久久久亚洲精华液精华液精华液| 韩国女主播成人在线观看| 国产午夜精品在线观看| 成人国产一区二区三区精品| 国产精品国产三级国产aⅴ中文| 99久久久无码国产精品| 亚洲综合免费观看高清完整版在线 | 久久久蜜桃精品| 成人sese在线| 亚洲国产一区二区a毛片| 欧美日韩不卡一区| 紧缚捆绑精品一区二区| 国产农村妇女毛片精品久久麻豆| 91麻豆6部合集magnet| 亚洲电影你懂得| 精品对白一区国产伦| 不卡av在线免费观看| 亚洲电影一区二区三区| 精品理论电影在线| 成人激情视频网站| 日韩精品免费视频人成| 国产日韩一级二级三级| 欧美性大战久久久久久久| 精品亚洲免费视频| 亚洲男人天堂av网| 欧美一区二区国产| 97精品久久久午夜一区二区三区| 香蕉加勒比综合久久| 国产欧美日韩在线| 欧美蜜桃一区二区三区| 国产99久久久久久免费看农村| 亚洲一区二区三区视频在线 | 精品日韩一区二区三区免费视频| 成人av网站在线观看| 午夜精品久久一牛影视| 国产片一区二区三区| 在线成人高清不卡| 99久久精品情趣| 精品一区二区三区在线播放视频| 亚洲摸摸操操av| 国产三级一区二区| 欧美日韩成人综合在线一区二区| 国产成人综合网| 麻豆一区二区在线| 夜夜嗨av一区二区三区| 国产嫩草影院久久久久| 日韩欧美国产一区二区三区| 色婷婷精品大在线视频| 国产精品99久久久久久久女警| 亚洲国产视频网站| 亚洲视频香蕉人妖| 久久久美女毛片| 日韩欧美视频在线| 欧美日韩精品一区二区| 91亚洲国产成人精品一区二区三| 久久99精品久久久久久| 日韩成人精品在线观看| 亚洲一区二区三区四区五区黄| 国产精品久线观看视频| 久久一日本道色综合| 日韩午夜小视频| 7777精品伊人久久久大香线蕉完整版 | 一区二区三区鲁丝不卡| 中文字幕色av一区二区三区| 久久久激情视频| 久久综合久久综合亚洲| 日韩欧美的一区二区| 91精品免费观看| 欧美人妖巨大在线| 欧美嫩在线观看| 欧美精品九九99久久| 欧美日韩一级视频| 欧美精品久久久久久久多人混战| 欧美亚洲综合一区| 欧美日韩激情在线| 欧美男男青年gay1069videost| 欧美日韩视频在线第一区| 欧美日韩一区国产| 91精品国产综合久久久久久久 | 国产91丝袜在线播放0| 国产在线一区观看| 国产乱人伦精品一区二区在线观看| 久久成人综合网| 国产成人免费av在线| 成人精品免费网站| 色吧成人激情小说| 欧美男生操女生| 精品久久久久久久久久久久久久久久久| 日韩精品一区二区三区swag| 欧美成va人片在线观看| 久久丝袜美腿综合| 国产精品毛片大码女人| 亚洲免费成人av| 午夜精品久久久久久| 久久精品国产色蜜蜜麻豆| 国产不卡视频一区二区三区| 91香蕉视频在线| 欧美一区二区黄色| 欧美国产精品专区| 一二三四区精品视频| 久久激五月天综合精品| 不卡电影免费在线播放一区| 欧美三片在线视频观看| 日韩欧美在线影院| 国产精品国产三级国产aⅴ入口 | 亚洲与欧洲av电影| 日本不卡一区二区三区高清视频| 精品一区二区三区蜜桃| 97精品国产97久久久久久久久久久久| 精品视频在线看| 国产精品天干天干在观线| 亚洲国产人成综合网站| 国产精品一二一区| 欧美日韩国产电影| 国产精品久久福利| 日本不卡一二三| 色婷婷久久综合| 久久久久久免费| 性欧美疯狂xxxxbbbb| 丁香婷婷深情五月亚洲| 欧美一区二区成人6969| 亚洲欧美另类小说| 国产在线不卡一区| 欧美日韩一级片在线观看| 国产精品激情偷乱一区二区∴| 日韩国产高清影视| 91传媒视频在线播放| 国产欧美日韩三级| 老司机免费视频一区二区三区| 在线观看视频一区二区 | 丝袜美腿一区二区三区| 成人av网站在线观看免费| 日韩欧美久久久| 亚洲狠狠爱一区二区三区| av高清不卡在线| 久久嫩草精品久久久精品一| 日韩av二区在线播放| 91成人免费网站| 国产精品久久三区| 国产99久久久久久免费看农村| 日韩一级大片在线| 午夜私人影院久久久久| 色视频成人在线观看免| 亚洲欧洲国产日本综合| 岛国精品在线观看| 久久久www成人免费毛片麻豆| 蜜臀av一区二区在线观看| 欧美久久一区二区| 一区二区三区中文字幕电影 | 成人h动漫精品一区二区| 久久久国产精品午夜一区ai换脸| 日本成人在线不卡视频| 日韩一区二区三区电影 | 亚洲综合免费观看高清完整版| 成人午夜大片免费观看| 日本一区二区三区在线观看| 国产精品18久久久久久vr | 日韩一区二区在线播放| 日韩黄色免费网站| 这里只有精品免费| 久久爱另类一区二区小说| 精品国产1区二区|