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

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

?? cpp2.cpp

?? 三個(gè)關(guān)于編譯原理的課程設(shè)計(jì)
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
#include<stdio.h>
#include<string.h>





int start=0,state=0;
char A[200];//A存放原代碼
char B[16][10]={{" "},{"void"},{"main"},{"int"},{"float"},{"char"},{"if"},{"else"},{"switch"},{"case"},
{"while"},{"for"},{"do"},{"continue"},{"break"},{"return"}};//B存放關(guān)鍵字
int e=0;//e記錄已掃描原代碼的個(gè)數(shù)
char C[20][10];//C存放標(biāo)識(shí)符
int r=1;//r記錄已存標(biāo)識(shí)符的個(gè)數(shù)
float D[20];//存放常數(shù)
int u=1;//記錄已存放常數(shù)的個(gè)數(shù)
char E[23][10]={{" "},{"-"},{"+"},{"*"},{"/"},{"%"},{"="},{"!"},{"<"},{">"},{"&"},{"|"},{","},{"("},
{")"},{"["},{"]"},{"=="},{">="},{"<="},{"!="},{"&&"},{"||"}};//存放運(yùn)算符
char F[4]={' ',';','{','}'};//存放界符





typedef struct
{char name[10];
 int address;
}node;
node two[50];//存放原代碼的二元組
int v=0;//v記錄已存二元組的個(gè)數(shù)





int fail()
{
    switch(state)
	{case 0: start=1;break;
	 case 4: start=0;break;
	 case 1: start=5;break;
	 case 14: start=0;break;
	 case 5: start=15;break;
     case 19: start=0;break;
	 case 15: start=20;break;
	 case 23: start=0;break;
	}
    return start;
}







char nextchar()
{char c;
 c=A[e];
 e=e+1;
 return c;
}




int isletter(char s)
{if(((s>='a')&&(s<='z'))||((s>='A')&&(s<='Z')))
     return 1;
 else
	 return 0;
}





int isdigit(char s)
{if((s>='0')&&(s<='9'))
     return 1;
 else
	 return 0;
}





int GorB(char s[10])
{int i;
 for(i=0;i<16;i++)
 {
	 if(strcmp(B[i],s)==0)
	 
	  break;
	 
 }
 if(i==16)
	 return 0;
 else
     return i;
}




void important(int t,char s[10])
{printf("%s 關(guān)鍵字\n",s);
 int i;
 for(i=0;i<10;i++)
 two[v].name[i]=s[i];
 two[v].address=t;
 v=v+1;
}




void mark(char s[10])
{printf("%s 標(biāo)識(shí)符\n",s);
 int j;
 for(j=1;j<r;j++)
  if(strcmp(C[j],s)==0)
  {int t;
   for(t=0;t<10;t++)
		two[v].name[t]=s[t];
   two[v].address=j;
   v=v+1;
   break;
  }
 if(j==r)
 {int i;
  for(i=0;i<10;i++)
  {C[r][i]=s[i];
   two[v].name[i]=s[i];
  }
  two[v].address=r;
  v=v+1;
  r=r+1;
 }
}





void cunbiao(char h[10],float k)
{int j;
 for(j=1;j<u;j++)
  if(D[j]==k)
  {int t;
   for(t=0;t<10;t++)
		two[v].name[t]=h[t];
   two[v].address=j;
   v=v+1;
   break;
  }
 if(j==u)
 {int i;
  for(i=0;i<10;i++)
  {D[u]=k;
   two[v].name[i]=h[i];
  }
  two[v].address=u;
  v=v+1;
  u=u+1;
 }
}






