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

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

?? cifa2.java

?? 剛做的,希望對大家有幫助,做的不好,請原諒,
?? JAVA
字號:
//ronghong 2005.5.12
import java.io.*;

class CiFa2
{
	private String[] word;//保留字表
	private String[] wsym;	
	private char[] sword;//運算符表
	private String[] ssym;
	
	private int CC;
	private char CH;
	private char CalMark;
	
	public  String BuffStr;//緩沖區
	private int BuffLength;
	
	private  String SYM;
	private  String ID;
	private  String NUM;
	
	private String SourceLocat; //源文件位置
	private String Sources[]; //源文件,以行為單位存儲
	private String inLine;
	
	private String TargetLocat; //
	private String WrTwoFormule; //二元式
	
	CiFa2(){
			word=new String[13];
			word[0]="begin";
			word[1]="call";
			word[2]="const";
			word[3]="do";
			word[4]="end";
			word[5]="if";			
			word[6]="odd";
			word[7]="procedure";
			word[8]="read";
			word[9]="then";
			word[10]="var";
			word[11]="while";
			word[12]="write";
					
			wsym=new String[13];
			wsym[0]="beginsym";
			wsym[1]="callsym";
			wsym[2]="constsym";
			wsym[3]="dosym";
			wsym[4]="endsym";
			wsym[5]="ifsym";			
			wsym[6]="oddsym";
			wsym[7]="proceduresym";
			wsym[8]="readsym";
			wsym[9]="thensym";
			wsym[10]="varsym";
			wsym[11]="whilesym";
			wsym[12]="writesym";	
				
			
			sword=new char[8];
			sword[0]='+';
			sword[1]='-';
			sword[2]='*';
			sword[3]='/';
			sword[4]='(';
			sword[5]=')';
			//sword[6]=',';
			sword[6]='=';
			//sword[8]=';';
			sword[7]='#';			
			ssym=new String[8];			
			ssym[0]="plus";
			ssym[1]="minus";
			ssym[2]="times";
			ssym[3]="slash";
			ssym[4]="lparen";
			ssym[5]="rparen";
			//ssym[6]="comma";
			ssym[6]="eql";
			//ssym[8]="semicolon";
			ssym[7]="end";
			
			CC=0;
			
			//BuffStr=TempStr;//緩沖區
			//BuffLength=BuffStr.length();
			
			SYM="";
			ID="";
			NUM="";
			
			SourceLocat="Source.txt";
			Sources=new String[10]; //源文件不超過10行
			
			TargetLocat="Target.txt";
			WrTwoFormule="";
	}
	

	
	public void writeTarget() //寫入Target.txt
	
