




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
編譯原理實(shí)驗(yàn)講義ver0.4實(shí)驗(yàn)一C_minus語(yǔ)言詞法剖析器的設(shè)計(jì)(6學(xué)時(shí))【目的】設(shè)計(jì)一個(gè)簡(jiǎn)單的詞法剖析器,進(jìn)而進(jìn)一步加深對(duì)詞法剖析器工作原理的理解?!疽蟆?、該個(gè)詞法剖析器要求起碼能夠辨別以下幾類(lèi)單詞:a.重點(diǎn)字:elseifintreturnvoidwhile共6個(gè),全部的重點(diǎn)字都是保存字,而且一定是小寫(xiě);b.表記符:辨別與C語(yǔ)言詞法例定相一致的表記符,經(jīng)過(guò)以下正則表達(dá)式定義:ID=letter(letter|digit)*;c.常數(shù):NUM=(+|-|ε)digitdigit*(.digitdigit*|ε)(e(+|-|ε)digitdigit*|ε),letter=a|..|z|A|..|Z|,digit=0|..|9,包含整數(shù),如123,-123,+123等;小數(shù),如123.45,+123.45,-123.45;科學(xué)計(jì)數(shù)法表示的常數(shù),如+1.23e3,-2.3e-9;d.專用符號(hào):+-*/<<=>>===!==;,( )[]{}/**/;2、剖析器的輸入為由上述幾類(lèi)單詞組成的程序,輸出為該段程序的機(jī)內(nèi)表示形式,即重點(diǎn)字、運(yùn)算符、界線符變成其對(duì)應(yīng)的機(jī)內(nèi)符,常數(shù)使用二進(jìn)制形式,表記符使用相應(yīng)的表記符表指針表示。3、詞法剖析器應(yīng)該能夠指出源程序中的詞法錯(cuò)誤,如不行識(shí)其他符號(hào)、錯(cuò)誤的詞法等?!痉椒ㄅc參照】第一給出全部單詞的正規(guī)式(或正規(guī)文法)表示,而后將其轉(zhuǎn)變成NFA,再將NFA確立化、最小化,獲得最簡(jiǎn)的DFA,依據(jù)DFA編寫(xiě)詞法剖析器的代碼?!緦?shí)驗(yàn)環(huán)境和工具】本實(shí)驗(yàn)不限制現(xiàn)所使用的開(kāi)發(fā)工具以及運(yùn)轉(zhuǎn)環(huán)境。實(shí)驗(yàn)二遞歸降落剖析器的設(shè)計(jì)(6學(xué)時(shí))【目的】使用遞歸子程序法設(shè)計(jì)一個(gè)語(yǔ)法剖析程序,理解自頂向下剖析方法的原理,掌握手工編寫(xiě)語(yǔ)法剖析程序的方法?!疽蟆?、使用遞歸降落剖析算法剖析表達(dá)式文法:exp::=expaddopterm|termaddop::=+|-term::=termmulopfactor|factormulop::=*|/factor::=(exp)|number此中number能夠是多位的十進(jìn)制數(shù)字串(整數(shù)即可),所以這里還需要一個(gè)小的詞法剖析器來(lái)獲得number的值。2、該詞法剖析器以子程序形式出現(xiàn),當(dāng)需要進(jìn)行詞法剖析時(shí)進(jìn)行調(diào)用;3、能夠辨別正確和錯(cuò)誤的表達(dá)式;4、在進(jìn)行語(yǔ)法剖析的過(guò)程中,計(jì)算輸入表達(dá)式的值?!痉椒ㄅc參照】第一將上述文法改寫(xiě)成EBNF形式,依據(jù)遞歸降落剖析算法基本思想編寫(xiě)程序?!緦?shí)驗(yàn)環(huán)境和工具】本實(shí)驗(yàn)不限制現(xiàn)所使用的開(kāi)發(fā)工具以及運(yùn)轉(zhuǎn)環(huán)境。1實(shí)驗(yàn)三算符優(yōu)先剖析法剖析器的設(shè)計(jì)(6學(xué)時(shí))【目的】設(shè)計(jì)一個(gè)算符優(yōu)先剖析器,理解優(yōu)先剖析方法的原理?!疽蟆渴褂盟惴麅?yōu)先剖析算法剖析下邊的文法:E’→#E#E→E+T|T→T*F|FF→P^F|PP→(E)|i此中i能夠看作是一個(gè)終結(jié)符,無(wú)需作詞法剖析。詳細(xì)要求以下:1.假如輸入符號(hào)串為正確句子,顯示剖析步驟,包含剖析棧中的內(nèi)容、優(yōu)先關(guān)系、輸入符號(hào)串的變化狀況;假如輸入符號(hào)串不是正確句子,則指示犯錯(cuò)地點(diǎn)。【方法】第一結(jié)構(gòu)算符優(yōu)先關(guān)系表,而后依據(jù)算符優(yōu)先剖析算法編寫(xiě)程序?!緦?shí)驗(yàn)環(huán)境和工具】本實(shí)驗(yàn)不限制現(xiàn)所使用的開(kāi)發(fā)工具以及運(yùn)轉(zhuǎn)環(huán)境。//依據(jù)算符優(yōu)先文法的剖析規(guī)則求得終結(jié)符優(yōu)先關(guān)系表//+*^i()#//+><<<<>>//*>><<<>>//^>><<<>>//i>>>>>//(<<<<<=//)>>>>>//#<<<<<=#include<stdlib.h>#include<string.h>#include<stdio.h>#include<dos.h>charyouxian[7][7];//算符優(yōu)先關(guān)系數(shù)組voidmain( ){{//將算符優(yōu)先關(guān)系寄存在算符優(yōu)先關(guān)系數(shù)組里youxian[0][0]='>';youxian[0][1]='<';youxian[0][2]='<';youxian[0][3]='<';youxian[0][4]='<';2youxian[0][5]='>';youxian[0][6]='>';//______________________________________________________________youxian[1][0]='>';youxian[1][1]='>';youxian[1][2]='<';youxian[1][3]='<';youxian[1][4]='<';youxian[1][5]='>';youxian[1][6]='>';//_______________________________________________________________youxian[2][0]='>';youxian[2][1]='>';youxian[2][2]='<';youxian[2][3]='<';youxian[2][4]='<';youxian[2][5]='>';youxian[2][6]='>';//_______________________________________________________________youxian[3][0]='>';youxian[3][1]='>';youxian[3][2]='>';youxian[3][3]='$';//無(wú)優(yōu)先關(guān)系的用$表示youxian[3][4]='$';youxian[3][5]='>';youxian[3][6]='>';//_________________________________________________________________youxian[4][0]='<';youxian[4][1]='<';youxian[4][2]='<';youxian[4][3]='<';youxian[4][4]='<';youxian[4][5]='=';youxian[4][6]='$';//_________________________________________________________________youxian[5][0]='>';youxian[5][1]='>';youxian[5][2]='>';youxian[5][3]='$';youxian[5][4]='$';youxian[5][5]='>';youxian[5][6]='>';//__________________________________________________________________youxian[6][0]='<';3youxian[6][1]='<';youxian[6][2]='<';youxian[6][3]='<';youxian[6][4]='<';youxian[6][5]='$';youxian[6][6]='=';//______________________________________
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 橡膠帶的耐化學(xué)品性能提升考核試卷
- 稀土金屬礦選礦廠自動(dòng)化控制系統(tǒng)與設(shè)備維護(hù)考核試卷
- 家具行業(yè)品牌合作與資源共享考核試卷
- 天津市第二新華中學(xué)2024?2025學(xué)年高一下學(xué)期第一次質(zhì)量檢測(cè)(3月) 數(shù)學(xué)試題(含解析)
- 靜脈輸液工具的合理選擇
- 山西省大同市常青中學(xué)校等校聯(lián)考2024?2025學(xué)年高一下學(xué)期3月月考 數(shù)學(xué)試題(含解析)
- 河北省唐山市第八中學(xué)2024?2025學(xué)年高一下學(xué)期3月月考 數(shù)學(xué)試卷(含解析)
- 2025屆浙江稽陽(yáng)聯(lián)誼學(xué)校高三下學(xué)期二模物理答案
- 統(tǒng)編版語(yǔ)文五年級(jí)下冊(cè)第4課《梅花魂》精美課件
- 四川省瀘州市龍馬潭區(qū)天立學(xué)校2024-2025學(xué)年高三下學(xué)期3月適應(yīng)性檢測(cè)試題物理試題含解析
- 商業(yè)銀行經(jīng)營(yíng)管理學(xué)商業(yè)銀行資產(chǎn)負(fù)債管理課件
- 智慧環(huán)衛(wèi)大數(shù)據(jù)信息化云平臺(tái)建設(shè)和運(yùn)營(yíng)綜合解決方案
- 2022Z世代洞察報(bào)告QuestMobile
- 中國(guó)制造業(yè)數(shù)字化轉(zhuǎn)型研究報(bào)告
- 申請(qǐng)法院調(diào)查取證申請(qǐng)書(shū)(調(diào)取銀行資金流水)
- 辦公室事故防范(典型案例分析)
- 三治融合課件講解
- 第二部分-CPO-10中央機(jī)房?jī)?yōu)化控制系統(tǒng)
- 設(shè)計(jì)概論重點(diǎn)知識(shí)
- 留仙洞總部基地城市設(shè)計(jì)
- 白血病鑒別診斷
評(píng)論
0/150
提交評(píng)論