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

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

?? compiler.java

?? 類c語言編譯器
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
		lrTable[53][2]=214;
		lrTable[53][8]=214;
		lrTable[53][9]=214;
		lrTable[54][1]=105;
		lrTable[54][6]=103;
		lrTable[54][11]=104;
		lrTable[54][24]=102;
		lrTable[54][26]=58;
		lrTable[55][4]=225;
		lrTable[55][21]=225;
		lrTable[56][3]=208;
		lrTable[56][4]=208;
		lrTable[56][21]=208;
		lrTable[56][25]=208;
		lrTable[57][1]=228;
		lrTable[57][6]=228;
		lrTable[57][11]=228;
		lrTable[57][24]=228;
		lrTable[57][36]=59;
		lrTable[58][3]=211;
		lrTable[58][4]=211;
		lrTable[58][21]=211;
		lrTable[58][25]=211;
		lrTable[59][1]=105;
		lrTable[59][6]=103;
		lrTable[59][11]=104;
		lrTable[59][24]=102;
		lrTable[59][26]=60;
		lrTable[60][3]=209;
		lrTable[60][4]=209;
		lrTable[60][21]=209;
		lrTable[60][25]=209;
	}
}
//===產生式
class genFormula
{
	Vector genCode;		//===非終結符代碼
	Vector genSymbol;	//===非終結符字符
	Vector genOut;		//===轉換后的產生式
	Vector genAll;		//===完整產生式
	public genFormula()
	{
		genCode=new Vector();
		genSymbol=new Vector();
		genOut=new Vector();
		genAll=new Vector();
		//===經過轉換的token串
		addFormula("18","T","S");
		addFormula("1","S","yqC");
		addFormula("2","C","CwD");
		addFormula("2","C","D");
		addFormula("3","D","DxF");
		addFormula("3","D","F");
		addFormula("4","F","mCn");
		addFormula("4","F","y");
		addFormula("1","S","gEjASV");
		addFormula("17","V","dBS");
		addFormula("17","V","z");
		addFormula("1","S","lMEcNS");
		addFormula("5","E","EiOH");
		addFormula("5","E","H");
		addFormula("6","H","HaRI");
		addFormula("6","H","I");
		addFormula("7","I","hJ");
		addFormula("7","I","J");
		addFormula("8","J","yoy");
		addFormula("8","J","ypy");
		addFormula("8","J","yry");
		addFormula("8","J","ysy");
		addFormula("8","J","yty");
		addFormula("8","J","yuy");
		addFormula("1","S","bKe");
		addFormula("9","K","KvPS");
		addFormula("9","K","S");
		addFormula("10","A","z");
		addFormula("11","B","z");
		addFormula("12","M","z");
		addFormula("13","N","z");
		addFormula("14","O","z");
		addFormula("15","R","z");
		addFormula("16","P","z");
		//===完整的token串
		addFormulaAll("T->S");
		addFormulaAll("S->id=C");
		addFormulaAll("C->C+D");
		addFormulaAll("C->D");
		addFormulaAll("D->D*F");
		addFormulaAll("D->F");
		addFormulaAll("F->(C)");
		addFormulaAll("F->id");
		addFormulaAll("S->if E then A S V");
		addFormulaAll("V->else B S");
		addFormulaAll("V->e");
		addFormulaAll("S->while M E do N S");
		addFormulaAll("E->E or O H");
		addFormulaAll("E->H");
		addFormulaAll("H->H and RI");
		addFormulaAll("H->I");
		addFormulaAll("I->not J");
		addFormulaAll("I->J");
		addFormulaAll("J->id < id");
		addFormulaAll("J->id > id");
		addFormulaAll("J->id <= id");
		addFormulaAll("J->id >= id");
		addFormulaAll("J->id <> id");
		addFormulaAll("J->id == id");
		addFormulaAll("S->begin K end");
		addFormulaAll("K->K ; P S");
		addFormulaAll("K->S");
		addFormulaAll("A->e");
		addFormulaAll("B->e");
		addFormulaAll("M->e");
		addFormulaAll("N->e");
		addFormulaAll("O->e");
		addFormulaAll("R->e");
		addFormulaAll("P->e");
	}
	//===添加完整產生式
	void addFormulaAll(String formula)
	{
		genAll.addElement(formula);
	}
	//===添加轉換產生式
	void addFormula(String code,String symbol,String formula)
	{
		genCode.addElement(code);
		genSymbol.addElement(symbol);
		genOut.addElement(formula);
	}
}
class symbolTable
{
	Vector	symbol;				//===符號
	Vector	code;				//===編碼
	Vector	tokenLine;			//===token串行號
	Vector  tokenColumn;		//===token串列號
	Vector	tokenSym;			//===token串字符
	Vector	tokenCode;			//===token串編碼
	int line;					//===行號
	int column;					//===列號
	int errorLine;				//===出錯行號
	int errorColumn;			//===出錯列號
	boolean isError;			//===是否出錯
	