		{			
			String A="";
			boolean condition=false;
			
			if(CC==0){
					do{
						Getch();
					}
					while(IsBorder());
					};
												
			if(!IsOver()){
			condition=( ( CH>=65 && CH<=90 )||( CH>=97 && CH<=122 ) );//CH是字符
			if(condition){
				int k=0;	
				do{
					A=A+CH;	
					k++;
					Getch();
					condition=(CH>=65 && CH<=90)||(CH>=97 && CH<=122)||(CH>=65 && CH<=90)||(CH>=97 && CH<=122);
					}
				while(condition);
				
				while(IsBorder()){
					Getch();
				}
				
				ID=A;
					
				SYM="";
							
				for(int temp2=0;temp2<word.length;temp2++){
					if(word[temp2].equals(ID)){ //是保留字
						SYM=wsym[temp2];
						break;
						};
					}
					
				if(SYM.equals("")){
					SYM="ident";//不是保留字					
					};

				//System.out.println("("+ID+","+SYM+")");
				WrTwoFormule="("+ID+","+SYM+")";
				try{WriteFile(WrTwoFormule);}catch(IOException ioe){};
				}
				
				else{
					condition=(CH>=48 && CH<=57);
					if(condition){ //CH是數字
						NUM="";
						SYM="";
						while(CH>=48 && CH<=57){
							NUM=NUM+CH;
							Getch();
							}
							
						while(IsBorder()){
							Getch();
						}
						
						SYM="number";
						//System.out.println("("+NUM+","+SYM+")");
						WrTwoFormule="("+NUM+","+SYM+")";
						try{WriteFile(WrTwoFormule);}catch(IOException ioe){};
						
						}
						else{
							if(!IsOver()){ //CH是算符或界符
							for(int temp3=0;temp3<sword.length;temp3++){
								if(sword[temp3]==CH){
									SYM=ssym[temp3];
									CalMark=sword[temp3];
									break;
									}
								} //off for

							//System.out.println("("+CalMark+","+SYM+")");
							WrTwoFormule="("+CalMark+","+SYM+")";
							try{WriteFile(WrTwoFormule);}catch(IOException ioe){};
							do{
								Getch();
							}
							while(IsBorder());

							};				
						};
					}; //off else
					
				}; //off if
		} //off writeTarget()
		
		
	public char Getch(){
		if(CC==0){
			try{ReadFile();}catch(IOException ioe){};
		}
			String TempStr2="";
			if(CC+1<=BuffStr.length()){
					TempStr2=BuffStr.substring(CC,CC+1);
					CC++;
					CH=TempStr2.charAt(0);
					return CH;
				};
				CH='#';
				return CH;
		} //off Getch()
		
		
	private boolean IsOver(){ //判斷是否結束
		if(CH=='#'){
			return true;
		}
		return false;
	}
	
	private boolean IsBorder(){ //判斷是否為界符
		boolean IsBorder=false;
		IsBorder=(CH==',') || (CH=='.') || (CH==';') || (CH==' ');
		return IsBorder;
	}
	
	private void ReadFile() //讀入文件
		throws java.io.IOException{
			int counter=0;
			BuffStr="";
			
			FileReader fr= new FileReader(SourceLocat);
			BufferedReader br=new BufferedReader(fr);
			
			while( (inLine=br.readLine())!=null){
				BuffStr=BuffStr+inLine;
				//Sources[counter]=inLine+"#";
				//counter++;
			}
			BuffStr=BuffStr+"#";
			br.close();		
	}

	private void WriteFile(String TempTarg) //寫文件
		throws java.io.IOException{
			
			FileWriter fw=new FileWriter(TargetLocat,true);
			BufferedWriter bw=new BufferedWriter(fw);
			PrintWriter pw=new PrintWriter(bw,true);

			pw.println(TempTarg);			
			pw.close();
		}

	private void TempWriteOut(){ //暫時用來輸出二元式
		try{ReadFile();}catch(IOException ioe){};
		int i=0;
		//String TempStr3="";
		while(Sources[i]!=null){
			BuffStr=Sources[i];
			CC=0;
			CH=' ';
			while(CH!='#'){
				writeTarget();
			}
			i++;
		}
	}


public String getSym()
	
		{			
			String A="";
			boolean condition=false;
			String retStr="";
			
			if(CC==0){
					do{
						Getch();
					}
					while(IsBorder());
					};
												
			if(!IsOver()){
			condition=( ( CH>=65 && CH<=90 )||( CH>=97 && CH<=122 ) );//CH是字符
			if(condition){
				int k=0;	
				do{
					A=A+CH;	
					k++;
					Getch();
					condition=(CH>=65 && CH<=90)||(CH>=97 && CH<=122)||(CH>=65 && CH<=90)||(CH>=97 && CH<=122);
					}
				while(condition);
				
				while(IsBorder()){
					Getch();
				}
				
				ID=A;
					
				SYM="";
							
				for(int temp2=0;temp2<word.length;temp2++){
					if(word[temp2].equals(ID)){ //是保留字
						SYM=wsym[temp2];
						break;
						};
					}
					
				if(SYM.equals("")){
					SYM="ident";//不是保留字					
					};

				//System.out.println("("+ID+","+SYM+")");
				retStr="("+ID+","+SYM+")";
				}
				
				else{
					condition=(CH>=48 && CH<=57);
					if(condition){ //CH是數字
						NUM="";
						SYM="";
						while(CH>=48 && CH<=57){
							NUM=NUM+CH;
							Getch();
							}
							
						while(IsBorder()){
							Getch();
						}
						
						SYM="number";
						//System.out.println("("+NUM+","+SYM+")");
						retStr="("+NUM+","+SYM+")";
						}
						else{
							if(!IsOver()){ //CH是算符或界符
							for(int temp3=0;temp3<sword.length;temp3++){
								if(sword[temp3]==CH){
									SYM=ssym[temp3];
									CalMark=sword[temp3];
									break;
									}
								} //off for

							//System.out.println("("+CalMark+","+SYM+")");
							retStr="("+CalMark+","+SYM+")";
							do{
								Getch();
							}
							while(IsBorder());

							};				
						};
					}; //off else
					
				}; //off if
			if(!retStr.equals("")){
				return retStr;
				}	
			else{
				return null;
			}
		} //off getSym()

