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

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

?? heng.java

?? 編譯原理課程設計LL(1)for語句設計
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
				   }//for
				   
			   }//if
    		else if(Character.isLetter(zhjian[0])||zhjian[0]=='_')
    		{
    			istrue=true;//開頭是下劃線或者字母則是合法變量
    		    break;
    		}
    		else
    		{
    			istrue=false;
    			break;
    		}   		   			
    	}//if
    	 		
    }//for
    if(istrue)
        return true;
    else return false;
    
  }
  //分析條件表達式是不是正確的
  /*public String[] zhuan(String ss[],int chang)
  {
	  String s[]=new String[chang];
	for(int i=0;i<chang;i++)
	{
		if(ss[i].equals("<")||ss[i].equals(">")||ss[i].equals("=")||ss[i].equals("/")||ss[i].equals("*")||ss[i].equals("-")||ss[i].equals("+"))
		{
			s[i]=ss[i];
			continue;
		}
		else
			s[i]="i";
	}
	return s;
  }*/
  public String allString(String arg[]){
      String s=null;
      for(int i=0;i<arg.length;i++){
              s+=arg[i];
      }
      return s;
  }
  public int isOperate(String c){
      String s[]={"+","-","*","/","=","(",")","<",">"};
      for(int i=0;i<s.length;i++){
          if(c!=null&&c.equals(s[i])){
              //System.out.println(c);
              return 1;
          }
      }
      return 0;
  }

 public void vertify(String input,String matrix[][],String s1[],String s2[],int num){
      ArrayList list=new ArrayList();
      StringTokenizer st=new StringTokenizer(input," \n\t\r;+=-*\"\'/)(}{[]<>?:!",true);
      while(st.hasMoreTokens()){
              list.add(new String(st.nextToken()));
      }
      String ci[]=new String[list.size()+1];
      for(int e=0;e<list.size();e++){
              ci[e]=list.get(e).toString();
      }
      ci[list.size()]="#";
      String stack[]=new String[8];
      for(int k=0;k<8;k++){
          stack[k]="_";
      }
      stack[0]="E";
      int point1=0;
      int point2=0;
      int length=ci.length;
      //out.append(allString(stack)+allString(ci)+"\n");

      for(int i=0;i<length-1;i++){
          if(isOperate(ci[i])==0){
              ci[i]="i";
          }
      }
      //out.append(allString(stack)+allString(ci)+"\n");
      while(true){
          if(point1==-1&&point2==length-1){
             // out.append("success"+"\n");
        	  if(num==1)
        		  tjTrue=true;
        	  else if(num==2)
        		  fz1True=true;
        	  else if(num==3)
        		  fz2True=true;
        	  else if(num==4)
        		  fz3True=true;
        	 // out.append("suceedd");
              break;
          }
          if(point1==-1){
             // out.append(allString(stack)+allString(ci)+"\n");
              //out.append("fail"+"\n");
              break;
          }
          if(stack[point1].equals(ci[point2])){
              stack[point1]="_";
              ci[point2]="_";
              point1--;
              point2++;
              //out.append(allString(stack)+allString(ci)+"\n");
              continue;
          }
          String res=getString(stack[point1],ci[point2],matrix,s1,s2);
          if(!res.equals("error")){
              if(res.equals("0")){
                  stack[point1]="_";
                  point1--;
              }
              else{
                  char tem[] = res.toCharArray();
                  int tem2 = 0;
                  int length2 = tem.length;
                  for (int j = point1+length2-1; j > point1-1; j--) {
                      stack[j] = String.valueOf(tem[tem2]);
                      tem2++;
                  }
                  point1+= length2- 1;
              }
              //out.append(allString(stack)+allString(ci)+"\n");
          }
          if(res.equals("error")){
             // out.append("the expression is error"+"\n");
              break;
          }
      }
      ///out.append("over"+"\n");
  }
 
  public String getString(String m,String n,String matrix[][],String s1[],String s2[]){
      //int h;
      for(int i=0;i<s1.length;i++)
      {
          if(s1[i].equals(m))
          {
        	 // out.append("diyi");
              for(int j=0;j<s2.length;j++)
              {
                  if(s2[j].equals(n))
                  {
                	  //out.append("dier");
                      if(matrix[i][j]!=null)
                      {
                          return matrix[i][j];
                      }
                  }
              }
          }
      }
      return "error";
  }
  /*
  void getResult(String s){  //得到三元式
      ArrayList list=new ArrayList();
      StringTokenizer st=new StringTokenizer(s," \n\t\r;+=-*\"\'/)(}{[]<>?:!",true);
      while(st.hasMoreTokens()){
              list.add(new String(st.nextToken()));
      }
      String s1[]=new String[list.size()];
      for(int e=0;e<list.size();e++){
              s1[e]=list.get(e).toString();
      }
      String stack[]=new String[s1.length];
      int point1=-1;
      int point2=-1;
      String result[]=new String[s1.length];
      for(int l=0;l<s1.length;l++){
          result[l]="_";
      }
      for(int i=0;i<s1.length;i++){
          if(isOperate(s1[i])==0){
              result[++point2]=s1[i];
          }
          else if(s1[i].equals("=")){
              while (point1 != -1&&(stack[point1] .equals("=")  || stack[point1].equals("*") ||stack[point1].equals("/")||stack[point1].equals("+")||stack[point1].equals("-"))) {
                      result[++point2] = stack[point1--];
                  }
              stack[++point1]=s1[i];
          }
          else if(s1[i].equals("*")||s1[i].equals("/")){
                  stack[++point1] = s1[i];
              }

          else if(s1[i].equals("+")||s1[i].equals("-")){
                  while (point1 != -1&&(stack[point1] .equals("/")  || stack[point1].equals("*"))) {
                      result[++point2] = stack[point1--];
                  }
                  stack[++point1] = s1[i];
              }
          else if(s1[i].equals("(")){
              stack[++point1]=s1[i];
          }
          else if(s1[i].equals(")")){
                  while (point1 != -1&&!stack[point1] .equals("(")) {
                      result[++point2] = stack[point1--];
                  }
                  point1--;
          }
      }
      while(point1!=-1){
          result[++point2]=stack[point1--];
      }
      out.append("suffix:"+allString(result)+"\n");
      int number=-1;
      String tem6[]={"T1","T2","T3","T4","T5","T6","T7"};
          for(int r=0;r<result.length;r++){
              if(isOperate(result[r])==1){
                  int tem4=r-1;
                  int point4=0;
                  String str1=new String();
                  String str2=new String();
                  while(point4<2&&tem4>=0){
                      if(!result[tem4].equals("0")){
                          point4++;
                          if(point4==1){
                              str1=result[tem4];
                              result[tem4]="0";
                          }
                          if(point4==2){
                              str2=result[tem4];
                              result[tem4]="0";
                          }
                      }
                      tem4--;
                  }
                  number++;
                  String tem7=result[r];
                  result[r]=tem6[number];
                  out.append(result[r]+":"+"("+tem7+","+str1+","+str2+")"+"\n");
              }
          }
  }*/

