freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

編譯原理課程設(shè)計報告(存儲版)

2024-09-01 06:26上一頁面

下一頁面
  

【正文】 (關(guān)鍵字錯誤 + : + current + + 應(yīng)該為else)。 boolTerm()。 } } else { read()。 } } // 18算術(shù)表達(dá)式的判斷,主要的算術(shù)表達(dá)式:如:a:=b+2。 AE()。 if ().equals(current)) { read()。 } else { (算術(shù)表達(dá)式中的變量或數(shù)據(jù)錯誤 + : + current + + 應(yīng)該為)。 } read()。 single = char2()。 } /*else if (..equals(single)) { single = char2()。 } else { (There have + tures + errors)。 ()。 forBegain(quat)。 } else if ((end.equals(aString))) { quat = new Quat()。 (readWord())。 String ifSecond = readWord()。 (if)。 } public void forElse(Quat quat) { (else)。 (whileFirst)。 } /** * 對算數(shù)表達(dá)式進(jìn)行處理。 } pre = cString。 if ((。 forEndIfWhileLast(quat)。 for (int i = ()。 (quat)。 for (Quat quat : quats) { (())。 public Quat() { } public Quat(String first) { super()。 } /** * param first * the first to set */ public void setFirst(String first) { = first。 }}package 。 } /** * param fourth * the fourth to set */ public void setFourth(String fourth) { = fourth。 = fourth。 private String third = 。 }// 詞法讀取w /** * 顯示四元式。 break。 } public void forEndIfWhileLast(Quat quat) { (end)。 } else if ((end)) { if (。 } (q)。||if||while||while||end)) { dString = dString + (cString)。 (result)。 Quat fivethQuat = new Quat()。 (then)。 (quat)。 } public void forif(Quat quat) { String ifFirst = readWord()。 } displayQuats()。 forElse(quat)。 forProgram(quat)。 SignTable signTable = new SignTable()。 if (tures == 0) { (Perfect!!)。 } } } // 25判斷是否是字符;是就再取后續(xù)字符 public void chars() { if (([AZaz])) { single = char2()。 if (..equals(single)) { (原定義為整形 + : + current + + 應(yīng)該為整形)。 }else if(type2 == 3 ){ chars()。 if (([AZaz])) { ID()。 read()。 factor()。 tures++。 tures++。 not()。 } read()。 } read()。 read()。 IDTable()。 word = current + 。 if(。 if(!。 while (。 }// 如果是整形的話 else if (real.equals(current)) { read()。 if (!..equals(current)) { (結(jié)尾符號錯誤 + : + current + + 應(yīng)該為.)。 poundStatement()。 if (!program.equals(current)) { (關(guān)鍵字錯誤 + : + current + + 應(yīng)該為program)。 word = (1)。 String kind。 } } return ret。 String now = null, past = null。 } else if ((current)) { currents = current + | + c。 word = + start。:39。 } word = (0, i)。) amp。) || (ch)) { i = i + 1。 ch = 39。amp。A39。 // 開始字符。 } } code = (i)。) { ch = (1)。 if (start == 39。 } i = i + 1。 ch = (0)。 if (i = ()) { break。z39。 start = 39。 amp。 char ch。 } } ()。 BufferedReader reader = new BufferedReader(fileReader)。 BufferedReader reader = new BufferedReader(fileReader)。 private MapString, String constantMap = new HashMap()。 private String token = 。/** * 詞法掃描器 * * author Gao, Bayi。 * author 劉鑫偉 * */public class Compiler { WordScanner wordScanner = new WordScanner()。我們發(fā)現(xiàn),聲明部分一般都在begin前面,我們利用這個特點,在begin前面進(jìn)行符號表的建立,在begin和end之間進(jìn)行四元式的生成。 private String belongs。 // 參數(shù)個數(shù),該過函的形式參數(shù)的個數(shù)。 private String off。 // 成分類型指針,指向該維數(shù)組成分類型(在類型表中的信息)。 */ private Type type。 private ArrayListVall globalList = new ArrayList()。 // 數(shù)組表。語法分析讀入詞法三元式,并根據(jù)詞法三元式對句子進(jìn)行語法分析。若是運(yùn)算符,如果此運(yùn)算符是二目運(yùn)算符,則將對棧頂部的兩個運(yùn)算對象進(jìn)行該運(yùn)算,將運(yùn)算結(jié)果入棧,并且將執(zhí)行該運(yùn)算的兩個運(yùn)算對象從棧頂彈出。039。39。039。39。39。39。39。39。39。39。39。39。(5) 重復(fù)上述操作(1)(2)直至掃描完整個簡單算術(shù)表達(dá)式,確定所有字符都得到正確處理,我們便可以將中綴式表示的簡單算術(shù)表達(dá)式轉(zhuǎn)化為逆波蘭表示的簡單算術(shù)表達(dá)式。L1;M S{ backpatch(, )。:=merge(, , ) }S174。if E then M S1{ backpatch(, )。E1+E2{ = Newtemp。AE: Arithmetic expression18 算術(shù)表達(dá)式AE 19 項term{w019 項term}19 項term 20 因子factor{w120 因子factor}20 因子factor 21 算術(shù)量quantity|(18 算術(shù)表達(dá)式AE) 前后換順序21 算術(shù)量quantity 2 標(biāo)識符ID|22 常數(shù)constant//上面的英文為程序中的函數(shù)名或標(biāo)識符,漢字為注釋其中w0: +,w1: *,/w2: ||==|=|=:調(diào)用詞法分析中的read().得到要分析的詞和屬性報錯并給出正確答案糾錯提示不符合語法語法中檢查符合語法報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案一直分析到源程序的末尾:并給其他同學(xué)負(fù)責(zé)的部分提供語法是否規(guī)范信息報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案報錯并給出正確答案 語義分析及四元式生成 .1功能采用遞歸下降語法制導(dǎo)翻譯法,對算術(shù)表達(dá)式、賦值語句進(jìn)行語義分析并生成四元式序列。// 說明多少個錯誤。 0|1|2|3|4|5|6|7|8|9其中(1)(字母),d(數(shù)字),(源程序結(jié)束符);(2)?(空格,回車,換行),需要過濾掉;  (3)(泛指單詞的后繼符);  (4) …..(表示省略了其他界符的處理)。 詞法分析 功能詞法分析程序又稱掃描器,任務(wù)有二:(1) 識別單詞——從用戶的源程序中把單詞分離出來;(2) 翻譯單詞——把單詞轉(zhuǎn)換成機(jī)內(nèi)表示,便于后續(xù)處理。 設(shè)計任務(wù)在下列內(nèi)容中任選其一:一個簡單文法的編譯器前端的設(shè)計與實現(xiàn)。 :程序的語義就是它的“意思”,它與語法或結(jié)構(gòu)不同。本實驗的詞法分析程序用于生成Token序列。由于時間和同學(xué)們的水平有限,故本實驗只涉及到了詞法分析,語法分析,及中間代碼的四元式生成和符號表。其任務(wù)是識別和處理比單詞更大的語法單位。一般的程序設(shè)計語言的典型靜態(tài)語義包括聲明和類型檢查。自選一個感興趣的與編譯原理有關(guān)的問題加以實現(xiàn),要求難度相當(dāng)。// 界符表private MapString, String borderMap = new HashMap()。 數(shù)據(jù)結(jié)構(gòu)publicclassRecursiveWay { String current。}://程序定義1程序program program 2ID 標(biāo)識符后有讀取3分程序deputyProgram3 分程序deputyProgram 10 變量說明VD4 復(fù)合語句poundStatement//語句定義 變量說明VD:Variable description10變量說明VD var5 標(biāo)識符表IDTable: 6 類型type。 private String third = 。 Gen(* , , , ) }E174。 }N 174。 backpatch(, )。(3)從左至右掃描該算術(shù)表達(dá)式,從第一個字符開始判斷,如果該字符是數(shù)字,則分析到該數(shù)字串的結(jié)束并將該數(shù)字串儲存并輸出。, 39。, 39。, 39。, 39。, 39。 }, { 39。, 39。, 39。, 39。, 39。, 39。, 39。 } }。說明:每次進(jìn)行計算時(即要算兩個操作數(shù)的結(jié)果時),我們將操作符作為四元式第一項,彈出的操作數(shù)依次作為四元式的第二和三項,運(yùn)算結(jié)果作為四元式第四項,即Quat(運(yùn)算符,操作數(shù)1,操作數(shù)2,結(jié)果),然后講Quat放入Quats中儲存起來,便于后續(xù)處理。關(guān)鍵代碼(由組長劉鑫偉與我一起書寫)說明:本人寫此編譯器代碼時對Java知之甚少,所以主要是在組長幫助下,邊學(xué)邊寫。 private ListStruts strutsTable = new ArrayList()。 private String name。}。 private String clen。}。
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1