資源描述:
《淺談媒體融合背景下的廣電版權(quán)管理》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、塔里木大學(xué)-信息工程學(xué)院《編譯原理》結(jié)課大作業(yè)《詞法分析》設(shè)計(jì)說明書學(xué)生姓名阿娜爾古麗·臺外庫力學(xué)號5011110112所屬學(xué)院信息工程學(xué)院專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級計(jì)算機(jī)15-1信息工程學(xué)院塔里木大學(xué)-信息工程學(xué)院摘要:計(jì)算機(jī)系統(tǒng)與人信息交換界面多數(shù)是應(yīng)用高級語言來實(shí)現(xiàn)。一個(gè)高級語言程序的實(shí)現(xiàn),必須依賴于相應(yīng)的編譯系統(tǒng)。所謂編譯程序就是指能夠把某一種語言程序轉(zhuǎn)換成另一種與之等價(jià)的語言程序。它通常包括五個(gè)階段:詞法分析,語法分析,語義分析與中間代碼的產(chǎn)生、優(yōu)化,目標(biāo)代碼的生成。完成計(jì)算機(jī)翻譯過程的關(guān)鍵階段,它為后面的語法分析、語義分析做好準(zhǔn)備,打好基礎(chǔ),以便快速地、高質(zhì)量地生成目標(biāo)語言
2、程序。因此詞法分析是編譯的基礎(chǔ)。詞法分析器所處理的對象即詞法分析程序的輸入數(shù)據(jù),實(shí)際上是源程序經(jīng)過編譯預(yù)處理,去掉多余的符號后而形成的代碼,這樣給詞法分析帶來方便。詞法分析的過程是線性的從頭至尾掃描一遍,復(fù)雜度較低,易實(shí)現(xiàn)。關(guān)鍵詞:詞法分析C語言標(biāo)識符塔里木大學(xué)-信息工程學(xué)院目錄1、引言12、基于c語言詞法分析器的設(shè)計(jì)12.1詞法分析器的設(shè)計(jì)原則12.2詞法分析器的設(shè)計(jì)對象12.3詞法分析器的任務(wù)及功能2-2.4各種單詞符號對應(yīng)的種別碼:23、基于c語言詞法分析器的實(shí)現(xiàn)33.1詞法分析程序的算法思想:33.2主程序示意圖:33.3函數(shù)定義說明43.4程序設(shè)計(jì)實(shí)現(xiàn)及功能說明54、詞法分
3、析程序的C語言程序源代碼:5-5、結(jié)果分析:116、總結(jié)12參考文獻(xiàn)12塔里木大學(xué)-信息工程學(xué)院1、引言計(jì)算機(jī)系統(tǒng)與人信息交換界面多數(shù)是應(yīng)用高級語言來實(shí)現(xiàn)。一個(gè)高級語言程序的實(shí)現(xiàn),必須依賴于相應(yīng)的編譯系統(tǒng)。所謂編譯程序就是指能夠把某一種語言程序轉(zhuǎn)換成另一種與之等價(jià)的語言程序。它通常包括五個(gè)階段:詞法分析,語法分析,語義分析與中間代碼的產(chǎn)生、優(yōu)化,目標(biāo)代碼的生成。完成計(jì)算機(jī)翻譯過程的關(guān)鍵階段,它為后面的語法分析、語義分析做好準(zhǔn)備,打好基礎(chǔ),以便快速地、高質(zhì)量地生成目標(biāo)語言程序。因此詞法分析是編譯的基礎(chǔ)。2、基于c語言詞法分析器的設(shè)計(jì)2.1詞法分析器的設(shè)計(jì)原則在編譯程序工作的五個(gè)階段中,
4、每個(gè)階段都必須遵從功能等價(jià)的原則。詞法規(guī)則與語法分析階段依據(jù)的語法規(guī)則一同構(gòu)成了一個(gè)語言的語法,而語法則是從"形"的角度衡量一個(gè)程序是否合法。所以在詞法分析階段,詞法規(guī)則成為重要的研究對象。詞法分析器所處理的對象即詞法分析程序的輸入數(shù)據(jù),實(shí)際上是源程序經(jīng)過編譯預(yù)處理,去掉多余的符號后而形成的代碼,這樣給詞法分析帶來方便。詞法分析的過程是線性的從頭至尾掃描一遍,復(fù)雜度較低,易實(shí)現(xiàn)。2.2詞法分析器的設(shè)計(jì)對象在計(jì)算機(jī)翻譯中,詞法分析的關(guān)鍵之一在于如何識別單詞的種類,特別是面對定義形式一樣、結(jié)構(gòu)完全相同的標(biāo)識符和保留字,如何正確地解決對它們的識別處理,是詞法分析中的一項(xiàng)重要任務(wù)。由于我們規(guī)
5、定的c語言程序語句中涉及單詞較少,故在詞法分析階段忽略了單詞輸入錯(cuò)誤的檢查,而將編譯程序的重點(diǎn)放在中間代碼生成階段。詞法分析器的功能是輸入源程序,輸出單詞符號。規(guī)定輸出的單詞符號格式為如下的二元式:(單詞種別,單詞自身的值)。通常一種程序語言中定義的單詞種類包括標(biāo)識符(identifier)、保留字(reservedword)、常數(shù)(literal)、運(yùn)算符(operator)、界符等。C語言中定義了屬于這五種類型的大量的單詞,但是由于預(yù)編譯器只識別我們自定義的注釋,因此預(yù)編譯器處理的單詞集只是52塔里木大學(xué)-信息工程學(xué)院C語言中定義的單詞集的一個(gè)真子集。2.3詞法分析器的任務(wù)及功能
6、2.3.1詞法分析器的任務(wù)從左至右逐個(gè)字符地對源程序進(jìn)行掃描,產(chǎn)生一個(gè)個(gè)的單詞符號,把作為字符串的源程序轉(zhuǎn)換成為單詞符號串的中間程序。詞法分析程序的輸出結(jié)果是組成語言的基本元素即單詞,在實(shí)際處理的時(shí)候,輸出并非單詞,而是每個(gè)單詞對應(yīng)的二元式,形為<單詞種別,單詞符號的屬性>,編碼的方式由編譯系統(tǒng)的研制者決定。故經(jīng)過詞法分析,在輸出結(jié)果中并沒有單詞本身。2.3.2詞法分析程序的功能:輸入:所給文法的源程序字符串。輸出:二元組(syn,token或sum)構(gòu)成的序列。其中:syn為單詞種別碼;token為存放的單詞自身字符串;sum為整型常數(shù)。例如:對源程序beginx:=9:ifx>9
7、thenx:=2*x+1/3;end#的源文件,經(jīng)過詞法分析后輸出如下序列:(1,begin)(10,x)(18,:=)(11,9)(26,;)(2,if)……2.4各種單詞符號對應(yīng)的種別碼:表2.4各種單詞符號對應(yīng)的種別碼單詞符號種別碼單詞符號種別碼bgin1:17If2:=18Then3<20wile4<>2152塔里木大學(xué)-信息工程學(xué)院do5<=22end6>23lettet(letter
8、digit)*10>=24dightdight*11=25+