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

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

?? 編譯原理.cpp

?? 采用算符優先分析法
?? CPP
字號:
// 編譯原理.cpp : 定義控制臺應用程序的入口點。
//

#include "stdafx.h"


/****************************************/
/*    算符優先分析程序 */
/****************************************/ 

struct Lchar
{
  char char_ch;
  struct Lchar *next;
}LLchar,*p,*h,*temp,*top,*base;
int table[7][7]={{0,1,1,1,0,1,1},
    {-1,1,0,-1,-1,1,1},
    {-1,-1,0,-1,-1,0,1},
    {-1,1,0,1,-1,1,1},
    {-1,-1,0,-1,-1,0,0}, 
    {0,1,0,1,0,1,1},
	{-1,0,-1,0,0,0,-1}};
//存儲算符優先關系表,大于為1,小于或等于為-1,其它為0表示出錯
char curchar;
char curcmp;
int right;  /*設置開關項,當出錯時為0*/ 
int i,j; 
int k;      /*比較字符在棧的位置*/
void push(char pchar)  /*入棧函數*/ 
{
 temp=(Lchar*)malloc(sizeof(LLchar)); 
 temp->char_ch=pchar; 
 temp->next=top; 
 top=temp;
} 
char pop(void)  /*出棧函數*/ 
{
 char c;
 c=top->char_ch;
 if(top->char_ch!='#') {
	top=top->next; 
 }
 return c;

} 
int changchartoint(char ch)  /*將字符轉為數字,以得到算符優先值*/ 
{ 
 int t; 
 switch(ch)
 { 
  case 'i':t=0;break; 
  case '+':t=1;break; 
  case '=':t=2;break;
  case '*':t=3;break; 
  case '(':t=4;break; 
  case ')':t=5; break;
  case '#': t=6;
 } 
 return t; 
}
void guiyue(){
	char tempc;
	char tempc1;
	char tempc2;
	char tempc3;
	char popc;
	tempc =	pop();
	tempc1=pop();
	if(tempc=='i')
	{
		
		if(tempc1=='#')
		{
			push('V');
			k=1;
		}
		else {
				
				switch(tempc1){
				case '+':popc='T';break;
				case '*':popc='F';break;
				case '=':popc='E';
				}
				push(tempc1);
				push(popc);
				k=1;
			}

	}
	else
	{ 
		if(tempc=='F'){
			tempc2=pop();
				if(tempc1=='*'&&tempc2=='T'){
					push('T');
				}
				else
					right=0;
			}
		else if(tempc=='T'){
			tempc2=pop();
			if(tempc1=='+'&&tempc2=='E'){
					push('E');
				}
			else
			right=0;
		}
        else if(tempc=='E'){
			tempc2=pop();
			if(tempc1=='='&&tempc2=='V'){
					push('A');
				}
			else
			right=0;
		}
		else if(tempc=='A'){
			tempc2=pop();
			if(tempc2!='#'){
				right=0;
			}
		}
		else if(tempc=='='){
			tempc2=pop();
			if(tempc1=='V'&&tempc2=='E'){
				push('A');
				
			}
			else right=0;
		}
		
    }			
}
void dosome(void) 
{ 
 k=1;
 for(;;) 
 { 
  curchar=h->char_ch; 
  temp=top;
  if(temp->char_ch=='A'){
	break;
  }
  else {
  for(;;) 
  { 
   if(temp->char_ch=='V'||temp->char_ch=='E'||temp->char_ch=='T'||temp->char_ch=='F'||temp->char_ch=='A'||temp->char_ch=='S') 
   {
    temp=temp->next; 
    k++; 
   } 
   else
   { 
    curcmp=temp->char_ch; 
    break; 
   }
  } 
  printf("\n%d\t%d\t",table[i][j],k); 
  temp=top; 
  for(;;)    /*打印棧*/
  { 
   printf("%c",temp->char_ch); 
   if(temp->char_ch=='#') 
    break;
   else 
    temp=temp->next; 
  } 
  printf("\t");
  temp=h; 
  for(;;)    /*打印待比較的字符*/ 
  { 
   printf("%c",temp->char_ch);
    
   if(temp->char_ch=='#') 
    break; 
   else
    temp=temp->next; 
  } 
  i=changchartoint(curcmp); 
  j=changchartoint(curchar);
  if(table[i][j]==0)  /*算符優先值為空*/ 
  { 
   printf("\n%d\t%d\t%c\t%c\terror1",table[i][j],k,curcmp,curchar); 
   right=0;
   break; 
  } 
  else                 /*算符優先值不為空*/ 
  {
   if(table[i][j]<0)   /*算符優先值為-1,移進*/ 
   { 
    if(curchar=='#')   /*待比較字符為空*/ 
    {
     if(k==2)          /*當前比較字符在棧的位置為兩個元素*/ 
      break; 
     else 
     {
      printf("\n%d\t%d\t%c\t%c\terror2",table[i][j],k,curcmp,curchar); 
      right=0; 
      break; 
     }
    } 
    push(curchar); 
    k=1; 
    curcmp=curchar;
    h=h->next; 
   } 
   else              /*算符優先值為1,歸約*/ 
   {
    guiyue();
   } 
  }
  }
 } 
} 
void main(void) 
{
 char ch; 
 right=1; 
 base=(Lchar*)malloc(sizeof(LLchar)); 
 base->next=NULL;
 base->char_ch='#'; 
 top=base; 
 h=(Lchar*)malloc(sizeof(LLchar)); 
 h->next=NULL;
 p=h; 
 do{                 /*輸入待比較字符串,以'#'結束*/ 
  ch=getchar(); 
  putchar(ch);
   if(ch=='i'||ch=='+'||ch=='='||ch=='*'||ch=='('||ch==')'||ch=='#') 
  { 
   temp=(Lchar*)malloc(sizeof(LLchar)); 
   temp->next=NULL;
   temp->char_ch=ch; 
   h->next=temp; 
   h=h->next; 
  }
  else 
  { 
   temp=p->next; 
   printf("\nInput a wrong char!Input again:\n");
   for(;;) 
   {     
    if (temp!=NULL) 
     printf("%c",temp->char_ch);
    else 
     break; 
    temp=temp->next; 
   }
  } 
 }while(ch!='#');      /*輸入待比較字符串,以'#'結束*/ 
 p=p->next; 
 h=p;
 dosome();             /*開始識別*/ 
 if(right) 
  printf("\nOK!\n"); 
 else
  printf("\nError!\n"); 
 getchar(); 
 getchar();
} 


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性极品少妇| 欧美亚洲一区二区在线| 成人av动漫在线| 欧美色精品在线视频| 久久亚洲春色中文字幕久久久| 中文字幕在线一区| 久草这里只有精品视频| 日韩av不卡一区二区| 日本欧美韩国一区三区| 99久久国产综合精品女不卡| 精品国产百合女同互慰| 亚洲欧美乱综合| 高清在线不卡av| 日韩视频国产视频| 中文字幕中文字幕在线一区| 国产成人综合自拍| 精品日本一线二线三线不卡| 日韩精品1区2区3区| 色综合久久九月婷婷色综合| 欧美国产乱子伦| 极品销魂美女一区二区三区| 欧美精品精品一区| 亚洲一二三四区不卡| 色综合久久久久网| 亚洲一区欧美一区| 99re这里只有精品6| 中文在线免费一区三区高中清不卡| 麻豆精品久久精品色综合| 日韩一区欧美小说| 婷婷中文字幕一区三区| 日本韩国欧美国产| 自拍偷拍欧美激情| 成人av网站免费观看| 26uuu国产电影一区二区| 另类小说视频一区二区| 欧美精品 国产精品| 亚洲成人av在线电影| 色成人在线视频| 亚洲福利视频一区| 777亚洲妇女| 免费观看在线综合| 精品久久人人做人人爽| 国产一区二三区好的| www国产亚洲精品久久麻豆| 久久99国产精品麻豆| 精品国产乱码久久久久久图片| 麻豆国产精品一区二区三区 | 国产精一区二区三区| 亚洲精品乱码久久久久久黑人 | 亚洲r级在线视频| 欧美日韩免费观看一区三区| 成人a区在线观看| 国产精品久久久久久久午夜片| 波多野结衣91| 一区二区三区免费网站| 欧美伦理视频网站| 久久激情五月婷婷| 久久亚洲捆绑美女| 99精品久久只有精品| 亚洲自拍欧美精品| 日韩三级在线观看| 国产成人av电影在线| 亚洲欧美一区二区三区国产精品| 在线观看www91| 久久成人免费网站| 亚洲欧美一区二区在线观看| 欧美专区日韩专区| 久久99精品一区二区三区三区| 国产欧美日产一区| 欧美体内she精视频| 精品无人码麻豆乱码1区2区| 亚洲欧洲av在线| 欧美精选一区二区| 国产一区二区三区香蕉| 成人免费在线视频观看| 欧美精品一二三| 成人午夜在线免费| 婷婷国产v国产偷v亚洲高清| 欧美激情一区二区三区蜜桃视频| 欧美少妇性性性| 国产91丝袜在线18| 一级精品视频在线观看宜春院| 欧美日韩aaaaa| 风间由美中文字幕在线看视频国产欧美| 亚洲靠逼com| 欧美极品xxx| 亚洲精选视频在线| www激情久久| 欧美电影免费观看高清完整版 | 国产精品日日摸夜夜摸av| 欧美性生活影院| 9久草视频在线视频精品| 另类人妖一区二区av| 一区二区三区在线视频免费 | 亚洲品质自拍视频网站| 日韩精品一区二区三区视频播放 | 国产精品白丝jk白祙喷水网站| 亚洲一区二区在线视频| 国产精品乱码人人做人人爱 | 欧美视频一区二区三区四区| 久久国产精品露脸对白| 亚洲精品久久久蜜桃| 国产女同互慰高潮91漫画| 日韩精品一区国产麻豆| 欧美伦理电影网| 欧美性生交片4| 91美女在线看| 成人app在线观看| 国产ts人妖一区二区| 韩国精品在线观看| 理论电影国产精品| 青青草国产精品亚洲专区无| 亚洲理论在线观看| 国产精品高潮呻吟| 国产精品国产三级国产aⅴ原创 | 国产乱一区二区| 韩日av一区二区| 精品一区二区三区免费播放| 美洲天堂一区二卡三卡四卡视频| 精品国偷自产国产一区| 不卡电影免费在线播放一区| 蜜臀av国产精品久久久久| 亚洲第一二三四区| 亚洲成av人在线观看| 亚洲成人tv网| 美女视频黄 久久| 精品一区二区在线看| 精品系列免费在线观看| 国产精品一区二区黑丝| 国产91在线观看| av一区二区三区在线| 色综合久久综合中文综合网| 欧美午夜片在线看| 91精品啪在线观看国产60岁| 精品国产免费一区二区三区四区 | 久久精品夜夜夜夜久久| 国产亚洲短视频| 中文字幕一区日韩精品欧美| 亚洲精品欧美专区| 日本欧美肥老太交大片| 国产美女娇喘av呻吟久久| 成人黄色av网站在线| 在线观看亚洲专区| 91精品国产综合久久久久久| 久久欧美中文字幕| 亚洲欧美日韩系列| 日韩黄色免费电影| 国产aⅴ综合色| 欧美日韩性生活| 国产欧美日韩另类视频免费观看| 国产精品理伦片| 日韩国产精品久久久久久亚洲| 六月丁香婷婷久久| 国产一区二区网址| 91年精品国产| 日韩欧美在线123| 日韩一区中文字幕| 另类专区欧美蜜桃臀第一页| 91亚洲男人天堂| 亚洲精品在线三区| 亚洲精品国产视频| 国产福利91精品一区| 欧美亚洲动漫制服丝袜| 久久久午夜电影| 亚洲第一电影网| 99精品在线观看视频| 一区二区三区在线观看国产| 精品一区精品二区高清| 91久久香蕉国产日韩欧美9色| 国产午夜精品一区二区三区视频| 亚洲图片一区二区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 中文字幕一区在线观看视频| 免费一级欧美片在线观看| 色综合欧美在线视频区| 久久久99精品久久| 欧美精品一区男女天堂| 国产欧美精品一区| 日本不卡的三区四区五区| 99久久99久久精品免费观看| 精品人伦一区二区色婷婷| 亚洲成人动漫在线观看| 91在线小视频| 欧美国产精品久久| 蜜桃免费网站一区二区三区| 欧美日韩另类一区| 日韩理论片在线| av电影一区二区| 日本一区免费视频| 国内成人自拍视频| 日韩免费观看高清完整版| 香蕉影视欧美成人| 欧美又粗又大又爽| 伊人性伊人情综合网| 成人性生交大片免费看在线播放| 精品福利二区三区| 久久99精品视频| 精品久久久久久久久久久院品网| 蜜臀精品一区二区三区在线观看| 欧美性猛片aaaaaaa做受|