版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上杭州電子科技大學 班級: 專業(yè):計算機科學與技術(shù) 實 驗 報 告【實驗名稱】 實驗一詞法分析實驗一、實驗目的 設計、編制并調(diào)試一個詞法分析程序,加深對詞法分析原理的理解。二、實驗內(nèi)容2.1 待分析的簡單詞法(1)關(guān)鍵字:所有的關(guān)鍵字都是小寫 begin if then while do end(2)運算符和界符:= + - * / = = = ; ( ) $(3)其他單詞是標識符(ID)和整型常數(shù)(NUM),通過以下正規(guī)式定義:ID = letter (letter | digit)*NUM = digit digit*(4)空格有空白、制表符和換行符組成??崭褚话阌?/p>
2、來分隔ID、NUM、運算符、界符和關(guān)鍵字,詞法分析階段通常被忽略。2.2 各種單詞符號對應的編碼(類別):表1 各種單詞符號對應的編碼單詞符號編碼單詞符號編碼begin1:=17if218then320while422end6=23Letter (letter|digit)*10=24digit digit*11;25+13(26-14)27*15$0/162.3 詞法分析程序的功能:輸入:所給文法的源程序字符串。輸出:二元組(編碼,值)構(gòu)成的序列。其中:syn為單詞種別碼; token為存放的單詞自身字符串; num為整型常數(shù)。例如:對源程序begin x:=9; if x9 then x:
3、=2*x+1/3; end $的源文件,經(jīng)過詞法分析后輸出如下序列:(1,begin) (10,x) (17,:=) (11,9) (25,;) (2,if)三、算法思想框圖算法的基本任務是從字符串表示的源程序中識別出具有獨立意義的單詞符號,其基本思想是根據(jù)掃描到單詞符號的第一個字符的種類,拼出相應的單詞符號。在這里用”#”代替”$”。4、 實驗要求1. 寫出程序框圖、自動機。2寫出程序源代碼,并調(diào)試通過,輸出實驗結(jié)果。3完成實驗報告及總結(jié)。五、個人心得通過該實驗,主要有以下幾方面收獲: 1、 對實驗原理有更深的理解。二、 對詞法分析在實踐中的應用有深刻的理解。在實踐的基礎上,把所學過的知識應
4、用于實際應用,更深刻的理解了詞法分析以及編譯原理的實際應用。三、 通過本次編譯原理課程設計,激發(fā)了我學習的積極性,培養(yǎng)了我獨立發(fā)現(xiàn)問題、分析問題,解決問題的能力。更增強我與同學交流溝通和共同解決問題合作的能力。四、驗收時有少許錯誤,問題在于最后輸出結(jié)果是時候,是輸入相同大小的字符數(shù)組,導致出現(xiàn)空格。六、代碼與運行結(jié)果(1)源代碼#include#include#includechar prog80,token8;char ch;int syn,p,i,n,row,num=0;char *s6=begin,if,then,while,do,end; void scaner() for(n=0;n
5、=a&ch=A&ch=0&ch=a&ch=A&ch=Z) tokeni+=ch; ch=progp+; tokeni+=0; p-; syn=10; for(n=0;n=0&ch=0&ch32767) syn=-1; /判斷運算符或者分界符 else switch(ch) case) syn=20; tokeni+=ch; else if(ch=) syn=21; tokeni+=ch; else syn=18; p-; break; case:i=0;tokeni+=ch; ch=progp+; if(ch=) syn=23; tokeni+=ch; else syn=22; p-; bre
6、ak; case:i=0;tokeni+=ch; ch=progp+; if(ch=) syn=17; tokeni+=ch; else syn=17; p-; break; case+:syn=13;token0=ch;break; case-:syn=14;token0=ch;break; case*:syn=15;token0=ch;break; case/:syn=16;token0=ch;break; case=:syn=24;token0=ch;break; case;:syn=25;token0=ch;break; case(:syn=26;token0=ch;break; ca
7、se):syn=27;token0=ch;break; case#:syn=0;token0=ch;break; casen:syn=-2;break; default: syn=-1;break; int main() p=0; row=1; printf(Please input string:n); do ch=getchar(); progp+=ch; while(ch!=#); if(prog0=0&prog0=a&prog1=z)|(prog1=A&prog1=Z) printf(Error!n); else p=0; do scaner(); switch(syn) case 11: cout(syn,num)endl; break; case -1: coutError in row
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年冶煉鋼鐵產(chǎn)生熔渣搬遷改造項目可行性研究報告
- 2024-2030年全球及中國紅曲粉行業(yè)競爭動態(tài)及銷售渠道策略報告
- 2024-2030年全球及中國焊接防護面罩行業(yè)銷售現(xiàn)狀及競爭態(tài)勢分析報告
- 2024-2030年全球及中國機器人磨機襯板行業(yè)發(fā)展態(tài)勢及需求前景預測報告
- 2024-2030年全球及中國小兒氣溶膠奶嘴行業(yè)銷售策略及競爭前景預測報告
- 2024-2030年全球及中國雙層空氣處理機組行業(yè)產(chǎn)銷動態(tài)及需求規(guī)模預測報告
- 2024-2030年全球及中國一次性面罩行業(yè)需求前景及投資盈利預測報告
- 2024-2030年全球與中國大幅面打印機市場發(fā)展現(xiàn)狀及競爭策略分析報告
- 2024-2030年中國魚糜制品行業(yè)產(chǎn)銷需求及投資潛力研究報告
- 2024-2030年中國高溫煤焦油行業(yè)需求態(tài)勢與前景動態(tài)預測報告
- 期末測試卷(試題)-2024-2025學年人教PEP版(2024)英語三年級上冊
- 2024至2030年中國手機配件產(chǎn)業(yè)需求預測及發(fā)展趨勢前瞻報告
- 2024年小學閩教版全冊英語詞匯表
- 課題開題匯報(省級課題)
- 清真食品安全管理制度
- 學校心理健康教育合作協(xié)議書
- 2024江蘇省沿海開發(fā)集團限公司招聘23人(高頻重點提升專題訓練)共500題附帶答案詳解
- 2024年初級社會體育指導員(游泳)技能鑒定考試題庫(含答案)
- 湖北省危險廢物監(jiān)管物聯(lián)網(wǎng)系統(tǒng)管理計劃填報說明
- Unit6ADayintheLife教學設計2024-2025學年人教版(2024)英語七年級上冊
- 2024年個人勞務承包合同書
評論
0/150
提交評論