void digit(char s[10])
{int i,j;
 char L[10];
 float zhengshu=0.0;
 float result=0.0;
 float xiaoshu=0;
 int jishu=0;
 if(s[0]=='-')
 {i=1;
  while(s[i]!='\0')
  {
	  if(isdigit(s[i]))
	  {L[i]=s[i];
	   i=i+1;
	  }
	  else
	      break;
  }
 int k;
 for(k=1;k<i;k++)
      zhengshu=zhengshu*10+(L[k]-'0');
 result=zhengshu;
 if(s[i]=='.')
 {i=i+1;
  k=i;
  while(s[i]!='\0')
  {
	  if(isdigit(s[i]))
	  {L[i]=s[i];
	   i=i+1;
	  }
	  else
	      break;
  }
  int t;
  for(t=i-1;t>=k;t--)
	  xiaoshu=xiaoshu/10+(float)(L[t]-'0')/10;
  result=zhengshu+xiaoshu;
 }
 if(s[i]=='e')
 {i=i+1;
  if(s[i]=='-')
  {int a;
   i=i+1;
   a=i;
   while(s[i]!='\0')
   {L[i]=s[i];
    i=i+1;
   }
   while(a<i)
   {jishu=jishu*10+(L[a]-'0');
    a=a+1;
   }
   int b;
   for(b=0;b<jishu;b++)
	   result=result/10;
  }
  else
  {int c=i;
   while(s[i]!='\0')
   {L[i]=s[i];
    i=i+1;
   }
   while(c<i)
   {jishu=jishu*10+(L[c]-'0');
    c=c+1;
   }
   int d;
   for(d=0;d<jishu;d++)
	   result=result*10;
  }
 }
 result=0-result;
 }
 else
 {j=0;
  while(s[j]!='\0')
  {
	  if(isdigit(s[j]))
	  {L[j]=s[j];
	   j=j+1;
	  }
	  else
	      break;
  }
  int x;
  for(x=0;x<j;x++)
      zhengshu=zhengshu*10+(L[x]-'0');
  result=zhengshu;
  if(s[j]=='.')
  {j=j+1;
   x=j;
   while(s[j]!='\0')
   {
	  if(isdigit(s[j]))
	  {L[j]=s[j];
	   j=j+1;
	  }
	  else
	      break;
   }
   int y;
   for(y=j-1;y>=x;y--)
	  xiaoshu=xiaoshu/10+(float)(L[y]-'0')/10;
   result=zhengshu+xiaoshu;
  }
  if(s[j]=='e')
  {j=j+1;
   if(s[j]=='-')
   {int z;
    j=j+1;
    z=j;
    while(s[j]!='\0')
    {L[j]=s[j];
     j=j+1;
    }
    while(z<j)
    {jishu=jishu*10+(L[z]-'0');
     z=z+1;
    }
    int n;
    for(n=0;n<jishu;n++)
	   result=result/10;
   }
  else
  {int m=j;
   while(s[j]!='\0')
   {L[j]=s[j];
    j=j+1;
   }
   while(m<j)
   {jishu=jishu*10+(L[m]-'0');
    m=m+1;
   }
   int h;
   for(h=0;h<jishu;h++)
	   result=result*10;
  }
 }
 }
 printf("%f    數(shù)字\n",result);
 cunbiao(s,result);
}
 




int isyunsuanfu1(char s)
{char L[10];
 L[0]=s;
 L[1]='\0';
 int j=1;
 while(j<23)
 {if(strcmp(E[j],L)==0)
      break;
  else
	  j=j+1;
 }
 if(j==23)
	 return 0;
 else
	 return j;
}





int isyunsuanfu2(char s[10])
{int j=1;
 while(j<23)
 {if(strcmp(E[j],s)==0)
      break;
  else
	  j=j+1;
 }
 if(j==23)
	 return 0;
 else
	 return j;
}





void yunsuanfu(char s[10],int t)
{printf("%s 運(yùn)算符\n",s);
 int i;
 for(i=0;i<10;i++)
 two[v].name[i]=s[i];
 two[v].address=t;
 v=v+1;
}




int isjiefu(char s)
{int i=1;
 while(i<4)
 {if(F[i]==s)
      break;
  else
	  i=i+1;
 }
 if(i==4)
	 return 0;
 else
	 return i;
 
}





void jiefu(char s[10],int t)
{printf("%s 界符\n",s);
 int i;
 for(i=0;i<10;i++)
 two[v].name[i]=s[i];
 two[v].address=t;
 v=v+1;
}






