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

正文內(nèi)容

編譯技術(shù)課程設(shè)計(jì)報(bào)告-詞法分析、語法分析、中間代碼生成(完整版)

2025-07-12 13:32上一頁面

下一頁面
  

【正文】 2 三、實(shí)驗(yàn)環(huán)境 4 四、實(shí)現(xiàn)過程說明 4 4 ( 1)單詞符號表 4 ( 2)數(shù)據(jù)結(jié)構(gòu) 5 ( 3)函數(shù)說明 5 ( 4)流程圖 6 6 ( 1)分析方法說明 6 ( 2)文法 6 ( 3)數(shù)據(jù)結(jié)構(gòu) 7 ( 4)函數(shù)說明 7 10 ( 1)屬性文法 10 ( 2)數(shù)據(jù)結(jié)構(gòu) 11 ( 3) 函數(shù)說明 11 ( 4)流程圖 11 五、程序運(yùn)行結(jié)果 12 六、總結(jié) 16 第 2 頁 一、 目的 編譯技術(shù) 是理論與實(shí)踐并重的課程,而其課程設(shè)計(jì)要 綜合 運(yùn)用一、二年級所學(xué)的多門課程的內(nèi)容,用來 完成一個(gè)小型編譯程序。 再次 ,如果關(guān)鍵字、標(biāo)識符和常數(shù)之間沒有確定的運(yùn)算符或界符作間隔,則必須至少用一個(gè)空白符作間隔(此時(shí),空白符不再是完全沒有意義的了)。 39。 ( 3) 函數(shù)說明 在 Scan ()子函數(shù)中,先全部初始化,然后讀一個(gè)字符,分析它是什么類型 :如果是字母類型,則接著往下讀,直到讀到非字母的字符,存入 words[10]中,依次對比關(guān)鍵字表中的元素,如果相同,則將 flags[]置為相應(yīng)的種別碼,如果全都掃描后沒發(fā)現(xiàn)相同的關(guān)鍵字,則為普通的標(biāo)識符 ,返回主函數(shù)輸出。 E1 函數(shù):判斷是不是” +”或者“ ” 如果是,調(diào)用 F 函數(shù),如果不是,進(jìn)行出錯(cuò) 處理,置 is_right 為 0。 temp++。39。39。endl。/Fendl。39。 } else is_right=0。**Fendl。amp。 } } P 函數(shù) : 檢查是否標(biāo)識符,如果是,調(diào)用 P1 函數(shù),如果不是,檢查是否是數(shù)值,第 10 頁 如果是,調(diào)用 P1函數(shù),如果不是,檢查是否是’ (’,如果不是,進(jìn)行出錯(cuò)處理,置 is_right為 0。 if(flags[temp]==17) //) { coutP(E)endl。編譯原理是一門比較抽象的課程,也比較難以學(xué)得透 , 有很多東西很模糊的。 int flags[500]。 ch=program[i++]。A39。amp。Z39。 k++) if (strcmp (words,keywords[k]) == 0) //判斷是否為關(guān)鍵字 switch(k) { case 0:{ flag = 1。 break。 //標(biāo)識符 } } else if ((ch = 39。039。 ch = program[i++]。 words[j] = 39。 flag = 14。) words[j++] = ch。\039。39。 words[j] = 39。:{ if (ch == 39。) { words[j++] = ch。+39。=39。 words[j] = 39。:{ if (ch == 39。) { words[j++] = ch。\039。*39。 words[j] = 39。:{ if (ch == 39。) { words[j++] = ch。39。:{ words[j] = ch。 words[j+1] = 39。\039。 flag = 21。 break。 } case39。,39。:{ words[j] = ch。_39。39。 } 第 24 頁 //語法分析(遞歸下降) void E()。 void P()。 temp++。39。39。 T2()。 F()。 T1()。endl。amp。amp。 E()。 int YT()。 int ww。 ()。 rt=YT()。 v++。 v++。 t1=a。 rt=YF()。 temp++。 v++。 t=a。 t1=rt。 int t2=YF()。 rt=v。 return rt。 printf(\n)。 printf((!,18) ({,20) (},20) ([,21) (],21)\n)。 program[i++] = ch。 do{ flag = Scan(program)。 } else if (flag == 1) { cout出錯(cuò) ! endl。 printf(\n)。 printf(\n)。 YE()。 E()。 if(flag!=24) { flags[num]=flag。 flags[num]=flag。39。 printf((:,22) (,0) ( ,24)\n)。 printf(\n)。 } else return ww。 return rt。 siyuan(tt,t1,t2,rr)。 return rt。 t=rt。 int rr=newTemp()。 int rr=newTemp()
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1