計(jì)算機(jī)編譯推選優(yōu)秀ppt.ppt
《計(jì)算機(jī)編譯推選優(yōu)秀ppt.ppt》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《計(jì)算機(jī)編譯推選優(yōu)秀ppt.ppt(126頁(yè)珍藏版)》請(qǐng)?jiān)趨R文網(wǎng)上搜索。
1、計(jì)算機(jī)編譯(biny)第一頁(yè),共126頁(yè)。2.詞法分析器和語(yǔ)法分析器的關(guān)系(1)詞法分析作為(zuwi)單獨(dú)的一遍輸入(shr)串詞法(cf)分析器語(yǔ)法分析器單詞流第二頁(yè),共126頁(yè)。(2)詞法(cf)分析作為子程序輸入(shr)串詞法(cf)分析器語(yǔ)法分析器符號(hào)表取下一單詞返回下一單詞第三頁(yè),共126頁(yè)。二.單詞的種類(lèi) (1)標(biāo)識(shí)符:用來(lái)命名程序中出現(xiàn)的變量、數(shù)組、函數(shù)(hnsh)、過(guò)程、標(biāo)號(hào)等 (2)基本字:也可稱(chēng)關(guān)鍵字或保留字,如if、while、for、do、goto等 (3)常數(shù):各種類(lèi)型的常數(shù),如216、TRUE等 (4)運(yùn)算符:如+、-、*、/等 (5)界符:如;、:、/*、*/
2、等第四頁(yè),共126頁(yè)。三.單詞的編碼1.單詞的輸出形式二元式 (單詞類(lèi)別(libi),單詞的屬性)區(qū)分單詞所屬的類(lèi)(整數(shù)(zhngsh)編碼)單詞的值第五頁(yè),共126頁(yè)。2.單詞類(lèi)別的劃分基本(jbn)字、運(yùn)算符、界符:一字一碼標(biāo)識(shí)符:單列一種常數(shù):按類(lèi)型分類(lèi)第六頁(yè),共126頁(yè)。四.詞法錯(cuò)誤檢查非法字符不合規(guī)則的常數(shù)(chngsh)標(biāo)識(shí)符前綴為保留字第七頁(yè),共126頁(yè)。五.詞法分析器的生成(shn chn)1.詞法分析技術(shù)超前搜索 為了判定一個(gè)單詞符號(hào)的類(lèi)別,必須掃描到某一地方,而該單詞符號(hào)并沒(méi)有這么長(zhǎng),這種掃描方式叫做“超前搜索”。如:DO100I=1,10 IF(5.EQ.M)GOTO 1
3、00 IF(5)=100第八頁(yè),共126頁(yè)。2.狀態(tài)轉(zhuǎn)換圖有限的有向圖有限邊上標(biāo)記字符(z f)一個(gè)初態(tài)若干終態(tài)第九頁(yè),共126頁(yè)。例:某語(yǔ)言(yyn)允許 標(biāo)識(shí)符、基本字、數(shù)字串、+、-、*、*、=、=、=、:=、:、;第十頁(yè),共126頁(yè)。0412356789開(kāi)始(kish)空白(kngbi)字母(zm)/數(shù)字字母非字母數(shù)字?jǐn)?shù)字非數(shù)字+-*非*數(shù)字第十一頁(yè),共126頁(yè)。101112=1314151617其它(qt)=181920:其它(qt)=其它(qt)2122=;其它*第十二頁(yè),共126頁(yè)。3.實(shí)現(xiàn)方法 每個(gè)狀態(tài)結(jié)對(duì)應(yīng)一小段程序分支(fnzh)狀態(tài)if或case語(yǔ)句循環(huán)狀態(tài)while語(yǔ)句
4、終態(tài)return語(yǔ)句 4.一個(gè)示意算法第十三頁(yè),共126頁(yè)。start:token:=;getchar;getnb;case character of az:begin while letter or digit do begin concatenate;getchar end;retract;c:=reserve;if c=0 then begin buildlist;return(id,id在符號(hào)表中的位置(wi zhi)end else return(保留字碼,)end;第十四頁(yè),共126頁(yè)。09:begin while digit do begin concatenate;getcha
5、r end;retract;return(num,num在常數(shù)(chngsh)表中的位置)end;+:return(plus-op,);-:return(minus-op,);*:begin getchar;if character=*then return(power-op,);retract;return(mul-op,);end;第十五頁(yè),共126頁(yè)。then return(rel-op,NE);retract;return(rel-op,LT)end;=:return(rel-op,EQ);:begin getchar;if character=then return(rel-op,G
6、E);retract;return(rel-op,GT)end;:begin getchar;if character=then return(assign-op,);retract;return(colon,)end;:return(semicolon,)end of case;error第十六頁(yè),共126頁(yè)。全局(qunj)量及過(guò)程:(1)token(2)character(3)getchar(4)getnb(5)concatenate(6)letter和digit(7)reserve(8)retract:退一字符;character置空(9)buildlist:為標(biāo)識(shí)符登記符號(hào)表第十七頁(yè)
7、,共126頁(yè)。第二節(jié) 自頂向下語(yǔ)法分析u語(yǔ)法分析:自上而下(自頂而下)u 自下而上(自底而上)u自頂向下語(yǔ)法分析法:或從開(kāi)始符號(hào)出發(fā),找最左推導(dǎo)(tudo);或從根開(kāi)始,構(gòu)造推導(dǎo)(tudo)樹(shù)。第十八頁(yè),共126頁(yè)。一.回溯(hu s)分析法 1.一個(gè)實(shí)例 SxAy Aaba輸入串為xay,說(shuō)明分析過(guò)程第十九頁(yè),共126頁(yè)。Sx A ySx A ya bSx A ya第二十頁(yè),共126頁(yè)。2.存在的問(wèn)題(1)回溯公共(gnggng)左因子的存在 A1|2(2)左遞歸 AA 或 AA+第二十一頁(yè),共126頁(yè)。二.無(wú)回溯(hu s)的遞歸下降分析法 1.提取公共左因子 A1|2|.|n|改寫(xiě)為:A
8、B|B 1|2|.|n 第二十二頁(yè),共126頁(yè)。2.左遞歸的消除(1)直接左遞歸的消除 PP改寫(xiě)為:PP PP一般地 AA1|A2|Am|1|2|n (i,j不以(b y)A開(kāi)頭)改寫(xiě)為:P1P 2P.nP P 1P2P.mP第二十三頁(yè),共126頁(yè)。(2)間接(jin ji)左遞歸的消除 PP(a)將文法G的所有非終結(jié)符按任一給定的順序排列,設(shè)為A1,A2,An;+第二十四頁(yè),共126頁(yè)。PP(1)回溯公共(gnggng)左因子的存在第五十四頁(yè),共126頁(yè)。第一百二十四頁(yè),共126頁(yè)。E+TED2R2(3)構(gòu)造優(yōu)先關(guān)系(gun x)表的算法I7=go(I4,E)*第八十三頁(yè),共126頁(yè)。SE
- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 計(jì)算機(jī) 編譯 推選 優(yōu)秀 ppt