第3章詞法成分_第1頁
第3章詞法成分_第2頁
第3章詞法成分_第3頁
第3章詞法成分_第4頁
第3章詞法成分_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、源程序基于相應(yīng)的程序設(shè)計語言的表達(dá)能源程序基于相應(yīng)的程序設(shè)計語言的表達(dá)能力和表示,因此各種語言的源程序的形力和表示,因此各種語言的源程序的形式是有所不同的,但仍有許多共有的特式是有所不同的,但仍有許多共有的特征。征。源程序在目前仍是由源程序在目前仍是由正文形式正文形式(字符串形(字符串形式)來表達(dá)式)來表達(dá),由一串詞(字符)組成。并由一串詞(字符)組成。并遵守程序設(shè)計語言中的若干約定,如:遵守程序設(shè)計語言中的若干約定,如:自由格式自由格式/固定格式、詞之間和語法單位之固定格式、詞之間和語法單位之間的分隔、換行規(guī)定間的分隔、換行規(guī)定等。等。源程序視為句子,由源程序視為句子,由終結(jié)符終結(jié)符組成。組

2、成。劃分方式:語法單位劃分方式:語法單位詞法單位(詞法單位(二級二級) 語法單位語法單位 詞法單位詞法單位 字符(字符(三級三級) 從語義看,詞法單位是具有獨(dú)立語義的;從語義看,詞法單位是具有獨(dú)立語義的;從實(shí)現(xiàn)看,詞法單位一般被處理為一個詞牌從實(shí)現(xiàn)看,詞法單位一般被處理為一個詞牌(token)從表示看,不再劃分的單位(二級),或由更從表示看,不再劃分的單位(二級),或由更小的單位組成(三級)。小的單位組成(三級)。語法單位通常對應(yīng)語法單位通常對應(yīng)非終結(jié)符非終結(jié)符。它由一個或多個它由一個或多個詞法單位組成。詞法單位組成。切分詞是否依賴于上下文,與語言的約定有關(guān)。切分詞是否依賴于上下文,與語言的約

3、定有關(guān)。如:一般語言規(guī)定如:一般語言規(guī)定 保留字和用戶定義的名不保留字和用戶定義的名不能同名等能同名等,為了分析時方便為了分析時方便。 3.2.1編碼集編碼集 由于編碼集是計算機(jī)系統(tǒng)的基本環(huán)境,由于編碼集是計算機(jī)系統(tǒng)的基本環(huán)境,需要有統(tǒng)一的編碼集才有利于計算機(jī)系需要有統(tǒng)一的編碼集才有利于計算機(jī)系統(tǒng)的發(fā)展。統(tǒng)的發(fā)展。 采用單字節(jié)編碼和雙字節(jié)編碼混合使用采用單字節(jié)編碼和雙字節(jié)編碼混合使用是目前常見的。是目前常見的。 3.2.2通用編碼集(通用編碼集(ISO10646)ISO/JEC 10646(UCS)是通用多八位編碼字符集)是通用多八位編碼字符集的國際標(biāo)準(zhǔn)。的國際標(biāo)準(zhǔn)。UCS: Universa

4、l Multiple-octet Coded Character SetCJK: Chinese Hanzi/Japanese Hanzi/Korean Hanzi的簡稱的簡稱UCS是多用途的,可適用于多文種的代碼,表示、是多用途的,可適用于多文種的代碼,表示、傳輸、交換、處理、存儲、輸入、外現(xiàn)傳輸、交換、處理、存儲、輸入、外現(xiàn)源程序中允許出現(xiàn)的字符(不管采用什么源程序中允許出現(xiàn)的字符(不管采用什么編碼集)基本上有下列幾類:編碼集)基本上有下列幾類:(1)空格符)空格符 (分隔用)(分隔用)(2)計算機(jī)字符(擴(kuò)充字符,功能字符)計算機(jī)字符(擴(kuò)充字符,功能字符)(3)程序設(shè)計語言中的字符(字母、

5、數(shù)字、)程序設(shè)計語言中的字符(字母、數(shù)字、標(biāo)點(diǎn)符號)標(biāo)點(diǎn)符號)(4)若干典型的功能字符。)若干典型的功能字符。詞詞 法單位是具有獨(dú)立語義的原子單位,源程法單位是具有獨(dú)立語義的原子單位,源程序由它逐次通過語法單位而構(gòu)成。序由它逐次通過語法單位而構(gòu)成。1.保留字保留字是由程序設(shè)計語言中預(yù)定義的,且僅為有限是由程序設(shè)計語言中預(yù)定義的,且僅為有限多個。如多個。如C+的的的的throw, class, if作用可分為作用可分為基字基字和和任選字任選字基字基字常用于表明相應(yīng)語法單位(如語句、短常用于表明相應(yīng)語法單位(如語句、短語)的開始,如語)的開始,如procedure.任選字任選字是為了易閱讀性而引入