public boolean isZiFu(String a)
{
	if(a.equals("+")||a.equals("-")||a.equals("*")||a.equals("/"))
		return true;
	else 
		return false; 
}
public void siyuanshi()
{
	String siyuanshi[]=new String[100];
	int qianzhui=100;//前綴標志
	int siyuanjishu=0;//四元式的個數
	int t1=1;//分別用于記錄規約后的非終結符
	int t2=1;
	int t3=1;
	
	
		
	String zhi1[]=zhuanhouzhui(fzhi1,fuzhi1,1);//返回第一個賦值語句的后綴式
	String zhi3[]=zhuanhouzhui(fzhi3,fuzhi3,3);//返回第一個賦值語句的后綴式
	String zhi2[]=zhuanhouzhui(fzhi2,fuzhi2,2);//返回第一個賦值語句的后綴式
	
	String tiao=String.valueOf((tongji1+3+100));
	String tiao1=String.valueOf(tongji1+tongji2+tongji3+5+100);
	
	for(int i=0;i<temzhi1;i++)//從前往后依次將第一個賦值語句轉化為四元式 
	{  
		int j=0,m=0;//用于記錄找到的操作符前面的兩個操作數
		if(!isZiFu(zhi1[i]))//不是操作符就往后找,直到找到操作符
		continue;
		j=i;
		while(zhi1[j-1].equals("0"))//找到一個不為0的操作數
		j--;
		String s1=zhi1[j-1];
		m=j-1;
		while(zhi1[m-1].equals("0"))
			m--;
		String s2=zhi1[m-1];
		
		siyuanshi[siyuanjishu++]="("+"T"+t1+"="+s2+zhi1[i]+s1+")";
		System.out.print(siyuanshi[siyuanjishu]);
		zhi1[m-1]="T"+t1;//將第一個操作數處置為非終結符
		zhi1[j-1]="0";//另外的操作數和操作符處置為0
		zhi1[i]="0";
		t1++;
	}//for
	siyuanshi[siyuanjishu++]="("+fzhi1[0]+"="+zhi1[0]+")";
	//System.out.print(siyuanshi[siyuanjishu]);
	
	
	//條件表達式
	siyuanshi[siyuanjishu++]="if   "+tj[0]+tj[1]+tj[2]+"  goto  "+tiao;
	siyuanshi[siyuanjishu++]="goto   "+tiao1;
	
	for(int i=0;i<temzhi3;i++)
	{
		int j=0,m=0;
		if(!isZiFu(zhi3[i]))
		continue;
		j=i;
		while(zhi3[j-1].equals("0"))
		j--;
		String s1=zhi3[j-1];
		m=j-1;
		while(zhi3[m-1].equals("0"))
		m--;
		String s2=zhi3[m-1];
		
		siyuanshi[siyuanjishu++]="("+"T"+t3+"="+s2+zhi3[i]+s1+")";
		zhi3[m-1]="T"+t2;
		zhi3[j-1]="0";
		zhi3[i]="0";
		t3++;	
	}//for
	siyuanshi[siyuanjishu++]="("+fzhi3[0]+"="+zhi3[0]+")";
	
	
	for(int i=0;i<temzhi2;i++)
	{
		int j=0,m=0;
		if(!isZiFu(zhi2[i]))
		continue;
		j=i;
		while(zhi2[j-1].equals("0"))
		j--;
		String s1=zhi2[j-1];
		m=j-1;
		while(zhi2[m-1].equals("0"))
		m--;
		String s2=zhi2[m-1];
		
		siyuanshi[siyuanjishu++]="("+"T"+t2+"="+s2+zhi2[i]+s1+")";
		zhi2[m-1]="T"+t2;
		zhi2[j-1]="0";
		zhi2[i]="0";
		t2++;	
	}//for
	siyuanshi[siyuanjishu++]="("+fzhi2[0]+"="+zhi2[0]+")";
	siyuanshi[siyuanjishu++]="(-,-,-,-,)";
	
	
	for(int m=0;m<siyuanjishu;m++)
	{
		out.append(qianzhui+++"  "+siyuanshi[m]+"\n");//輸出四元式
	}
	
}
  
  public String[] zhuanhouzhui(String a[],int length,int biaozhi)
  {
	  String tem[]=new String[10];//存放得到的后綴表達式
	  int temzhi0=0; //記錄后綴表達式的長度
	  String Stack[]=new String[length];//當作棧存放操作符
	  int pointer=-1;//棧指針
	  int tongji=0;
	  for(int i=2;i<length;i++)
	  {    
           if(a[i].equals("("))//如果為左括號則直接入棧
           {
           Stack[++pointer]=a[i];
           }
           else if(a[i].equals(")"))//碰到右括號 則把左括號以前的都取出來放到后綴式數組
           {
            	while(pointer!=-1&&!(Stack[pointer].equals("(")))
        	    {    
        	    	   System.out.print("dfsdfsdf");
        	    	   tem[temzhi0++]=Stack[pointer--];	
        	    	   System.out.print(tem[temzhi0-1]+" !!");
 
        	    }
        	    pointer--;//丟掉左括號
        	 
           }  
          else if(a[i].equals("+")||a[i].equals("-"))//把所有的號放到后綴式數組
            {
        	       tongji++;
	    		   while(pointer!=-1&&(Stack[pointer].equals("*")||Stack[pointer].equals("/")))
	    		   {   
	    			   tem[temzhi0++]=Stack[pointer--];	
	    			   //System.out.print(tem[temzhi0-1]+" !!");
	    		   }    		   
	    	       Stack[++pointer]=a[i];	//然后把+-放到棧里
        	 }
           else if(a[i].equals("*")||a[i].equals("/"))//如果是則直接入棧
         {
        	   tongji++;
        	   
        	   Stack[++pointer]=a[i];
    		   
     	  }
           else//否則是操作數則直接入后綴表達式數組
         {
        	 tem[temzhi0++]=a[i];
        	 System.out.print(tem[temzhi0-1]+" !!");
         }	    		 
        	    	

  }
	  
	  while(pointer!=-1)//將所有的棧里面的操作符放到后綴表達式數組中
	  {
		  tem[temzhi0++]=Stack[pointer--];
		  System.out.print(tem[temzhi0-1]+" !!");
	  }
		 
	  if(biaozhi==1)
	  { temzhi1=temzhi0;//用于判斷是對哪個復制語句的后綴表達式轉化
	       tongji1=tongji;}
	       
	  else if(biaozhi==2)
	  {
		  temzhi2=temzhi0;
		  tongji2=tongji;
	  }
	  else {
		  temzhi3=temzhi0;
		  tongji3=tongji;
	  }
	  return tem;
	 
	  
  }
	
}//cfPanel

	
	

	
	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美精品三级| 国产一区二区三区黄视频| 欧美一区二区三区在| 国产精品资源在线观看| 亚洲精品成人a在线观看| 中文字幕av资源一区| 欧美婷婷六月丁香综合色| 国产不卡免费视频| 亚洲丶国产丶欧美一区二区三区| 国产精品成人一区二区三区夜夜夜 | 97精品国产露脸对白| 欧美日韩在线精品一区二区三区激情| 欧美激情中文不卡| 91蜜桃网址入口| 久久97超碰国产精品超碰| 久久中文娱乐网| 久久精品人人做| 日韩精品一区在线观看| 在线观看亚洲成人| 成人va在线观看| 91在线精品一区二区| 国产99久久久国产精品免费看| 亚洲摸摸操操av| 色婷婷精品大在线视频| 欧美色图激情小说| 91国产精品成人| 91在线播放网址| 欧美性淫爽ww久久久久无| 99久久精品情趣| 成人黄色在线网站| 欧美日韩在线三级| 精品视频资源站| 日本高清免费不卡视频| 不卡电影免费在线播放一区| 一区二区三区日韩在线观看| 免费观看久久久4p| 日韩福利电影在线观看| 日韩高清不卡在线| 国产麻豆视频精品| 国产精品1区2区| 国产99久久久国产精品潘金| 亚洲午夜羞羞片| 国产成人精品aa毛片| 国模冰冰炮一区二区| 国产一区二区伦理片| 色久综合一二码| 91精品国产综合久久久蜜臀粉嫩| 91麻豆精品国产91久久久久| 91精品国产麻豆| 亚洲日本韩国一区| 亚洲国产视频直播| 男人操女人的视频在线观看欧美| 亚洲综合小说图片| 亚洲高清久久久| 美女www一区二区| 成人视屏免费看| 日韩欧美久久一区| 国产精品国产三级国产普通话99 | 中文字幕乱码久久午夜不卡| 亚洲国产精品久久一线不卡| 日韩精品一区第一页| 理论片日本一区| 成人免费毛片嘿嘿连载视频| 欧美成人精品二区三区99精品| 久久九九久久九九| 亚洲日穴在线视频| 亚州成人在线电影| 色婷婷国产精品久久包臀| 7777精品伊人久久久大香线蕉经典版下载 | 成人久久18免费网站麻豆| 欧美一区二区三区四区五区 | 美脚の诱脚舐め脚责91| 国产乱理伦片在线观看夜一区| 成人aaaa免费全部观看| 日韩欧美国产一区在线观看| 久久精品日产第一区二区三区高清版| 亚洲色图一区二区| 亚洲精品国久久99热| 日韩av电影天堂| 99国产精品久| 久久综合九色欧美综合狠狠| 蜜臀av一级做a爰片久久| 91麻豆国产在线观看| 日韩精品一区二区三区视频| 男人的j进女人的j一区| 在线精品观看国产| 色综合久久88色综合天天| 精品免费国产一区二区三区四区| 中文字幕av不卡| 亚洲图片你懂的| 一本色道**综合亚洲精品蜜桃冫| 日韩一级大片在线| 亚洲高清免费视频| 欧美一区二区三区喷汁尤物| 亚洲啪啪综合av一区二区三区| 久久99这里只有精品| 91丨九色丨蝌蚪丨老版| 成人免费小视频| 国产乱码精品一区二区三区av| 91精品啪在线观看国产60岁| yourporn久久国产精品| 26uuu国产日韩综合| 奇米色一区二区| 欧美性三三影院| 亚洲另类春色校园小说| 欧美午夜不卡视频| 亚洲一区二区三区四区在线免费观看| 成人免费电影视频| 一区二区三区资源| 色婷婷综合久久久久中文一区二区| 日本一区二区三区电影| 青青青爽久久午夜综合久久午夜| 精品国产乱码久久久久久久久| 五月激情综合网| 欧美极品少妇xxxxⅹ高跟鞋 | 亚洲aaa精品| 日韩欧美123| 精品一区在线看| 精品免费国产一区二区三区四区| 国产成人免费视| 亚洲天堂精品在线观看| 日本久久一区二区| 精品91自产拍在线观看一区| 成人av在线播放网址| 中文字幕不卡在线播放| 一本色道综合亚洲| 久久99国产精品麻豆| 久久亚区不卡日本| av福利精品导航| 亚洲午夜免费福利视频| 日韩三级视频在线看| 国产精品99久久久久久宅男| 777久久久精品| 91同城在线观看| 青青草精品视频| 2023国产精品自拍| 欧美精品视频www在线观看| 九九精品一区二区| 国产精品激情偷乱一区二区∴| 日韩一区二区免费高清| 国产一区二区三区四区五区入口 | 成人激情免费视频| 91精品国产综合久久精品麻豆| 麻豆成人av在线| 成人精品高清在线| 中文av一区二区| 日韩欧美一卡二卡| 国产精品66部| 欧美少妇xxx| 一区二区三区资源| 国产福利一区在线观看| 蜜臀国产一区二区三区在线播放| 成人a区在线观看| 久久综合久久综合亚洲| 久久丁香综合五月国产三级网站| 亚洲私人影院在线观看| 香蕉久久夜色精品国产使用方法| 波多野结衣亚洲| 一本在线高清不卡dvd| 国产福利不卡视频| 制服丝袜一区二区三区| 丁香激情综合国产| 波多野结衣欧美| 免费的国产精品| 欧美精品一区二区三区久久久| 在线视频欧美精品| 亚洲一区在线观看网站| 色综合久久中文综合久久牛| 97aⅴ精品视频一二三区| 日韩午夜电影在线观看| 91久久精品日日躁夜夜躁欧美| 亚洲欧美日本在线| 亚洲一区欧美一区| 久久91精品国产91久久小草 | 成人性视频网站| 欧美剧在线免费观看网站| 国产精品私房写真福利视频| 黄网站免费久久| 色屁屁一区二区| 亚洲a一区二区| 经典一区二区三区| 欧美bbbbb| 在线日韩av片| 国产精品久久久久久妇女6080| 亚洲国产sm捆绑调教视频| 五月天网站亚洲| 777午夜精品免费视频| 国产精品国产馆在线真实露脸| 亚洲欧美另类小说| 中文无字幕一区二区三区 | 国产精品进线69影院| 国产偷国产偷精品高清尤物| 国产精品美女久久久久久久久久久| 4438x亚洲最大成人网| 91网站在线播放| 国产欧美日韩在线视频| 91在线porny国产在线看| 亚洲综合999| 亚洲成人在线免费| 欧美人狂配大交3d怪物一区|