	public symbolTable()
	{
		tokenLine=new Vector();
		tokenColumn=new Vector();
		line=1;
		column=0;
		errorLine=0;
		errorColumn=0;
		isError=false;
		symbol=new Vector();
		code=new Vector();
		//===初始化符號表
		addPair("and","0");
		addPair("begin","1");
		addPair("do","2");
		addPair("else","3");
		addPair("end","4");
		addPair("false","5");
		addPair("if","6");
		addPair("not","7");
		addPair("or","8");
		addPair("then","9");
		addPair("true","10");
		addPair("while","11");
		addPair("(","12");
		addPair(")","13");
		addPair("<","14");
		addPair(">","15");
		addPair("=","16");
		addPair("<=","17");
		addPair(">=","18");
		addPair("<>","19");
		addPair("==","20");
		addPair(";","21");
		addPair("+","22");
		addPair("*","23");
		addPair("標識符","24");
		
		tokenSym=new Vector();
		tokenCode=new Vector();
	}
	//===添加非終結符及編碼
	void addPair(String symString,String codeString)
	{
		symbol.addElement(symString);
		code.addElement(codeString);
	}	
	//===添加token串
	void addTokenPair(String tokString,String tokCode,int line,int column)
	{
		tokenSym.addElement(tokString);
		tokenCode.addElement(tokCode);
		tokenLine.addElement(Integer.toString(line));
		tokenColumn.addElement(Integer.toString(column));
	}
	//===是否為字母
	boolean isAlpha(char ch)
	{
		if((ch>64 && ch<91) || (ch>96 && ch<123))
		{
			return true;
		}
		return false;
	}
	//===是否為數字
	boolean isDigit(char ch)
	{
		if(ch>47 && ch<58)
		{
			return true;
		}
		return false;
		
	}
	//===是否為<、>、=(為識別<、>、<=、>=、<>、==)
	boolean isSymbol(char ch)
	{
		if(ch>59 && ch<63)
		{
			return true;
		}
		return false;
	}
	//===添加符號表,在符號表中不存在則添加
	void checkAdd(String strTemp,String strCode,int line,int column)
	{
		for(int i=0;i<symbol.size();i++)
		{
			if(((String)symbol.elementAt(i)).compareTo(strTemp)==0)
			{
				addTokenPair(strTemp,(String)code.elementAt(i),line,column);
				return;
			}
		}
		addPair(strTemp,strCode);
		addTokenPair(strTemp,strCode,line,column);
	}
	//===測試用
	void display()
	{
		System.out.println("符號表\n");
		for(int i=0;i<symbol.size();i++)
		{
			System.out.println((String)symbol.elementAt(i)+"\t"+(String)code.elementAt(i)+"\n");
		}
		System.out.println("token串\n");
		for(int j=0;j<tokenSym.size();j++)
		{
			System.out.println((String)tokenSym.elementAt(j)+"\t"+(String)tokenCode.elementAt(j)+"\t"+(String)tokenLine.elementAt(j)+"\t"+(String)tokenColumn.elementAt(j)+"\n");
		}
		System.out.println("token change串\n");
	}
	//===進行詞法分析,添加符號表及token串
	void recognize(String source) throws StringIndexOutOfBoundsException 
	{
		char charTemp;
		String identi;
		String strTemp;
		int strIndex=0;
		int indexTemp=0;
		boolean isIdenti;
		charTemp=source.charAt(strIndex++);
		while(true)
		{
			switch(charTemp)
			{
			case '\n':line++;
					  column=0;
					  break;
			case '(':column++;
					  checkAdd("(","24",line,column);
					  break;
			case ')':column++;
					  checkAdd(")","24",line,column);
					 break;
			case ';':column++;
					 checkAdd(";","24",line,column);
					 break;
			case '+':column++;
					 checkAdd("+","24",line,column);
					 break;
			case '*':column++;
					 checkAdd("*","24",line,column);
					 break;
			default:column++;
					//================================================================================
					//==============================遇到無效字符出錯[詞法錯誤]========================
					//================================================================================
					if((charTemp>32 && charTemp<40) || (charTemp>43 && charTemp<48) || (charTemp==58) || (charTemp==63) ||(charTemp==64) || (charTemp>90 && charTemp<97) || (charTemp>122))
					{
						errorLine=line;
						errorColumn=column;
						isError=true;
						break;
					}
					//===如果是字母
					 if(isAlpha(charTemp))
					 {  		
						indexTemp=strIndex-1;
						if(strIndex<source.length())
						{
							charTemp=source.charAt(strIndex++);
						}
						else
						{
							strIndex--;
							strTemp=source.substring(indexTemp);
							checkAdd(strTemp,"24",line,column);
							checkAdd("$","25",line,column);
							return;								
						}
						while(isAlpha(charTemp) || isDigit(charTemp))
						{
							if(strIndex<source.length())
							{
								charTemp=source.charAt(strIndex++);
							}
							else
							{
								strIndex--;
								strTemp=source.substring(indexTemp);
								checkAdd(strTemp,"24",line,column);
								checkAdd("$","25",line,column);
								return;
							}
						}
						strIndex--;
						strTemp=source.substring(indexTemp,strIndex);
						checkAdd(strTemp,"24",line,column);
						if(strIndex==source.length()-1)
						{
							strTemp=source.substring(strIndex);
							char chartemp=strTemp.charAt(0);
							if(charTemp!='\r' && charTemp!='\n')
							{
								checkAdd(strTemp,"24",line,++column);
							}
							checkAdd("$","25",line,column);
							if((chartemp>32 && chartemp<40) || (chartemp>43 && chartemp<48) || (chartemp==58) || (chartemp==63) ||(chartemp==64) || (chartemp>90 && chartemp<97) || (chartemp>122))
							{
							errorLine=line;
							errorColumn=++column;
							isError=true;
							}
							return;
						}
					}			
					//===如果是數字
					else if(isDigit(charTemp))
					{
						indexTemp=strIndex-1;						
						if(strIndex<source.length())
						{
							charTemp=source.charAt(strIndex++);
						}
						else
						{
							strIndex--;
							strTemp=source.substring(indexTemp);
							checkAdd(strTemp,"24",line,column);
							checkAdd("$","25",line,column);
							return;
						}
						while(isDigit(charTemp))
						{
							if(strIndex<source.length())
							{
								charTemp=source.charAt(strIndex++);
							}
							else
							{
								strIndex--;
								strTemp=source.substring(indexTemp);
								checkAdd(strTemp,"24",line,column);
								checkAdd("$","25",line,column);
								return;
							}
						}
						strIndex--;
						strTemp=source.substring(indexTemp,strIndex);
						checkAdd(strTemp,"24",line,column);
						if(strIndex==source.length()-1)
						{
							strTemp=source.substring(strIndex);
							char chartemp=strTemp.charAt(0);
							if(charTemp!='\r' && charTemp!='\n')
							{
								checkAdd(strTemp,"24",line,++column);
							}
							checkAdd("$","25",line,column);
							if((chartemp>32 && chartemp<40) || (chartemp>43 && chartemp<48) || (chartemp==58) || (chartemp==63) ||(chartemp==64) || (chartemp>90 && chartemp<97) || (chartemp>122))
							{
							errorLine=line;
							errorColumn=++column;
							isError=true;
							}
							return;
						}
					}
					//===如果是<、>或=
					else if(isSymbol(charTemp))
					{
						indexTemp=strIndex-1;
						if(strIndex<source.length())
						{
							charTemp=source.charAt(strIndex++);
						}
						else
						{
							strIndex--;
							strTemp=source.substring(indexTemp);
							checkAdd(strTemp,"24",line,column);
							checkAdd("$","25",line,column);
							return;
						}
						while(isSymbol(charTemp))
						{
							if(strIndex<source.length())
							{
								charTemp=source.charAt(strIndex++);
							}
							else
							{
								strIndex--;
								strTemp=source.substring(indexTemp);
								checkAdd(strTemp,"24",line,column);
								checkAdd("$","25",line,column);
								return;
							}
						}
						strIndex--;
						strTemp=source.substring(indexTemp,strIndex);
						checkAdd(strTemp,"",line,column);
						if(strIndex==source.length()-1)
						{
							strTemp=source.substring(strIndex);
							char chartemp=strTemp.charAt(0);
							if(charTemp!='\r' && charTemp!='\n')
							{
								checkAdd(strTemp,"24",line,++column);
							}
							checkAdd("$","25",line,column);
							if((chartemp>32 && chartemp<40) || (chartemp>43 && chartemp<48) || (chartemp==58) || (chartemp==63) ||(chartemp==64) || (chartemp>90 && chartemp<97) || (chartemp>122))
							{
							errorLine=line;
							errorColumn=++column;
							isError=true;
							}
							return;
						}
					}
					break;
			}
			if(strIndex<source.length())
			{
				charTemp=source.charAt(strIndex++);
			}
			else
			{
				if(charTemp!=' ')
				{
					strIndex--;
					strTemp=source.substring(indexTemp);
					checkAdd(strTemp,"24",line,column);
				}
				checkAdd("$","25",line,column);
				return;
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本美女一区二区三区视频| 国产三级精品三级| 337p日本欧洲亚洲大胆精品| 欧美国产综合色视频| 玉米视频成人免费看| 亚洲电影你懂得| 国产福利一区二区| 色综合激情久久| 欧美一级电影网站| 国产精品美女久久福利网站| 五月开心婷婷久久| 国产精品1区二区.| 欧美日韩在线观看一区二区 | 五月婷婷综合在线| 精品在线观看免费| 在线国产电影不卡| 久久久久成人黄色影片| 亚洲高清视频中文字幕| 国产精品1024| 欧美日韩国产高清一区二区三区 | 国产成人免费视频精品含羞草妖精| 色综合一区二区三区| 欧美一区二区视频在线观看2022| 国产精品妹子av| 麻豆精品在线观看| 欧美艳星brazzers| 国产日产欧美一区二区三区| 性感美女久久精品| 91视频观看视频| 久久青草国产手机看片福利盒子| 樱花草国产18久久久久| 国产成人三级在线观看| 日韩一区二区三区视频在线观看| 日韩美女精品在线| 国产成人在线网站| 日韩一级大片在线观看| 亚洲综合色区另类av| 国产成人av电影在线| 欧美人妇做爰xxxⅹ性高电影| ...中文天堂在线一区| 国产裸体歌舞团一区二区| 欧美天堂亚洲电影院在线播放| 国产视频一区二区在线| 麻豆成人久久精品二区三区红| 91久久久免费一区二区| 中文字幕巨乱亚洲| 韩国欧美国产1区| 777午夜精品免费视频| 亚洲伦理在线免费看| 成人精品小蝌蚪| 久久综合色婷婷| 麻豆国产精品777777在线| 欧美色涩在线第一页| 伊人色综合久久天天人手人婷| 懂色av中文字幕一区二区三区| 久久久久久免费毛片精品| 蜜桃久久av一区| 制服丝袜在线91| 五月激情六月综合| 欧美人xxxx| 图片区小说区国产精品视频| 欧美色大人视频| 亚洲夂夂婷婷色拍ww47| 色猫猫国产区一区二在线视频| 国产精品的网站| 99久久伊人久久99| 中文字幕中文字幕一区| 波多野结衣精品在线| 日韩毛片一二三区| 色噜噜久久综合| 亚洲午夜一区二区| 在线观看91精品国产入口| 亚洲一区二区美女| 欧美精品在欧美一区二区少妇 | 欧美另类久久久品| 日韩中文字幕1| 日韩视频不卡中文| 国产一区二区三区久久久| 久久婷婷成人综合色| 国产不卡在线一区| 亚洲视频一区二区在线观看| 色婷婷亚洲精品| 亚洲午夜日本在线观看| 这里只有精品99re| 久久机这里只有精品| 久久综合久久久久88| 国产91精品欧美| 中文字幕综合网| 欧美日韩精品一区二区| 丝袜亚洲另类欧美综合| 欧美成人精精品一区二区频| 狠狠久久亚洲欧美| 中文字幕av不卡| 欧美在线观看视频一区二区| 午夜精品福利视频网站| 日韩女优毛片在线| 国产麻豆成人精品| 亚洲色图一区二区| 91麻豆精品国产91久久久久久 | 国产女人aaa级久久久级 | 亚洲第一会所有码转帖| 7777精品伊人久久久大香线蕉完整版 | gogo大胆日本视频一区| 一区二区日韩av| 欧美一区二区三区日韩| 国产精品一线二线三线| 亚洲免费观看视频| 日韩一区二区电影| 丁香网亚洲国际| 午夜伊人狠狠久久| 久久久久国产精品厨房| 色av一区二区| 韩国理伦片一区二区三区在线播放| 亚洲国产精品ⅴa在线观看| 一本一本大道香蕉久在线精品| 午夜不卡在线视频| 国产精品视频yy9299一区| 欧美视频在线一区二区三区 | 国产农村妇女毛片精品久久麻豆 | 日韩国产欧美在线观看| 久久精品无码一区二区三区| 在线精品亚洲一区二区不卡| 久草热8精品视频在线观看| 亚洲欧美日韩一区| 欧美成人免费网站| 色婷婷精品久久二区二区蜜臂av | 久久天堂av综合合色蜜桃网| 在线看一区二区| 国产成人夜色高潮福利影视| 午夜精品福利视频网站| 中文字幕第一区| 91精品久久久久久久99蜜桃| 成人国产亚洲欧美成人综合网| 日本成人中文字幕| 亚洲免费电影在线| 国产亚洲精品久| 91精品国产品国语在线不卡| 99免费精品视频| 国产一区二区日韩精品| 亚洲成人av一区二区| 欧美国产一区视频在线观看| 日韩一级精品视频在线观看| 色94色欧美sute亚洲线路二| 国产成人自拍网| 麻豆一区二区三| 亚洲福利国产精品| 1区2区3区欧美| 久久久国产精华| 欧美大片一区二区| 欧美老女人第四色| 日本久久一区二区| 成人精品一区二区三区中文字幕| 久久99国内精品| 首页欧美精品中文字幕| 亚洲精品国产无天堂网2021| 国产精品素人一区二区| 精品国产乱码91久久久久久网站| 欧美高清一级片在线| 欧美无砖专区一中文字| 色综合一个色综合亚洲| 成人高清免费观看| 国产成人免费视频精品含羞草妖精| 秋霞午夜鲁丝一区二区老狼| 午夜视频在线观看一区二区| 一级中文字幕一区二区| 亚洲美女免费在线| 亚洲欧美日韩精品久久久久| 国产精品久久久久久久久久免费看| 久久色成人在线| 久久精品视频在线免费观看 | 成人午夜激情片| 国产精品影音先锋| 国产精品自产自拍| 激情久久五月天| 国产在线视视频有精品| 韩国在线一区二区| 国产精品综合一区二区| 国产精品1区2区| 国产二区国产一区在线观看| 国产原创一区二区| 久久电影国产免费久久电影| 免费欧美在线视频| 精品一区精品二区高清| 老司机精品视频在线| 经典三级在线一区| 国产精品原创巨作av| 国产99一区视频免费 | 亚洲综合一区二区精品导航| 亚洲精品videosex极品| 夜夜爽夜夜爽精品视频| 一区二区三区色| 亚洲444eee在线观看| 日韩精品一区第一页| 久久se这里有精品| 国产精品69毛片高清亚洲| 不卡视频在线看| 欧美视频一区在线| 欧美一二三四区在线| 久久久亚洲欧洲日产国码αv| 欧美韩国日本一区|