版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第 4 章 詞法分析4.1 詞法分析的基本概念4.2 詞法分析程序的設(shè)計(jì)與實(shí)現(xiàn)4.3 算術(shù)常數(shù)處理機(jī)的設(shè)計(jì)【內(nèi)容提要】 詞法分析程序又稱掃描器,任務(wù)有二:(1) 識(shí)別單詞 從用戶的源程序中把單詞分離出來;(2) 翻譯單詞 把單詞轉(zhuǎn)換成機(jī)內(nèi)表示,便于后續(xù)處理。4.1.1 單詞的分類與識(shí)別 1. 單詞的分類 標(biāo)識(shí)符 用戶給一些變量起的名字; 常數(shù) 以自身形態(tài)面對(duì)用戶和系統(tǒng); 關(guān)鍵字系統(tǒng)內(nèi)部定義,具有固定的意義, 界符單字符界符 + - * / , ; : = 雙字符界符 := = = = /* */ 按單詞的語法功能可分為:如:算數(shù)常數(shù),邏輯常數(shù),字符串常數(shù), 通常用來區(qū)分語法單元; 2. 單詞的
2、識(shí)別問題:字母開頭關(guān)鍵字或標(biāo)識(shí)符;數(shù)字開頭數(shù)值型常量; 或 “ 開頭字符型常量或字符串常量;其它多數(shù)以自身形態(tài)識(shí)別之,如 + ,- , = , ;= , != ,= , 如何區(qū)別關(guān)鍵字和標(biāo)識(shí)符? 現(xiàn)在,大多數(shù)編譯程序使用“保留字”,即標(biāo)識(shí)符不能用作關(guān)鍵字。系統(tǒng)預(yù)先造好關(guān)鍵字表,拼好的字符串,先查“關(guān)鍵字”表,查到了,視為關(guān)鍵字,否則,視為標(biāo)識(shí)符。簡單識(shí)別方法 程序設(shè)計(jì)語言的單詞不但類別不同,而且長短不一,機(jī)內(nèi)表示可以使: 語法信息,即單詞的分類碼。語義信息,如:數(shù)組維數(shù), 上下界,類型等;TOKEN: 目前,大多數(shù)采用如下 二元式 形式: 長短統(tǒng)一; 語法、語義信息分開。 4.1.2 單詞的機(jī)
3、內(nèi)表示 類 值i 名字 c 123k whilep 數(shù)值型。 算術(shù)常數(shù)處理機(jī)的功能: 識(shí)別器(有限自動(dòng)機(jī)主機(jī)) 翻譯器(在自動(dòng)機(jī)的狀態(tài)節(jié)點(diǎn)處,插入 算術(shù)常數(shù)的基本形式:尾數(shù) 指數(shù)ddd.ddd e(+|-)ddd;4.3.1 識(shí)別器設(shè)計(jì) 帶有翻譯功能的自動(dòng)機(jī)稱為處理機(jī);其結(jié)構(gòu)可分為兩個(gè)部分: 翻譯子程序)+dd-ddddd.e+|-整數(shù)小數(shù)e指數(shù)e 一個(gè)算數(shù)常數(shù)識(shí)別器的設(shè)計(jì):其中 d(數(shù)字)節(jié)點(diǎn),識(shí)別整數(shù);(泛指單詞的后繼符);,節(jié)點(diǎn),識(shí)別小數(shù);節(jié)點(diǎn),識(shí)別e指數(shù);4.3.2 翻譯器設(shè)計(jì)1. 算法設(shè)計(jì):設(shè)置參數(shù)如下: n:拼尾數(shù)值變量; 每當(dāng)讀入尾數(shù)數(shù)字d時(shí): n:=10*n+val(d);【注
4、】 參數(shù)初值,分別為:n=p=m=t=0; e=1num = n*10e*P-m結(jié)果變量:Val(d)字符轉(zhuǎn)數(shù)值函數(shù)p:拼指數(shù)值變量; 每當(dāng)讀入指數(shù)數(shù)字d時(shí): p:=10*p+val(d); m:小數(shù)位數(shù)變量; 每當(dāng)讀入小數(shù)數(shù)字d時(shí): m:=m+1;e:指數(shù)的符號(hào)變量(+:為1,-:為-1);t:類型變量(整型:為0,實(shí)型:為1);【注】 val(d) 字符型轉(zhuǎn)數(shù)值型函數(shù)。 設(shè):在狀態(tài)i結(jié)點(diǎn)處的語義動(dòng)作為qi; q1:初始化,n:=p:=m:=t:=0;e:=1;num:=0; 2. 狀態(tài)節(jié)點(diǎn)處動(dòng)作函數(shù)設(shè)計(jì): q2:n:=10*n+val(d); q3:t:=1; q4:n:=10*n+val
5、(d); m:=m+1; q5:t:=1;q6:if - then e:=-1;q7:p:=10*p+val(d); 開始結(jié)束state:=1getchar(ch)查變換表: (state,ch)= ? = =ok回答:noynystate:= nSemfun(state)計(jì)算:num= n*10e*P-m執(zhí)行翻譯子程序常數(shù)的轉(zhuǎn)換結(jié)果常數(shù)處理機(jī)程序框圖: 算術(shù)常數(shù)處理過程示例:例如:8.67e-12# 的翻譯過程:【結(jié)果】 num=n*10e*p-m=867*10-1*12-2=867*10-14符號(hào)變換nmpet翻譯狀態(tài)#21e76.8ok7754432867868210121000-1-1-111111111100001086720q(6)6q(4)48672q(7)78001q(3)3q(4)48672q(7)7q(2)2q(1)1-68672011q(5)5常數(shù)處理機(jī)常數(shù)識(shí)別器翻譯函數(shù)習(xí)題: 4.1 敘述詞法分析的任務(wù); 4.2 程序設(shè)計(jì)語言單詞是怎樣分類的? 4.3 敘述單詞的機(jī)內(nèi)表示的結(jié)構(gòu)和意義; 4.4 在單詞識(shí)別中,如何區(qū)分關(guān)鍵字和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜四建云計(jì)價(jià)基礎(chǔ)訓(xùn)后測(cè)試
- 24高中數(shù)學(xué)新教材課堂導(dǎo)學(xué)案(等差與等比綜合)
- 第十一章三角形單元培優(yōu)訓(xùn)練2024-2025學(xué)年人教版八年級(jí)數(shù)學(xué) 上冊(cè)
- 聲學(xué)懸浮物監(jiān)測(cè)儀相關(guān)行業(yè)投資規(guī)劃報(bào)告范本
- 電子計(jì)步器實(shí)驗(yàn)分析儀器行業(yè)相關(guān)投資計(jì)劃提議范本
- 旅游服務(wù)相關(guān)項(xiàng)目投資計(jì)劃書范本
- 1-專題一 課標(biāo)40首古詩詞曲分主題賞讀
- 異構(gòu)數(shù)據(jù)源的高效數(shù)據(jù)融合
- 用戶生成內(nèi)容的品牌影響
- 弘揚(yáng)民族精神 貢獻(xiàn)青春力量(2022年青海中考語文試卷議論文閱讀題及答案)
- 漢森科學(xué)哲學(xué)思想研究
- 教科版三年級(jí)綜合實(shí)踐活動(dòng)上冊(cè)全冊(cè)教案
- 冷鏈項(xiàng)目績效評(píng)價(jià)報(bào)告
- 《曹雪芹與紅樓夢(mèng)》課件
- 第七講-信息技術(shù)與大數(shù)據(jù)倫理問題-副本
- 化工檢修方案
- 世界問候日-你的問候溫暖世界主題PPT
- 東方巴黎哈爾濱 (教案)2022-2023學(xué)年綜合實(shí)踐活動(dòng)四年級(jí)上冊(cè) 全國通用
- 李秉龍:農(nóng)業(yè)經(jīng)濟(jì)學(xué)421張課件
- 腎移植術(shù)后并發(fā)肺部感染護(hù)理查房課件整理
- 裝配型架的設(shè)計(jì)-課件
評(píng)論
0/150
提交評(píng)論