![程序設(shè)計語言的語法描述.ppt_第1頁](http://file1.renrendoc.com/fileroot2/2020-1/11/ddf01327-d698-4ac4-81e7-869ca0933bc0/ddf01327-d698-4ac4-81e7-869ca0933bc01.gif)
![程序設(shè)計語言的語法描述.ppt_第2頁](http://file1.renrendoc.com/fileroot2/2020-1/11/ddf01327-d698-4ac4-81e7-869ca0933bc0/ddf01327-d698-4ac4-81e7-869ca0933bc02.gif)
![程序設(shè)計語言的語法描述.ppt_第3頁](http://file1.renrendoc.com/fileroot2/2020-1/11/ddf01327-d698-4ac4-81e7-869ca0933bc0/ddf01327-d698-4ac4-81e7-869ca0933bc03.gif)
![程序設(shè)計語言的語法描述.ppt_第4頁](http://file1.renrendoc.com/fileroot2/2020-1/11/ddf01327-d698-4ac4-81e7-869ca0933bc0/ddf01327-d698-4ac4-81e7-869ca0933bc04.gif)
![程序設(shè)計語言的語法描述.ppt_第5頁](http://file1.renrendoc.com/fileroot2/2020-1/11/ddf01327-d698-4ac4-81e7-869ca0933bc0/ddf01327-d698-4ac4-81e7-869ca0933bc05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第3章 程序設(shè)計語言的語法描述,3.1 文法的引入,文法:對語言結(jié)構(gòu)的定義和描述。 先討論自然語言的文法。例: the big elephent ate a banana,3.1 文法的引入,語法樹 根據(jù)英語的語法,上述句子的語法結(jié)構(gòu)可用圖(語法樹)表示如下:,3.1 文法的引入,3.1 文法的引入,非葉結(jié)點(diǎn)稱為語法單位,在形式語言中稱為非終結(jié)符。 處于根結(jié)點(diǎn)位置的結(jié)點(diǎn)又稱為開始符號。 葉結(jié)點(diǎn)稱為單詞符號,在形式語言中稱為終結(jié)符。,3.1 文法的引入,規(guī)則 可以通過建立一組規(guī)則,來描述上述句子的語法結(jié)構(gòu),規(guī)則在形式語言中稱為產(chǎn)生式。上述英文句子可用下述規(guī)則來描述:,3.1 文法的引入,1. 2
2、. 3. the| a 4. big 5. elephant| banana 6. 7. 8. ate,3.1 文法的引入,由規(guī)則推導(dǎo)句子 可用規(guī)則來推導(dǎo)出句子。從開始符號出發(fā),若能從規(guī)則推導(dǎo)出某符號串,則該符號串就是該文法的合法的句子,反之語法錯誤。,3.1 文法的引入, the the big the big elephant the big elephant the big elephant ate the big elephant ate the big elephant ate a the big elephant ate a banana,3.1 文法的引入,上述推導(dǎo)可簡單表示為:
3、 the big elephant ate a banana。,3.1 文法的引入,值得注意的是用上述規(guī)則可推導(dǎo)出多個句子,因存在推導(dǎo) the big banana ate an elephant 故the big banana ate an elephant也是文法的一個合法的句子。但意義是荒謬的,也就是說句子的語義是錯誤的。 一個語法正確的句子不能保證其語義是正確的,故一個句子是否正確,需要進(jìn)行語法和語義兩方面檢查。,3.1 文法的引入,遞歸規(guī)則和遞歸文法 遞歸定義 定義某事物,又用到某事物。 在規(guī)則的左部和右部有相同的非終結(jié)符 U xUy U為非終結(jié)符,xy為終結(jié)符。,3.1 文法的引入
4、,遞歸規(guī)則和遞歸文法 遞歸規(guī)則(直接遞歸) 在產(chǎn)生式的左部和右部都含有非終結(jié)符U,故U xUy是遞歸規(guī)則。 若x= , U Uy稱為左遞歸規(guī)則, 若y= ,U xU稱為右遞歸規(guī)則。,3.1 文法的引入,遞歸規(guī)則和遞歸文法 間接遞歸 文法的遞歸性還可以在推導(dǎo)過程中由規(guī)則間接產(chǎn)生: V Uy|z, U xV 上述規(guī)則不是遞歸規(guī)則,但存在推導(dǎo)VUy xVy,即V xVy,稱文法含有間接遞歸。,3.1 文法的引入,遞歸規(guī)則和遞歸文法 遞歸文法 含有遞歸規(guī)則或間接遞歸的文法稱為遞歸文法,3.1 文法的引入,利用遞歸文法我們可以用有窮的規(guī)則來描述無窮的語言,這不但解決了語言的定義問題,而且使得對語言的語法
5、檢查成為可能。,3.1 文法的引入,例:定義無符號整數(shù)。 不采用遞歸規(guī)則,描述無符號整數(shù)全體就要使用無窮多條的規(guī)則。 | 0|1|2|3|4|5|6|7|8|9|0 采用遞歸規(guī)則,描述無符號整數(shù)全體僅需12條規(guī)則。 |NND|D 0|1|2|3|4|5|6|7|8|9|0D0|1|2|3|4|5|6|7|8|9|0,3.1 文法的引入,例1:無符號整數(shù)1 N D 1 例2:無符號整數(shù)23 N ND DD 2D 23 例3:無符號整數(shù)456 N ND NDD DDD 4DD 45D 456,3.2上下文無關(guān)文法,文法是描述語言結(jié)構(gòu)的形式規(guī)則(語法規(guī)則),這些規(guī)則必須是準(zhǔn)確的,易于理解的,應(yīng)當(dāng)有較
6、強(qiáng)的描述能力,足以描述各種不同的結(jié)構(gòu),3.2上下文無關(guān)文法,形式語言的奠基人喬姆斯基將文法分為4種類型,它們是: l 短語文法(0型文法) l 上下文有關(guān)文法(1型文法) l 上下文無關(guān)文法(2型文法) l 正規(guī)文法(3型文法) 這四種文法在形式語言中都有嚴(yán)格的定義。但對于程序設(shè)計語言來說,上下文無關(guān)文法已經(jīng)夠用了,上下文無關(guān)文法有足夠的能力描述大多數(shù)現(xiàn)今使用的程序設(shè)計語言的語法結(jié)構(gòu)。以后,“文法”一詞若無特別說明,則指“上下文無關(guān)文法”。,3.2上下文無關(guān)文法,上下文無關(guān)文法所定義的語法單位和該語法單位可能出現(xiàn)的環(huán)境無關(guān)。 自然語言中,一個句子或一個字,其意義和它們所處的上下文有密切關(guān)系,因
7、此上下文無關(guān)文法不適合描述自然語言。,3.2上下文無關(guān)文法,文法和語言 一個文法G是一個四元式(VT,VN,S,VP),其中 l VT是一個終結(jié)符的非空有限集,終結(jié)符通常用小寫字母表示。 l VN是一個非終結(jié)符的非空有限集,非終結(jié)符通常用大寫字母表示。 l S是一個特殊的非終結(jié)符(SVN),稱為開始符號。 l VP是一個產(chǎn)生式(規(guī)則)的有限集合,每個產(chǎn)生式的形式是A ,其中AVN,(VTVN)*。,3.2上下文無關(guān)文法,終結(jié)符是語言的基本符號,就是源程序中的單詞,是語言不可分割的最小單位。 單詞經(jīng)過詞法分析后,語法分析只使用單詞二元式的種別code。 語法分析關(guān)心的是:單詞是標(biāo)識符還是常數(shù),不
8、考慮是哪個標(biāo)識符,常數(shù)是多少。,3.2上下文無關(guān)文法,因此,終結(jié)符用單詞的種別表示。 i 表示標(biāo)識符 x 表示整形或?qū)嵭巫兞?y 表示無符號實(shí)常數(shù) 單字符單詞種別與單詞本身相同+ 基本字借用原單詞形式,3.2上下文無關(guān)文法,非終結(jié)符用來表示抽象的語法單位,算術(shù)表達(dá)式,賦值語句,說明語句,程序。 通常用大寫字母表示,也用表示 開始符號是特殊的非終結(jié)符,定義文法的出發(fā)點(diǎn),3.2上下文無關(guān)文法,產(chǎn)生式是定義語法單位的一種書寫規(guī)則。 上下文無關(guān)文法產(chǎn)生式的左部必定是一個非終結(jié)符,該非終結(jié)符稱為產(chǎn)生式的左部符號,簡稱左部符號。 產(chǎn)生式的右部是終結(jié)符和非終結(jié)符經(jīng)過有限次連接構(gòu)成的文法符號串,可以是空字。,
9、3.2上下文無關(guān)文法,為方便,若干個左部符號相同的產(chǎn)生式,如 A 1 A 2 A 3 A 4 A N 合并:A 1 | 2| | N,3.2上下文無關(guān)文法,例: G=(VT,VN,S,VP) VT=+,*,(,),i VN=E S=E VP=EE+E,EE*E,E(E),Ei 可簡記為: G:EE+E|E*E| (E)|i 根據(jù)上述文法,可推導(dǎo)出任何僅包含加乘的算術(shù)表達(dá)式。,3.2上下文無關(guān)文法,基本術(shù)語 直接推出和直接歸約 推導(dǎo)和歸約 句型 句子 語言 等價文法 最左推導(dǎo)和最右推導(dǎo),3.2上下文無關(guān)文法,文法的二義性 語法樹 我們可以用一個有向圖表示一個句型的推導(dǎo),這種表示稱為語法樹。 在一
10、般情況下,某一句型不論其推導(dǎo)過程如何,其最終形成的語法樹是相同的,故語法樹是不同推導(dǎo)過程的共性抽象。若僅進(jìn)行最左(右)推導(dǎo),則語法樹和最左(右)推導(dǎo)等價。,3.2上下文無關(guān)文法,二義文法 某些文法的句型的推導(dǎo)可能對應(yīng)一棵以上的語法樹,或存在一個以上的最左(右)推導(dǎo)。,3.2上下文無關(guān)文法,例:已知文法G:EE+E|E*E|(E)|i和句子i+i*i,該句子存在二個最左(右)推導(dǎo),即二棵語法樹。,3.2上下文無關(guān)文法,語法樹1(先形成+后形成*),3.2上下文無關(guān)文法,語法樹2(先形成*后形成+),3.2上下文無關(guān)文法,句子i+i*i的二個最左推導(dǎo)序列: EE+Ei+Ei+E*Ei+i*Ei+i*i EE*EE+E*Ei+E*Ei+i*Ei+i*i 句子i+i*i的二個最右推導(dǎo)序列: EE+EE+E*EE+E*iE+i*ii+i*i EE*EE*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度可再生能源并網(wǎng)合同范本
- 金華浙江金華永康市環(huán)境衛(wèi)生管理處工作人員招聘筆試歷年參考題庫附帶答案詳解
- 西安2025年陜西西安音樂學(xué)院專任教師招聘20人筆試歷年參考題庫附帶答案詳解
- 舟山2025年浙江舟山市定海區(qū)昌國街道招聘公益性崗位筆試歷年參考題庫附帶答案詳解
- 八年級上學(xué)期1月期末語文試題(PDF版無答案)-3
- 漯河2024年河南漯河西城區(qū)現(xiàn)代服務(wù)業(yè)開發(fā)區(qū)工作委員會人才引進(jìn)筆試歷年參考題庫附帶答案詳解
- 溫州浙江溫州平陽縣科學(xué)技術(shù)局招聘編外工作人員筆試歷年參考題庫附帶答案詳解
- 溫州2025年浙江溫州永嘉縣人民醫(yī)院醫(yī)共體永嘉縣婦幼保健院招聘(一)筆試歷年參考題庫附帶答案詳解
- 泉州2025年福建南安市衛(wèi)生事業(yè)單位招聘編制內(nèi)衛(wèi)生類工作人員51人筆試歷年參考題庫附帶答案詳解
- 普洱2025年云南普洱第二中學(xué)招聘編外教學(xué)人員筆試歷年參考題庫附帶答案詳解
- 《如何有效組織幼兒開展體能大循環(huán)活動》課件
- 大學(xué)計算機(jī)基礎(chǔ)(第6版)(微課版)課件 第1章認(rèn)識計算機(jī)
- 壓瘡課件教學(xué)課件
- 精神分裂癥合并糖尿病患者護(hù)理查房課件
- 河南省南陽市2023-2024學(xué)年八年級上學(xué)期期末考試數(shù)學(xué)試題
- GB/T 44230-2024政務(wù)信息系統(tǒng)基本要求
- 共享wifi貼合同范本
- 統(tǒng)戰(zhàn)工作先進(jìn)個人事跡材料
- 成人鼻腸管的留置與維護(hù)
- 國能遼寧北票 200MW 風(fēng)力發(fā)電項(xiàng)目地質(zhì)災(zāi)害危險性評估報告
- 2024年松溪縣城投實(shí)業(yè)集團(tuán)有限公司招聘筆試沖刺題(帶答案解析)
評論
0/150
提交評論