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

正文內(nèi)容

編譯原理課程設(shè)計(jì)--c語言編譯器實(shí)現(xiàn)-展示頁

2025-06-16 12:19本頁面
  

【正文】 。從源文件依次讀取字符,對字符進(jìn)行分析,組成字符串、數(shù)字、關(guān)系符等固定含義的 token 符,并把它們添加到token 鏈中,如果遇到非法字符報(bào)錯(cuò)并退出程序。語句 }。 單詞符號及種別表示 表 格 管 理 出 錯(cuò) 處 理 單詞符號 語法單元 中間代碼 中間代碼 目標(biāo)代碼 語法分析器 語義分析與中間代碼生成器 優(yōu)化器 目標(biāo)代碼生成器 詞法分析器 2 單詞符號 種別編碼 main 1 int 2 float 3 double 4 char 5 if 6 else 7 do 8 while 9 l(l|d)* 10 dd* 20 = 21 + 22 23 * 24 / 25 ( 26 ) 27 { 28 } 29 , 30 。每一個(gè)階段在功能上是相對獨(dú)立的,它一方面從上一個(gè)階段獲取分 析的結(jié)果來進(jìn)行分析,另一方面由將結(jié)果傳遞給下一個(gè)階段。 8 七、源代碼 7 六、心得體會 4 五、運(yùn)行測試結(jié)果 3 四、 程序流程圖 3 語義分析主要算法 3 語法分析主要 算法 3 詞法分析主要算法 1 語法結(jié)構(gòu)定義如下: 甘肅政法學(xué)院 編譯原理課程設(shè)計(jì) 題 目 C語言編譯器實(shí)現(xiàn) 計(jì)算機(jī)科學(xué) 學(xué) 院 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè) 10 級 計(jì)本 班 學(xué) 號: 202181010137 姓 名: 楊青虎 指導(dǎo)教師: 李 霞 完成時(shí)間: 2021 年 6 月 目 錄 一、 原理 1 簡介 1 單詞符號及種別表示 2 二、運(yùn)行環(huán)境 3 三、 算法設(shè)計(jì)思想 9 1 C語言編譯器實(shí)現(xiàn) 一 、 原理 簡介 編譯程序的工作過程一般可以分為五個(gè)階段:詞法分析、語法分析、語義分析與中間代碼產(chǎn)生、優(yōu)化、目標(biāo)代碼生成。由編譯程序的五個(gè)階段就對應(yīng)了編譯系統(tǒng)的結(jié)構(gòu)。 31 32 = 33 34 = 35 == 36 != 37 ‘ \0’ 1000 ERROR 1 語法結(jié)構(gòu)定義如下: 程序 ::= main()語句塊 語句塊 ::= ‘ {‘ 語句串 ’ }’ 語句串 ::=語句 {。 3 語句 ::=賦值語句 |條件語句 |循環(huán)語句 賦值語句 ::=ID=表達(dá)式 條件語句 ::=if條件 語句塊 循環(huán)語句 ::=do 語句塊 while 條件 條件 ::=表達(dá)式 關(guān)系運(yùn)算符 表達(dá)式 表達(dá)式 ::= 項(xiàng) { +項(xiàng) |項(xiàng) } 項(xiàng) ::= 因子 {*因子 |/因子 } 因子 ::=ID|num|(表達(dá)式 ) 關(guān)系 運(yùn)算 符 ::= |=||=|==|! 二 、 運(yùn)行環(huán)境 Windows 系統(tǒng) Visual C++ 三 、 算法設(shè)計(jì)思想 詞法分析主要算法 這部分對源文件進(jìn)行分析,允許 /* */注釋。 語法 分析主要 算法 這部分對 Token 鏈進(jìn)行分析,利用自底向上的分析方法,構(gòu)建 SLR( 1)分析表的過程是手工完成的。 語義分析主要 算法 這部分對語法樹從左到右進(jìn)行遍歷,節(jié)點(diǎn)記錄了規(guī)約式的編號,遍歷到節(jié)點(diǎn)時(shí)就進(jìn)行相應(yīng)處理。 函數(shù)一覽表 void scanner()。 void staBlock(int *nChain)。 void sta(int *nChain)。 void tiaojian(int *nChain)。 char* E()。 char* F()。 void backpatch(int p,int t)。 void emit(char *res,char *num1,char *op,char *num2)。 char arg1[10]。 char arg2[10]。 四 、 程序流程圖 5 圖 1 主函數(shù)流程圖 否 是 否 是 否 是 初始化 調(diào)用 scanner 讀下一個(gè)單詞符號 調(diào)用 irparser 循環(huán)輸出四元式 four[] 結(jié)束 是否 main 是否是( 是否是) 調(diào)用 scanner 出錯(cuò)處理 調(diào)用 scanner 調(diào)用語句塊分析函數(shù) stablock 調(diào)用 scanner 6 圖 2 遞歸下降分析分析程序流程圖 否 是 否 圖 3 語句塊分析流程圖 否 是 圖 4 語句串分析流程圖 是否是 { 調(diào)用 scanner 調(diào)用語句串分析函數(shù) stastring 調(diào)用 scanner 是否是 } 出錯(cuò)處理 調(diào)用語句分析函數(shù) sta 回溯,調(diào)用 backpatch 調(diào)用 scanner 調(diào)用語句分析函數(shù) sta 出錯(cuò)處理 是否是; 7 是 否 否 是 否 是 圖 5 語句分析流程圖 五 、 運(yùn)行測試結(jié)果 是否是字符串 調(diào)用賦值語句分析函數(shù) fuzhi 是否是 if 調(diào)用條件語句分析函數(shù) tiaojian 調(diào)用循環(huán)語句分析函數(shù) xunhuan 是否是 do 8 正確程序結(jié)果 錯(cuò)誤程序結(jié)果 :報(bào)錯(cuò)?。?1) 錯(cuò)誤程序結(jié)果:報(bào)錯(cuò)!( 2) 六 、 心得體會 這次的課程設(shè)計(jì) ,最大的收獲就是清楚了編譯的整個(gè)過程 ,在學(xué)習(xí)編譯原理這門課程之時(shí) ,在做設(shè)計(jì)的過程中和詞法分析、語
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1