6、的,本身并不是為了易閱讀性而引入的,本身并不具有任何的功能,可出現(xiàn)也可不出現(xiàn)。具有任何的功能,可出現(xiàn)也可不出現(xiàn)。課課本本P61的的COBOL的例子。的例子。 2.限界符限界符用于分清語法結(jié)構(gòu),指明范圍,有利于程序用于分清語法結(jié)構(gòu),指明范圍,有利于程序的結(jié)構(gòu)化表示。的結(jié)構(gòu)化表示。如如IF FI, , BEGIN END,RECORD ENDRECORD, /* */“;” 3.名名標(biāo)識符,自定義名。在標(biāo)識符,自定義名。在COBOL語言中,標(biāo)識語言中,標(biāo)識符是唯一標(biāo)識一個量的名。符是唯一標(biāo)識一個量的名。組成形式為組成形式為“以字母開頭的字母數(shù)字串以字母開頭的字母數(shù)字串”,也,也有有A-01等。等。

7、從語法單位看,可視為由幾個詞法單位組成。從語法單位看,可視為由幾個詞法單位組成。從語義上看,視為一個語義整體。從語義上看,視為一個語義整體。名的定義權(quán)限應(yīng)分為三級理解:名的定義權(quán)限應(yīng)分為三級理解:語言級、系語言級、系統(tǒng)實(shí)現(xiàn)級和用戶定義級統(tǒng)實(shí)現(xiàn)級和用戶定義級。語言級的名語言級的名的級別最高,如的級別最高,如CON,有限多,有限多個,在保留字中可以找到。個,在保留字中可以找到。系統(tǒng)實(shí)現(xiàn)級的名系統(tǒng)實(shí)現(xiàn)級的名由實(shí)現(xiàn)系統(tǒng)(編譯環(huán)境、運(yùn)由實(shí)現(xiàn)系統(tǒng)(編譯環(huán)境、運(yùn)行環(huán)境)決定,一般不會和語言級的重名。行環(huán)境)決定,一般不會和語言級的重名。用戶定義名的級別最低,不規(guī)定用戶定義名用戶定義名的級別最低,不規(guī)定用戶定

8、義名的最多個數(shù),但由于實(shí)現(xiàn)系統(tǒng)的有限空間的最多個數(shù),但由于實(shí)現(xiàn)系統(tǒng)的有限空間等約束,個數(shù)仍有限度。等約束,個數(shù)仍有限度。 4.常量常量常量是相對變量而言的。源程序中的常量是常量是相對變量而言的。源程序中的常量是由字符串按規(guī)定組成的。由字符串按規(guī)定組成的。(1)數(shù)值常量的類型和語言中的數(shù)值數(shù)據(jù)對應(yīng);數(shù)值常量的類型和語言中的數(shù)值數(shù)據(jù)對應(yīng);(2)非數(shù)值常量的類型一般為字符或字符串,但也非數(shù)值常量的類型一般為字符或字符串,但也有字位串。有字位串。(3)一些特殊的常量,如一些特殊的常量,如NIL,NULL(4)從實(shí)現(xiàn)的角度,字位串的存儲長度應(yīng)是從實(shí)現(xiàn)的角度,字位串的存儲長度應(yīng)是8bit的位的位數(shù)數(shù)(5)

9、字符串中允許出現(xiàn)的字符將主要由實(shí)現(xiàn)系統(tǒng)來字符串中允許出現(xiàn)的字符將主要由實(shí)現(xiàn)系統(tǒng)來決定。如回車換行字符。決定。如回車換行字符。 5注解(注解(REMARK)和編注)和編注(pragma)注解注解是為了增加源程序的易讀性是為了增加源程序的易讀性pragma出現(xiàn)于出現(xiàn)于Ada語言中,用于程序設(shè)計語言中,用于程序設(shè)計語言和計算機(jī)實(shí)現(xiàn)系統(tǒng)之間的聯(lián)系。語言和計算機(jī)實(shí)現(xiàn)系統(tǒng)之間的聯(lián)系。 詞法單位的劃分和詞牌的構(gòu)成是有區(qū)別詞法單位的劃分和詞牌的構(gòu)成是有區(qū)別的。的。 詞牌的構(gòu)成由實(shí)現(xiàn)系統(tǒng)完成,而實(shí)現(xiàn)系詞牌的構(gòu)成由實(shí)現(xiàn)系統(tǒng)完成,而實(shí)現(xiàn)系統(tǒng)中常常以統(tǒng)中常常以方便方便和和效率效率作為考慮的主要作為考慮的主要因素。因素。 例如:例如: x: array1.100 of real;按照切分的要求,可劃分為下列的若干詞:按照切分的要求,可劃分為下列的若干詞:x: array1.100 of real但在名表中的元素將是詞牌但在名表中的元素將是詞牌token(x),可以是一個記可以是一個記錄值:錄值:(x %詞牌名詞牌名%array 屬性,表示數(shù)組屬性,表示數(shù)組1 維數(shù)維數(shù)1 下界(第下界(第1維)維) 100 上界(第上界(第1維)維) real 屬性,元素的類型,表示實(shí)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論