void nexttaken()
{
	char L[10];//L存放以掃描的字符
	int i=0; 
	//L[i]='\0';
    int j=0;
	int k;
	int p,q;
	int h;
	char c;
	while(1){
		switch(state){
		   case 0:
			   c=nextchar();//nextchar()為獲得一下個(gè)字符
			   if(c==' ')//)||(c==13)||(c==10))
			   {state=0;
			    break;
			   }
			   else
				   if(c=='#')//#為原程序結(jié)束標(biāo)志
				   {j=1;
				    break;
				   }
				   else
				   {state=fail();//fail()為切換狀態(tài)表
				    e=e-1;
			        break;
				   }
		   case 1:
			   c=nextchar();
			   if(isletter(c))//isletter()為判斷是否為字母
			   {state=2;
			    L[i]=c;
				i=i+1;
			    break;
			   }
			   else
				   if(c=='#')
				   {L[i]='\0';
					j=1;
				    break;
				   }
				   else
				   {state=fail();
				    e=e-1;
			        break;
				   }
		   case 2:
			   c=nextchar();
			   if(isletter(c)||isdigit(c))//isdigit()為判斷是否為數(shù)字
			   {state=2;
			    L[i]=c;
				i=i+1;
				break;
			   }
			   else
				   if(c=='#')
				   {L[i]='\0';
                    if(k=GorB(L))//GorB()判斷是否為關(guān)鍵字
						important(k,L);//important()輸出關(guān)鍵字并將起存放
					else
					    mark(L);//mark()輸出標(biāo)識(shí)符并將起存放(兩個(gè)表)
					j=1;
				    break;
				   }
				   else
					   if(c==' ')
					   {state=4;
					    L[i]='\0';
					    if(k=GorB(L))//GorB()判斷是否為關(guān)鍵字
						{//L[i]='\0';
						 important(k,L);//important()輸出關(guān)鍵字并將起存放
						 i=0;}
					    else
						{//L[i]='\0';
                         mark(L);//mark()輸出標(biāo)識(shí)符并將起存放
						 i=0;
						}
					    break;
					   }
					   else
					   {L[i]=c;
					    i=i+1;
						state=3;
			            break;
					   }
		   case 3:
			   c=nextchar();
			   if(c=='#')
			   {L[i]='\0';
			    printf("%s 錯(cuò)誤\n",L);
				j=1;
			    break;
			   }
			   else
				   if(c==' ')
				   {state=4;
				    L[i]='\0';
				    printf("%s 錯(cuò)誤\n",L);
					i=0;
                    break;
				   }
				   else
				   {state=3;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区三区99| 欧美不卡一二三| 免费视频最近日韩| 中文字幕第一页久久| 丰满亚洲少妇av| 亚洲久草在线视频| 日韩一二三四区| 成人高清在线视频| 日本免费新一区视频| 久久久久国产精品人| 欧美三级电影一区| 国产成人午夜片在线观看高清观看| 亚洲三级在线播放| 久久久久88色偷偷免费| 欧美日精品一区视频| 国产精品亚洲午夜一区二区三区 | 4438x成人网最大色成网站| 国产一区二区免费视频| 一区二区视频免费在线观看| 日韩欧美国产麻豆| 欧美在线free| 成人激情动漫在线观看| 美女一区二区视频| 亚洲一区在线看| 国产精品色哟哟| 久久精品亚洲一区二区三区浴池| 欧美日韩免费观看一区三区| 成人avav影音| 国产一区二区三区免费播放| 天天综合色天天综合色h| 中文字幕欧美一区| 欧美一级国产精品| 欧美日韩午夜在线视频| av福利精品导航| 国产伦精一区二区三区| 美日韩一区二区三区| 亚洲午夜电影在线观看| 亚洲欧美综合在线精品| 2024国产精品视频| 日韩你懂的在线播放| 欧美日韩免费一区二区三区视频| 色婷婷国产精品久久包臀 | 91色porny蝌蚪| 国产精品911| 久久99国产精品久久| 日韩电影在线免费看| 视频在线观看一区二区三区| 亚洲精品成a人| 夜夜爽夜夜爽精品视频| 国产精品久久久久影院色老大 | 亚洲精品成人悠悠色影视| 国产精品久线在线观看| 中文幕一区二区三区久久蜜桃| 久久综合色婷婷| 国产欧美一区二区三区网站 | 亚洲免费资源在线播放| 欧美精品一区二区三区高清aⅴ | 日本福利一区二区| 99在线精品视频| 成人免费毛片app| 岛国一区二区在线观看| 成人毛片视频在线观看| 成人av小说网| 99re亚洲国产精品| 色综合天天综合色综合av| 色婷婷久久久久swag精品| 欧美性xxxxx极品少妇| 欧美日韩国产系列| 欧美一区二区在线免费播放| 欧美一级高清大全免费观看| 欧美午夜精品久久久久久孕妇 | 日日夜夜一区二区| 天天免费综合色| 麻豆成人久久精品二区三区红 | 国产精品成人在线观看| 中文字幕一区免费在线观看| 一区二区三区欧美久久| 香蕉成人啪国产精品视频综合网| 石原莉奈一区二区三区在线观看| 亚洲免费视频中文字幕| 亚洲国产中文字幕在线视频综合| 午夜精品久久久久久久99樱桃 | 久久亚洲精品小早川怜子| 欧美精彩视频一区二区三区| 国产日产精品一区| 最好看的中文字幕久久| 亚洲一级二级三级在线免费观看| 亚洲免费伊人电影| 午夜欧美视频在线观看| 麻豆传媒一区二区三区| av成人老司机| 欧美精品视频www在线观看| 久久这里都是精品| 亚洲女人小视频在线观看| 日本中文在线一区| 国内成+人亚洲+欧美+综合在线| 精品一区二区三区免费| 北条麻妃国产九九精品视频| 色成年激情久久综合| 欧美精品粉嫩高潮一区二区| 精品国产免费人成在线观看| 自拍视频在线观看一区二区| 日本少妇一区二区| 成人久久久精品乱码一区二区三区| 91丨九色丨尤物| 欧美日韩三级一区二区| 国产欧美日韩视频一区二区| 亚洲小说欧美激情另类| 国产高清亚洲一区| 欧美亚洲精品一区| 亚洲国产精品成人综合色在线婷婷| 亚洲电影视频在线| 不卡的av网站| 欧美成人欧美edvon| 一区在线观看视频| 亚洲精选一二三| 蜜桃视频一区二区| 在线欧美日韩精品| 久久蜜桃香蕉精品一区二区三区| 国产欧美日产一区| 日韩欧美一区在线观看| 2021国产精品久久精品| 久久综合成人精品亚洲另类欧美| 一区二区三区久久久| 美女在线一区二区| 欧美中文字幕不卡| 亚洲天堂成人在线观看| 亚洲女爱视频在线| 99久久婷婷国产| 日本一区二区在线不卡| 精品制服美女丁香| 欧美一区二区精品在线| 欧美日韩高清一区二区不卡| 久久草av在线| 欧洲日韩一区二区三区| 日本一区二区三区高清不卡| 蜜臀99久久精品久久久久久软件| 91国产丝袜在线播放| 最新欧美精品一区二区三区| 国产精品一区三区| 久久久亚洲高清| 日韩电影在线免费观看| 欧美日韩成人综合| 亚洲美女免费视频| 精品无人区卡一卡二卡三乱码免费卡| 欧美日韩视频不卡| 污片在线观看一区二区 | 麻豆成人久久精品二区三区红 | 丝袜美腿亚洲一区| 不卡电影一区二区三区| 国产精品久久久久影院亚瑟| 成人理论电影网| www精品美女久久久tv| 国内精品久久久久影院色| 精品国产伦理网| 精品一区中文字幕| 精品福利在线导航| 国产精品羞羞答答xxdd| 欧美激情一区二区三区蜜桃视频| 久久99国产精品免费网站| 欧美α欧美αv大片| 狠狠色狠狠色综合日日91app| 欧美日韩国产大片| 国产综合色产在线精品| 国产日韩欧美综合一区| 成人精品视频.| 亚洲图片你懂的| 欧美日韩国产成人在线91| 亚洲国产视频a| 91麻豆福利精品推荐| 亚洲国产你懂的| 欧美一区午夜精品| 国产精品小仙女| 国产精品国产三级国产普通话99 | 欧美成人一区二区三区片免费 | 91久久精品午夜一区二区| 一区二区三区在线看| 欧美日本精品一区二区三区| 手机精品视频在线观看| 2021中文字幕一区亚洲| 亚洲成人第一页| 2023国产精华国产精品| 97精品电影院| 国产一区二区三区观看| 欧美色综合久久| 美女诱惑一区二区| 欧美国产乱子伦| 欧美色精品天天在线观看视频| 日韩极品在线观看| 国产欧美日韩另类一区| 欧美色精品天天在线观看视频| 毛片av中文字幕一区二区| 欧美精品一区二区高清在线观看| 国产精品99久| 亚洲一二三四在线| 国产免费久久精品| 欧美久久久久久蜜桃| 成人sese在线| 蜜桃一区二区三区四区| 亚洲午夜精品网|