第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

編譯原理的語法分析器

編譯原理的語法分析器

ShallHurk 2016-05-30 00:28:21
package?第三章; import?java.io.BufferedReader; import?java.io.IOException; import?java.io.InputStreamReader; public?class?語法分析1?{ /* ?*?原始文法: ?*? ?*?E→E+T|E/T|T? ?*?T→T-F|T*F|F? ?*?F→(E)|i? ?*/ /* ?*?消除左遞歸 ?*? ?*?E→TM? ?*?M→+TM|/TM|ε? ?*?T→FN? ?*?N→-FN|*FN|ε? ?*?F→(E)|i? ?*/ /* ?*?求First集和Follow集 ?*? ?*?First(E)={(,i}? Follow(E)={),#}? ?*?First(T)={(,i}? Follow(T)={+,/,#} ?*?First(F)={(,i}? Follow(F)={-,*,#}? ?*?First(M)={+,/,ε}?Follow(M)={),#} ?*?First(N)={-,*,ε}?Follow(N)={+,/,#} ?*/ //?構(gòu)造預(yù)測分析表 private?String[]?Vt?=?{"+",?"/",?"-",?"*",?"(",?")",?"i"}; private?String[]?Vn?=?{"E",?"T",?"F",?"M",?"N"}; private?String[][]?M?=?{? //+=0?? /=1? -=2?? *=3?? (=4?? )=5?? i=6?? #=7 {?"", "", "",? "",? "TM",? "",? "TM",? ""},?? //E=0 {?"", "",? "",? "",? "FN",? "",? "FN",? ""},?? //T=1 {?"", "",? "",? "",? "(E)",? "",? "i",? ""},?? //F=2 {?"+TM", "/TM",? "",? "",? "ε",? "",? "",? "ε"},?? //M=3 {?"ε",? "ε",? "-FN",? "*FN", "",? "",? "",? "ε"} //N=4 }; //開始分析 private?String[]?stack?=?new?String[256]; private?String?stack_top; private?int?stack_ptr?=?-1; private?int?ptr?=?0; private?char?c_temp; private?int?Vt_code; private?int?Vn_code; private?void?get_char(String?sentence){ c_temp?=?sentence.charAt(ptr); ptr++; if(c_temp?==?'+'){ Vt_code?=?0; }else?if(c_temp?==?'/'){ Vt_code?=?1; }else?if(c_temp?==?'-'){ Vt_code?=?2; }else?if(c_temp?==?'*'){ Vt_code?=?3; }else?if(c_temp?==?'('){ Vt_code?=?4; }else?if(c_temp?==?')'){ Vt_code?=?5; }else?if(c_temp?==?'i'){ Vt_code?=?6; }else?if(c_temp?==?'#'){ Vt_code?=?7; } } private?void?push(String?str){ stack_ptr++; stack[stack_ptr]?=?str; } private?void?pull(){ stack_top?=?stack[stack_ptr]; stack[stack_ptr]?=?null; stack_ptr--; if(stack_top.equals("E")){ Vn_code?=?0; }else?if(stack_top.equals("T")){ Vn_code?=?1; }else?if(stack_top.equals("F")){ Vn_code?=?2; }else?if(stack_top.equals("M")){ Vn_code?=?3; }else?if(stack_top.equals("N")){ Vn_code?=?4; } } private?boolean?isVt(String?str){ for(int?i?=?0;?i?<?Vt.length;?i++){ if(str.equals(Vt[i])){ return?true; } } return?false; } private?boolean?isVn(String?str){ for(int?i?=?0;?i?<?Vn.length;?i++){ if(str.equals(Vn[i])){ return?true; } } return?false; } public?boolean?SyntaxAnalyse(String?sentence){ push("#"); push("E"); get_char(sentence); boolean?flag?=?true; while(flag){ pull(); if(isVt(stack_top)){ if(stack_top.equals(String.valueOf(c_temp))){ get_char(sentence); }else{ return?false; } }else?if(stack_top.equals("#")){ if(stack_top.equals(String.valueOf(c_temp))){ flag?=?false; }else{ return?false; } }else?if(M[Vn_code][Vt_code]?!=?null){ if(!M[Vn_code][Vt_code].equals("ε")){ for(int?i?=?M[Vn_code][Vt_code].length()?-?1;?i?>=?0?;?i--){ push(String.valueOf(M[Vn_code][Vt_code].charAt(i))); } } }else{ return?false; } } return?true; } public?static?void?main(String[]?args)?throws?IOException{ while(true){ 語法分析1?sa?=?new?語法分析1(); System.out.print("請(qǐng)輸入語句:"); BufferedReader?in?=?new?BufferedReader(new?InputStreamReader(System.in));? String?str?=?in.readLine(); String?sentence?=?str?+?"#";? boolean?result?=?sa.SyntaxAnalyse(sentence); if(result?==?true){ System.out.println(str?+?"?是正確表達(dá)式!"); }else?if(result?==?false){ System.out.println(str?+?"?是錯(cuò)誤表達(dá)式!"); }else{ System.out.println("分析程序出現(xiàn)錯(cuò)誤!"); ??????}?? } } } 懇請(qǐng)看得懂的大神給每行來個(gè)注釋,謝謝啦!
查看完整描述

目前暫無任何回答

  • 0 回答
  • 1 關(guān)注
  • 1767 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)