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

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

?? yufa.cpp

?? IF-ELSE條件語句的翻譯程序設計(簡單優先法、輸出三地址表示) 要求完成的主要任務: (包括課程設計工作量及其技術要求
?? CPP
字號:
#include"string.h"
#include"iostream.h"
#include"stdio.h"
#include"conio.h"

#define OK 1
#define ERROR 0
#define FALSE 0
#define MAX 200
#define YES 1
#define NO 0
#define IF 2
#define ELSE 3
#define WHILE 4
#define DO 5
#define SWITCH 6
#define INT 22
#define CHAR 23
#define FLOAT 24
#define OTC 8
#define DEC 10
#define HEX 16
#define ASSIGN 20
#define SEMICOLON 21
#define AND 25
#define SUB 26
#define MUL 27
#define DIV 28
#define GT 29
#define LT 30
#define LP 31
#define RP 32
#define EQ 33
#define ID 34
#define CONST 35
#define THEN 36

int lookhead;

class word_analyse
{    int ch;
	 char code[MAX][MAX];
public:
	//word_analyse();
	int scan();
	int isletter(int ch);
	int isdigit(int ch);
	int isright(int ch);
	int iskeyword(char * ch);
	int isalpha(char * ch);
	int judge(char * ch);
	int yufa(int ch);
	int match(int ch);
	int fun_e();
	int fun_t();
	int fun_f();
	int fun_s();
	int fun_c();
};

int word_analyse::isletter(int ch)
{
	if(((ch>='a')&&(ch<='z'))||((ch>='A')&&(ch<='Z')))
		return(YES);
	else return(NO);
}

int word_analyse::isalpha(char * ch)
{
	if(((ch[0]>='a')&&(ch[0]<='z'))||((ch[0]>='A')&&(ch[0]<='Z')))
	{ cout<<"\n"<<"The ["<<ch<<"] is a identifier !"<<"\n";
	  return(YES);
	}
	else return(NO);
}

int word_analyse::isdigit(int ch)
{  if(((ch>='0')&&(ch<='9')))
	return(YES);
   else return(NO);
}

int word_analyse::isright(int ch)
{
   if(((ch>='0')&&(ch<='9'))||((ch>='a')&&(ch<='z'))
	   ||((ch>='A')&&(ch<='Z'))||(ch=='+')||(ch=='-')
	   ||(ch=='*')||(ch=='/')||(ch=='=')||(ch=='==')
	   ||(ch=='%')||(ch=='<')||(ch=='>')||(ch=='(')||(ch==')')||(ch==';'))
	    return(YES);
   else return(NO);
}

int word_analyse::iskeyword(char * ch)
{
  if((ch[0]=='i')&&(ch[1]=='n')&&(ch[2]=='t')&&(ch[3]==0))return(INT);
  if((ch[0]=='c')&&(ch[1]=='h')&&(ch[2]=='a')&&(ch[3]=='r')&&(ch[4]==0))return(CHAR);
  if((ch[0]=='f')&&(ch[1]=='l')&&(ch[2]=='o')&&(ch[3]=='a')&&(ch[4]=='t')&&(ch[5]==0))return(FLOAT);
  if((ch[0]=='i')&&(ch[1]=='f')&&(ch[2]==0))return(IF);
  if((ch[0]=='t')&&(ch[1]=='h')&&(ch[2]=='e')&&(ch[3]=='n')&&(ch[4]==0))return(THEN);
  if((ch[0]=='e')&&(ch[1]=='l')&&(ch[2]=='s')&&(ch[3]=='e')&&(ch[4]==0))return(ELSE);
  if((ch[0]=='w')&&(ch[1]=='h')&&(ch[2]=='i')&&(ch[3]=='l')&&(ch[4]=='e')&&(ch[5]==0))return(WHILE);
  if((ch[0]=='d')&&(ch[1]=='o')&&(ch[2]==0))return(DO);
  if((ch[0]=='s')&&(ch[1]=='w')&&(ch[2]=='i')&&(ch[3]=='t')&&(ch[4]=='c')&&(ch[5]=='h')&&(ch==0))return(SWITCH);
  return(ID);
}

int word_analyse::judge(char * ch)
{
     if((ch[0]=='0')&&((ch[1]>='0')&&(ch[1]<='7')))
	  {
		cout<<"\n"<<"This is a OTC number, OTC value is"<<"["<<ch<<"] !"<<"\n";
		return(OTC);
	  }
      if((ch[0]=='0')&&(ch[1]=='\0'))
	  { cout<<"\n"<<"This is a DEC number, DEC value is"<<"[0] !"<<"\n";
	    return(DEC);
	  }
	  if((ch[0]>='0')&&(ch[0]<='9')&&(ch[0]!='0'))
	  { cout<<"\n"<<"This is a DEC number, DEC value is"<<"["<<ch<<"] !"<<"\n";
	    return(DEC);
	  }
	  if((ch[0]=='0')&&(ch[1]=='x'))
	  { cout<<"\n"<<"This is a HEX number, HEX value is"<<"["<<ch<<"] !"<<"\n";
		return(HEX);
	  }
	return(OK);
}

int word_analyse::scan()
{   int i=0;
    int j=0;
	int x=1;
	ch=getc(stdin);
	while((ch==' ')||(ch==10))ch=getc(stdin);
	if((isright(ch)==NO)){ cout<<"\n"<<"ERROR"<<"\n"; return(ERROR); }
	ungetc(ch,stdin);
	while(x)
	{ ch=getc(stdin);
	 if((isletter(ch)==YES))
	 {  i=0;
	  while (isletter(ch)||isdigit(ch))
		{
			code[j][i]=ch;
			ch=getc(stdin);
			i++;
		}
		code[j][i]=0;
		ungetc(ch,stdin);
		if(ch==10)x=0;
		j++;
		return(iskeyword(code[j-1]));
	 }
     if((isdigit(ch)==YES))
	 {  i=0;
		while(isdigit(ch)||(ch=='x')||((ch>='a')&&(ch<='f')))
		{
			code[j][i]=ch;
			ch=getc(stdin);
			i++;
		}
		code[j][i]=0;
		ungetc(ch,stdin);
		j++;
		if(ch==10)x=0;
		return(judge(code[j-1]));
	 }
	if(ch==':')
	{    i=0;
	     code[j][i]=ch;
		 ch=getc(stdin);
		 if(ch=='='){ code[j][i++]=ch; code[j][i++]=0; j++; return(ASSIGN);}
	}
	switch(ch)
	   {
	   case'+':{ i=0; code[j][i]=ch; code[j][i++]=0; return(AND); }
	   case'-':{ i=0; code[j][i]=ch; code[j][i++]=0; return(SUB); }
	   case'*':{ i=0; code[j][i]=ch; code[j][i++]=0; return(MUL); }
	   case'/':{ i=0; code[j][i]=ch; code[j][i++]=0; return(DIV); }
	   case'=':{ i=0; code[j][i]=ch; code[j][i++]=0; return(EQ);  }
	   case'>':{ i=0; code[j][i]=ch; code[j][i++]=0; return(GT);  }
	   case'<':{ i=0; code[j][i]=ch; code[j][i++]=0; return(LT);  }
	   case'(':{ i=0; code[j][i]=ch; code[j][i++]=0; return(LP);  }
	   case')':{ i=0; code[j][i]=ch; code[j][i++]=0; return(RP);  }
	   case';':{ i=0; code[j][i]=ch; code[j][i++]=0; return(SEMICOLON); }
	   }
	if(ch==10)x=0;
	}
	return(OK);
}

int word_analyse::match(int ch)
{
	if(lookhead==ch)
	{
		lookhead=scan();
		return(OK);
	}
	else return(FALSE);
}

int word_analyse::fun_e()
{
	fun_t();
	if(lookhead==AND)
	{ match(AND);
	  fun_t();
	  cout<<"\t"<<"(E->E+T)"<<"\n";
	  return(OK);
	}
	if(lookhead==SUB)
	{
		match(SUB);
		fun_t();
		cout<<"\t"<<"(E->E-T)"<<"\n";
		return(OK);
	}
	if((lookhead!=AND)&&(lookhead!=SUB)){ cout<<"\t"<<"(E->T)"<<"\n"; return(OK); }
	//else { cout<<"ERROR"<<"\n"; return(ERROR); }
	return(OK);
}

int word_analyse::fun_t()
{
	fun_f();
	if(lookhead==MUL)
	{  match(MUL);
	   fun_f();
	   cout<<"\t"<<"(T->T*F)"<<"\n";
		return(OK);
	}
	if(lookhead==DIV)
	{  match(DIV);
	   fun_f();
	   cout<<"\t"<<"(T->T/F)"<<"\n";
	   return(OK);
	}
	if((lookhead!=DIV)&&(lookhead!=MUL)){ cout<<"\t"<<"(T->F)"<<"\n"; return(OK); }
    //else { cout<<"ERROR"<<"\n"; return(ERROR); }
    return(OK);
}

int word_analyse::fun_f()
{
	if(lookhead==LP)
	{
		match(LP);
		fun_e();
		match(RP);
		cout<<"\t"<<"(F->(E))"<<"\n";
		return(OK);
	}
	if(lookhead==ID){ match(ID); cout<<"\t"<<"(F->id)"<<"\n"; return(OK); }
	if(lookhead==CONST){ match(CONST); cout<<"\t"<<"(F->Const)"<<"\n"; return(OK); }
	else { cout<<"ERROR"<<"\n"; return(ERROR); }
}

int word_analyse::fun_s()
{
	if(lookhead==IF)
	{
		match(IF);
		fun_c();
		match(THEN);
		fun_s();
		cout<<"\t"<<"(S->if C then S)"<<"\n";
		return(OK);
	}
	if(lookhead==ID)
	{
		match(ID);
		match(EQ);
		fun_e();
		cout<<"\t"<<"(S->id=E)"<<"\n";
		return(OK);
	}
	if(lookhead==WHILE)
	{
		match(WHILE);
		fun_c();
		match(DO);
		fun_s();
		cout<<"\t"<<"(S->while C do S)"<<"\n";
		return(OK);
	}
	else { cout<<"ERROR"<<"\n"; return(ERROR); }
}

int word_analyse::fun_c()
{
   int c=0,d=0,i1=0,i2=0,i3=0;
   fun_e();
   if((lookhead==GT)||(lookhead==LT)||(lookhead==EQ))
     {
       d=lookhead;
       if(lookhead==GT)i1=match(GT);
       if(lookhead==LT)i2=match(LT);
       if(lookhead==EQ)i3=match(EQ);
       c=fun_e();
       if((i1==0)&&(i2==0)&&(i3==0)||(c==0)){ cout<<"ERROR"<<"\n"; return(ERROR); }
       if(d==GT){ cout<<"\t"<<"(C->E>E)"<<"\n"; return(OK); }
       if(d==LT){ cout<<"\t"<<"(C->E<E)"<<"\n"; return(OK); }
       if(d==EQ){ cout<<"\t"<<"(C->E=E)"<<"\n"; return(OK); }
   }
return(OK);
}

int main()
{
	char ch1;
	word_analyse word;
	while(ch1!='q')
	{
	clrscr();
	cout<<"Please Input !"<<"\n";
	 lookhead=word.scan();
	 word.fun_s();
	 ch1=getch();
	}
	return(OK);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线麻豆精品观看| 色婷婷综合五月| 美脚の诱脚舐め脚责91 | 国产精品久久三| 国产午夜精品理论片a级大结局| 精品久久久久香蕉网| 日韩一区二区中文字幕| 日韩一区二区三| 欧美tickling网站挠脚心| 日韩三级视频在线看| 日韩免费视频一区| 久久久久免费观看| 国产日韩精品一区| 亚洲婷婷国产精品电影人久久| 亚洲色大成网站www久久九九| 亚洲男人的天堂在线aⅴ视频| 亚洲精品成人在线| 日韩国产在线一| 蜜桃91丨九色丨蝌蚪91桃色| 国产乱码字幕精品高清av| 成人综合在线观看| 一本大道久久a久久精二百| 欧美中文字幕久久| 欧美一区二区美女| 久久综合九色综合欧美亚洲| 国产日韩欧美激情| 亚洲自拍另类综合| 久久国产视频网| 国产不卡在线视频| 日本精品视频一区二区| 538在线一区二区精品国产| 久久久噜噜噜久噜久久综合| 国产精品久久二区二区| 午夜久久久影院| 国产酒店精品激情| 96av麻豆蜜桃一区二区| 欧美男男青年gay1069videost| 91精品国产91久久久久久最新毛片| 精品国产91乱码一区二区三区 | jlzzjlzz亚洲日本少妇| 欧洲精品一区二区| 欧美va亚洲va在线观看蝴蝶网| 国产亚洲精品7777| 一区二区三区四区视频精品免费| 日本在线播放一区二区三区| 国产福利91精品| 欧美视频一二三区| 国产丝袜在线精品| 亚洲午夜精品一区二区三区他趣| 国产伦精品一区二区三区免费 | 精品一区二区国语对白| 粉嫩在线一区二区三区视频| 欧美综合亚洲图片综合区| xfplay精品久久| 亚洲www啪成人一区二区麻豆| 国产精品中文字幕日韩精品| 欧美在线观看一区二区| 久久天天做天天爱综合色| 一区二区三区免费在线观看| 极品尤物av久久免费看| 欧日韩精品视频| 国产精品视频九色porn| 日本成人在线看| 91国模大尺度私拍在线视频| 久久尤物电影视频在线观看| 亚洲图片一区二区| 成人午夜电影小说| 欧美成人女星排名| 亚洲愉拍自拍另类高清精品| 国产1区2区3区精品美女| 91精品在线免费观看| 亚洲色图欧美偷拍| 福利一区二区在线| 日韩一级高清毛片| 亚洲成av人片| 色婷婷av一区二区三区软件| 久久精品免费在线观看| 麻豆国产一区二区| 欧美视频一区二| 亚洲精品视频在线| 不卡大黄网站免费看| 久久亚洲精精品中文字幕早川悠里 | 国产精品久久久久久久久免费樱桃| 日韩成人av影视| 欧美视频你懂的| 亚洲精品乱码久久久久久日本蜜臀| 国产成人无遮挡在线视频| 人人爽香蕉精品| 欧美疯狂性受xxxxx喷水图片| 亚洲欧美二区三区| 99久久精品国产网站| 国产欧美日本一区二区三区| 黄网站免费久久| 欧美精品一区二区三区蜜桃 | 成人免费高清在线观看| 久久久亚洲精品石原莉奈| 麻豆精品一二三| 日韩免费高清av| 蜜桃视频免费观看一区| 日韩美女一区二区三区| 美女国产一区二区| 欧美一二三四在线| 精品制服美女丁香| 欧美成人精品高清在线播放| 乱一区二区av| xvideos.蜜桃一区二区| 国产精品综合久久| 国产精品日日摸夜夜摸av| 成人app网站| 尤物在线观看一区| 精品视频一区三区九区| 日韩av中文字幕一区二区| 日韩欧美亚洲一区二区| 久久99日本精品| 久久久九九九九| 99久久精品免费看国产| 亚洲欧洲中文日韩久久av乱码| 日本韩国欧美在线| 午夜视频一区在线观看| 日韩午夜三级在线| 国产成人福利片| 亚洲色图一区二区| 欧美日韩一区二区三区在线看| 日韩av高清在线观看| 精品处破学生在线二十三| 丁香另类激情小说| 亚洲欧美日韩精品久久久久| 欧美性大战xxxxx久久久| 日本中文一区二区三区| 久久影院视频免费| 99精品国产热久久91蜜凸| 亚洲一区在线电影| 日韩天堂在线观看| 成人听书哪个软件好| 亚洲一区二区三区自拍| 精品久久一二三区| 成人黄色网址在线观看| 亚洲电影在线播放| 亚洲精品在线网站| 94-欧美-setu| 日韩av一区二区三区四区| 国产三级精品三级| 欧美性色黄大片手机版| 久久精品国产色蜜蜜麻豆| 国产精品国产三级国产aⅴ原创 | 亚洲精品免费在线观看| 欧美一区二区在线免费播放| 风间由美一区二区av101 | 国产91丝袜在线播放九色| 亚洲免费在线视频| 日韩一卡二卡三卡| 91丨porny丨首页| 蜜桃精品视频在线观看| 亚洲欧洲另类国产综合| 欧美一区二区不卡视频| av电影在线观看完整版一区二区| 五月婷婷激情综合网| 中文字幕精品一区| 91麻豆精品国产91久久久 | 欧美国产一区二区在线观看| 欧美午夜精品理论片a级按摩| 国产一区在线观看视频| 一个色妞综合视频在线观看| 久久久国产精品午夜一区ai换脸| 欧美午夜在线观看| 懂色av一区二区三区免费看| 日韩精品欧美成人高清一区二区| 国产精品电影一区二区| 欧美猛男超大videosgay| 成人午夜电影网站| 久久成人综合网| 视频在线观看国产精品| 亚洲激情六月丁香| 国产网站一区二区三区| 欧美一区二区三区在线看| 色综合天天综合狠狠| 国产激情视频一区二区在线观看| 午夜视频在线观看一区二区| 亚洲欧美国产77777| 国产精品色一区二区三区| 精品美女在线观看| 91精品国产综合久久久久久久| 色拍拍在线精品视频8848| 国产乱对白刺激视频不卡| 麻豆免费看一区二区三区| 亚洲成人精品影院| 一区在线播放视频| 日本一区二区三区高清不卡| www精品美女久久久tv| 日韩一二三四区| 欧美一区三区二区| 制服丝袜亚洲播放| 欧美性猛交xxxx乱大交退制版| www.日韩精品| 成人黄色av电影| 国产91色综合久久免费分享| 国产精品乡下勾搭老头1| 久久精品国产亚洲aⅴ| 蜜桃传媒麻豆第一区在线观看| 视频在线观看91|