	/*public static void main(String[] args){
		CiFa a=new CiFa();
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
		System.out.println(a.getSym());
	} //off main()*/
	
}//off class

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区四区在线免费观看| 欧美日韩国产一二三| 精品久久久久久最新网址| 看片的网站亚洲| 2017欧美狠狠色| 懂色av一区二区三区蜜臀 | 国产成人av一区二区三区在线| 精品国产乱码久久久久久闺蜜 | 欧美一区二区三区播放老司机| 一个色妞综合视频在线观看| 欧美性生活一区| 免费看欧美美女黄的网站| 精品精品欲导航| 成人一区二区三区中文字幕| 亚洲日本电影在线| 欧美精品vⅰdeose4hd| 久久精品国产在热久久| 中文字幕亚洲一区二区av在线| 在线观看日韩av先锋影音电影院| 亚洲6080在线| 久久免费午夜影院| 在线视频一区二区三区| 精品一区二区综合| 亚洲视频1区2区| 91精品国产乱| 91在线观看美女| 日韩**一区毛片| 中文字幕一区二区三区不卡| 欧美久久久久免费| 成人h动漫精品一区二区| 亚洲1区2区3区视频| 国产精品网曝门| 91精品国产一区二区三区 | 亚洲激情自拍视频| 欧美大肚乱孕交hd孕妇| 91欧美一区二区| 国内精品视频一区二区三区八戒| 亚洲精品国产高清久久伦理二区| 日韩你懂的电影在线观看| 91在线一区二区三区| 精品一区二区三区影院在线午夜| 中文字幕亚洲一区二区av在线| 欧美xxxxx裸体时装秀| 日本高清不卡视频| 国产91高潮流白浆在线麻豆 | 国产精品系列在线| 日韩久久精品一区| 欧美日韩国产a| 99r精品视频| 国产福利不卡视频| 极品销魂美女一区二区三区| 午夜视频一区二区三区| 国产欧美日韩视频在线观看| 天天亚洲美女在线视频| 欧美午夜精品一区二区三区| 亚洲美女区一区| 欧美亚洲愉拍一区二区| 蜜桃视频一区二区| 国产成人综合网站| 精品视频999| 欧美aaaaa成人免费观看视频| 欧美久久久久免费| 丰满亚洲少妇av| 免费在线看一区| 亚洲第一会所有码转帖| 国产欧美精品日韩区二区麻豆天美| 日韩电影在线免费观看| 欧美日韩成人在线一区| 国产麻豆精品在线| 一本在线高清不卡dvd| 中文字幕免费不卡在线| 亚洲欧洲在线观看av| 国产91精品免费| 亚洲综合一区二区三区| 91精品国产综合久久香蕉的特点| 国产精品一区二区91| 欧美经典一区二区| 久久99久久久久久久久久久| 色综合网站在线| 亚洲国产一二三| 99精品视频一区二区| 亚洲已满18点击进入久久| 精品视频一区三区九区| 日韩激情一区二区| 欧美色电影在线| 欧美变态凌虐bdsm| 亚洲免费av高清| 国产精品一级在线| 欧美午夜电影网| 欧美亚州韩日在线看免费版国语版| 777a∨成人精品桃花网| 亚洲国产精品二十页| 日韩精品一区二区三区在线播放| 欧美不卡在线视频| 亚洲影视在线播放| 99久久99久久综合| 337p日本欧洲亚洲大胆精品| 亚洲精品日韩专区silk| youjizz国产精品| 国产欧美综合在线观看第十页| 天堂成人免费av电影一区| 日日夜夜免费精品| 国产精品成人免费精品自在线观看| 亚洲欧美激情小说另类| 日韩av在线免费观看不卡| 国产乱码精品一区二区三区五月婷| 制服丝袜亚洲网站| 欧美videofree性高清杂交| 色吧成人激情小说| 成人精品电影在线观看| 久久成人免费电影| 日韩极品在线观看| 国产精品一区二区男女羞羞无遮挡| 蜜臀a∨国产成人精品| 成人v精品蜜桃久久一区| 8x福利精品第一导航| 亚洲欧洲精品一区二区三区 | 免费高清不卡av| 欧美午夜不卡在线观看免费| 26uuu精品一区二区在线观看| 国产精品少妇自拍| 国产精品正在播放| 亚洲精品一区在线观看| 久久成人久久鬼色| 久久女同性恋中文字幕| 国产精品自拍一区| 久久精品视频一区| 国产成人av一区二区三区在线观看| 欧美一区二区三级| 九九国产精品视频| 2020国产精品| 婷婷久久综合九色国产成人| 欧美日韩国产精品成人| 日本va欧美va精品发布| 日韩一级黄色大片| 成人国产视频在线观看 | 99久久精品免费看国产| 夜夜嗨av一区二区三区| 国产91丝袜在线播放| 日本乱人伦一区| 日韩欧美一区在线| 国产精品午夜春色av| 亚洲成人自拍一区| 丁香一区二区三区| 久久精品视频网| 欧美色精品天天在线观看视频| 久久久久久久网| 亚洲综合丁香婷婷六月香| 97aⅴ精品视频一二三区| 精品日本一线二线三线不卡| 亚洲精品中文在线影院| 欧美日韩另类国产亚洲欧美一级| 7777精品伊人久久久大香线蕉完整版| 精品99一区二区| 色综合久久久久久久久| 日韩激情中文字幕| 国产精品乱码久久久久久| 欧美性生活一区| eeuss鲁片一区二区三区在线看| 亚洲午夜一区二区| 中文字幕一区视频| 精品区一区二区| 欧美精品乱码久久久久久| 不卡大黄网站免费看| 韩国精品一区二区| 久久成人免费网| 日本成人在线网站| 婷婷夜色潮精品综合在线| 一区二区高清在线| 国产精品卡一卡二卡三| 亚洲国产精品t66y| 亚洲精品一区二区三区99| 91精品国产综合久久香蕉麻豆| 色综合久久久久综合99| www.综合网.com| 一本大道久久a久久精二百| 成人精品视频.| 91啪九色porn原创视频在线观看| 国产白丝精品91爽爽久久| 精品亚洲成a人| 国产传媒日韩欧美成人| 国产美女在线观看一区| 风间由美一区二区av101| 国产精品性做久久久久久| 粉嫩一区二区三区在线看| 国产成人av电影在线播放| 99视频国产精品| 欧美专区在线观看一区| 欧美一区二区三区精品| 精品国免费一区二区三区| wwwwww.欧美系列| 久久亚洲欧美国产精品乐播| 亚洲国产精品ⅴa在线观看| 又紧又大又爽精品一区二区| 亚洲一区二区精品视频| 国产精品综合二区| 在线视频一区二区免费| 国产午夜亚洲精品羞羞网站| 一区二区三区在线视频观看58| 久久精品国产第一区二区三区|