編譯原理課程設(shè)計指導(dǎo)書(含參考選題)(2016版)_第1頁
編譯原理課程設(shè)計指導(dǎo)書(含參考選題)(2016版)_第2頁
編譯原理課程設(shè)計指導(dǎo)書(含參考選題)(2016版)_第3頁
編譯原理課程設(shè)計指導(dǎo)書(含參考選題)(2016版)_第4頁
編譯原理課程設(shè)計指導(dǎo)書(含參考選題)(2016版)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 編 譯 原 理 課 程 設(shè) 計 指 導(dǎo) 書李宏芒 編 寫適用專業(yè):計算機(jī)科學(xué)與技術(shù)合肥工業(yè)大學(xué)計算機(jī)與信息學(xué)院2016年 6月編譯原理是計算機(jī)專業(yè)的一門重要的專業(yè)課程,其中包含大量軟件設(shè)計思想。大家通過課程設(shè)計,實現(xiàn)一些重要的算法,或設(shè)計一個完整的編譯程序模型,能夠進(jìn)一步加深理解和掌握所學(xué)知識,對提高自己的軟件設(shè)計水平具有十分重要的意義。課程設(shè)計的內(nèi)容主要包括: 詞法分析。利用狀態(tài)轉(zhuǎn)換圖設(shè)計詞法分析器。從正規(guī)式構(gòu)造非確定有限自動機(jī)(NFA)。用子集法把非確定有限自動機(jī)(NFA)確定化為確定有限自動機(jī)(DFA)。確定有限自動機(jī)(DFA)狀態(tài)最少化。 語法分析。自上而下分析。遞歸子程序分析和預(yù)測

2、分析。自下而上分析。算符優(yōu)先分析法和LR分析程序。 語義分析和中間代碼產(chǎn)生?;谝槐閽呙璧恼Z法制導(dǎo)翻譯方法。算術(shù)表達(dá)式、賦值語句、布爾表達(dá)式、控制語句等語法單位的翻譯模式。大家在進(jìn)行課程設(shè)計時,可以選擇本指導(dǎo)書提供給大家的一些參考選題,或者可以從上述課程設(shè)計的內(nèi)容中選擇某個主題,抽象成一個模型,以確定自己的設(shè)計題目,上機(jī)完成軟件開發(fā)。軟件開發(fā)可選擇C+、C#、Java等語言(也可以是你熟悉的任何語言)。最后每位同學(xué)都要認(rèn)真撰寫課程設(shè)計報告,格式要規(guī)范,內(nèi)容要詳盡,主要包括: 設(shè)計題目(封面含姓名、學(xué)號等), 設(shè)計目的及設(shè)計要求 設(shè)計內(nèi)容(問題的描述及解決的方法)、主要算法描述(流程圖), 設(shè)計

3、的輸入和輸出形式 程序運行(測試、模擬)的結(jié)果(屏幕拷貝、生成結(jié)果的打印輸出), 總結(jié)(體會) 源程序清單(部分核心代碼)作為報告的附件。希望每個同學(xué)盡可能不要都選擇完全一樣的題目(原則上同一個班學(xué)生不重復(fù)選題)。大家可以自主選題,或選擇本指導(dǎo)書提供的題目,也可以把幾個題目合起來做以增加工作量或難度(如開發(fā)一個小的編譯器等)。鼓勵選擇有一定技術(shù)難度、有一定工作量、綜合性較強(qiáng)的題目,在評定成績時將會給予好的成績。編譯原理課程設(shè)計部分參考選題:1 題目: FORTRAN語言實型常數(shù)識別程序設(shè)計設(shè)計內(nèi)容及要求: 將教材P.41的圖3.2(d)識別FORTRAN實型常數(shù)的狀態(tài)轉(zhuǎn)換圖用程序?qū)崿F(xiàn)。程序能夠

4、從用戶輸入的任意一個字符串中識別出FORTRAN實型常數(shù),顯示輸出。2 題目: 簡化的FORTRAN語言詞法分析程序設(shè)計設(shè)計內(nèi)容及要求:將教材P.42上的表3.1的詞法分析器構(gòu)造出來,限制條件如教材所述。保留字的識別按標(biāo)識符一樣識別,通過查找保留字表區(qū)分是保留字還是標(biāo)識符。程序能夠從用戶輸入的源程序中,識別出的單詞符號,并用二元式表示,顯示輸出或輸出到文件中。3 題目: -CLOSURE(I)構(gòu)造算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:將-CLOSURE(I)構(gòu)造算法用程序?qū)崿F(xiàn)。要求:對任意給定的一個NFA M(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中)的某一個狀態(tài)子集I,顯示輸出構(gòu)造出的-CLO

5、SURE(I)。4 題目: 從右線性文法構(gòu)造與之等價的有限自動機(jī)的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一轉(zhuǎn)換程序,實現(xiàn)將用戶任意給定的右線性文法,轉(zhuǎn)換為與之等價的有限自動機(jī)FA M,輸出其狀態(tài)轉(zhuǎn)換矩陣(顯示輸出或輸出到文件中)。5 題目: 從有限自動機(jī)構(gòu)造與之等價的右線性文法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一轉(zhuǎn)換程序,實現(xiàn)將用戶任意給定的有限自動機(jī)FA M,轉(zhuǎn)換為與之等價的右線性文法,顯示輸出或輸出到文件中。6 題目: 有限自動機(jī)的狀態(tài)轉(zhuǎn)換圖顯示程序的實現(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn):將任一給定的有限自動機(jī)M(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中),在屏幕上顯示輸出M的狀態(tài)轉(zhuǎn)換圖。程序應(yīng)具

6、有通用性,狀態(tài)節(jié)點在屏幕上的分布應(yīng)合理、美觀。7 題目: 從NFA構(gòu)造與之等價的正規(guī)式r的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:對給定的任意NFA M(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息分別保存在指定文件中)。構(gòu)造一程序,從NFA構(gòu)造與之等價的正規(guī)式r,并顯示輸出。8 題目: 構(gòu)造正規(guī)式r1|r2(或運算)的NFA的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:對給定的正規(guī)式r1、r2,已知它們的NFA分別為M1、M2(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息分別保存在指定文件中)。構(gòu)造一程序,由此程序構(gòu)造正規(guī)式r1|r2(或運算)的NFA(將其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中)。9 題目: 構(gòu)造正規(guī)式r1r2(連接運算)的NFA

7、的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:對給定的正規(guī)式r1、r2,已知它們的NFA分別為M1、M2(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息分別保存在指定文件中)。構(gòu)造一程序,由此程序構(gòu)造正規(guī)式r1r2(連接運算)的NFA(將其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中)。10 題目: 構(gòu)造正規(guī)式r*(閉包運算)的NFA的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:對給定的正規(guī)式r,已知其NFA為M(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中)。構(gòu)造一程序,由此程序構(gòu)造正規(guī)式r*(閉包運算)的NFA(將其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中)。11 題目: 基于語法制導(dǎo)構(gòu)造正規(guī)式的NFA設(shè)計內(nèi)容及要求:首先構(gòu)造一個語法分析

8、程序,實現(xiàn)對任意正規(guī)式的語法分析。語法分析方法采用自下而上的分析方法(如算符優(yōu)先分析,或LR分析)。在此語法分析器的基礎(chǔ)上,按照語法制導(dǎo)的思想,增加構(gòu)造NFA的功能。生成的NFA將其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中。進(jìn)一步實現(xiàn)把NFA確定化為DFA 的算法(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中)。12 題目: DFA M狀態(tài)最少化的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn):將給定的DFA M(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中)的有限狀態(tài)集S劃分成若干互不相交的子集,使得:任何不同的兩個子集中的狀態(tài)都是可區(qū)別的,而同一子集中的任何兩個狀態(tài)都是等價的(要利用Ia

9、函數(shù),但并不需要構(gòu)造-CLOSURE函數(shù),因這是DFA)。輸出化簡后的DFA M(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中)。13 題目: 把NFA確定化為DFA 的算法實現(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn):將給定的NFA M(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中),確定化為DFA M。(要先實現(xiàn)-CLOSURE函數(shù)和Ia函數(shù))。輸出DFA M(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中)。14 題目: 基于貪心算法的DFA 的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:采用貪心算法實現(xiàn)教材P.62表3.5的DFA,要求從輸入串中匹配最長的子串。輸出所有識別出的符號串及其詞形。15 題目: 根

10、據(jù)句型的推導(dǎo)構(gòu)造其語法分析樹的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn):接受用戶任意輸入的一個句型的推導(dǎo)序列,生成該句型的語法分析樹并顯示輸出。程序應(yīng)具有通用性,語法分析樹的節(jié)點在屏幕上的分布要合理、美觀。16 題目: 從語法分析樹構(gòu)造句型所有的推導(dǎo)的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn):接受用戶任意輸入的一個句型的語法分析樹(其表示存于指定文件中),生成該語法分析樹中包含的該句型的所有推導(dǎo)(顯示輸出)。17 題目: 遞歸下降分析程序的實現(xiàn)設(shè)計內(nèi)容及要求:對文法 G: EE+T|T 構(gòu)造出G的遞歸下降分析程序。程序顯示輸出TT*F|F 匹配過程(即自上而下生成語法分析樹的步驟,F(xiàn)(E)|i

11、 輸出各匹配產(chǎn)生式序號即可)。18 題目: 集合FIRST(X)構(gòu)造算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn)教材P.78的FIRST(X)集合的構(gòu)造算法。對任一給定的文法G,程序輸出所有非終結(jié)符P的FIRST(P)。19 題目: 集合FOLLOW(A)構(gòu)造算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:首先,構(gòu)造一程序,實現(xiàn)教材P.78的FIRST(X)集合的構(gòu)造算法。對任一給定的文法G,程序輸出所有非終結(jié)符P的FIRST(P)。在此基礎(chǔ)上,構(gòu)造一程序,實現(xiàn)教材P.79的FOLLOW(A)集合的構(gòu)造算法。對任一給定的文法G,程序輸出所有非終結(jié)符A的FOLLOW (A)。20 題目: 預(yù)測分析表構(gòu)造算法的程

12、序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:對于給定的一個LL(1)文法,假定所有非終結(jié)符號P的集合FIRST(P)和集合FOLLOW(P)都已知,構(gòu)造其預(yù)測分析表(實現(xiàn)教材P.79給出的預(yù)測分析表構(gòu)造算法)。對教材P.79給出的例4.7構(gòu)造出預(yù)測分析表。程序顯示輸出預(yù)測分析表或輸出到指定文件中。21 題目: 預(yù)測分析表自動構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:對于任意輸入的一個LL(1)文法,構(gòu)造其預(yù)測分析表。要求:首先實現(xiàn)集合FIRST(X)構(gòu)造算法和集合FOLLOW(A)構(gòu)造算法,再實現(xiàn)教材P.79給出的預(yù)測分析表構(gòu)造算法。程序顯示輸出預(yù)測分析表或輸出到指定文件中。22 題目: 預(yù)測分析程序的實現(xiàn)設(shè)計內(nèi)容及要求:對文

13、法 G: EE+T|T 按教材P.76表4.1構(gòu)造出G的預(yù)測分析程序, TT*F|F 程序顯示輸出如P.78那樣的匹配過程。F(E)|i23 題目: 集合FIRSTVT(P)構(gòu)造算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn)教材P.91的FIRSTVT(P)集合的構(gòu)造算法。對任一給定的算符文法G,程序輸出所有非終結(jié)符P的FIRSTVT(P)。24 題目: 集合LASTVT(P)構(gòu)造算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn)教材P.91的LASTVT(P)集合的構(gòu)造算法。對任一給定的算符文法G,程序輸出所有非終結(jié)符P的LASTVT(P)。25 題目: 算符優(yōu)先分析算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求

14、:對文法 G: EE+T|T 采用教材P.90表5.1,實現(xiàn)P.93描述的算符優(yōu)先TT*F|F 分析算法。程序顯示輸出“移進(jìn)-歸約”的步驟。FPF|PP(E)|i26 題目: 帶出錯處理的算符優(yōu)先分析算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:對文法 G: EE+T|T 采用教材P.98表5.3,實現(xiàn)P.93描述的算符優(yōu)先TT*F|F 分析算法。程序顯示輸出“移進(jìn)-歸約”的步驟。F(E)|i 要編制各出錯處理子程序。27 題目: 優(yōu)先表構(gòu)造算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求: 實現(xiàn)教材P.92優(yōu)先表構(gòu)造算法。對任一給定的算符優(yōu)先文法G,假定所有非終結(jié)符P的FIRSTVT(P)、LASTVT(P)均已知。以教材P.

15、90例5.4文法為例,程序生成表5.1優(yōu)先表。28 題目: 優(yōu)先表自動構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:對任一給定的算符優(yōu)先文法G,構(gòu)造其優(yōu)先表。要求:首先實現(xiàn)對于非終結(jié)符P的FIRSTVT(P)構(gòu)造算法和LASTVT(P)構(gòu)造算法,再實現(xiàn)教材P.92給出的優(yōu)先表構(gòu)造算法。以教材P.90例5.4文法為例,程序生成表5.1優(yōu)先表。29 題目: 優(yōu)先函數(shù)構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn):根據(jù)優(yōu)先關(guān)系表構(gòu)造優(yōu)先函數(shù)。輸入的優(yōu)先表假定保存在指定文件中,構(gòu)造出的優(yōu)先函數(shù)可顯示輸出,或輸出到指定文件中。30 題目: 消除左遞歸算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn)教材P.70消除左遞歸算

16、法。對于用戶任意輸入的文法G,輸出一個無左遞歸的等價文法,可顯示輸出,或輸出到指定文件中。31 題目: 消除回溯算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn):消除文法每一條產(chǎn)生式候選式的公共左因子。對于用戶任意輸入的文法G,輸出一個無回溯的等價文法,可顯示輸出,或輸出到指定文件中。32 題目: LR分析器總控程序的實現(xiàn)設(shè)計內(nèi)容及要求:對P.101中的文法,按圖5.5LR分析表構(gòu)造LR分析器。要求程序按P.102例5.7那樣,對于輸入串i*i+i,輸出LR分析器的工作過程。33 題目: 識別文法活前綴的NFA構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,對任意給定的文法G:構(gòu)造并輸出G的所有LR(

17、0)項目;用這些LR(0)項目構(gòu)造并輸出識別文法活前綴的NFA(輸出其狀態(tài)轉(zhuǎn)換矩陣)。34 題目: LR(0)項目集規(guī)范族構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,對任意給定的文法G,構(gòu)造識別文法活前綴的DFA,輸出DFA的狀態(tài)轉(zhuǎn)化矩陣及LR(0)項目集規(guī)范族。要求按教材P.107所給的ITEMSETS(G)構(gòu)造,要實現(xiàn)CLOSURE(I)、GO(I,X)函數(shù)。按P.105例5.8給出測試結(jié)果,可輸出到指定文件中。35 題目: LR(0)分析表構(gòu)造算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求: 構(gòu)造一程序,實現(xiàn)LR(0)分析表構(gòu)造算法。根據(jù)教材P.106圖5.7的識別文法活前綴的DFA,輸出如P.109表5.

18、4的LR(0)分析表,可輸出到指定文件中。36 題目: LR(0)分析器自動構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:對任意給定的文法G,構(gòu)造識別文法活前綴的DFA,輸出DFA的狀態(tài)轉(zhuǎn)化矩陣及LR(0)項目集規(guī)范族;實現(xiàn)LR(0)分析表構(gòu)造算法;實現(xiàn)LR分析器總控程序。程序輸出一個完整的LR(0)分析器源程序,可輸出到指定文件中。37 題目: SLR(1)分析表構(gòu)造算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn)SLR(1)分析表構(gòu)造算法(假定所給文法識別文法活前綴的DFA、LR(0)項目集族、所有非終結(jié)符FOLLOW集合均已構(gòu)造出來了)。根據(jù)教材P.111例5.11文法為輸入,構(gòu)造其SLR(1)分析表。3

19、8 題目: LR(1)項目集規(guī)范族構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,對任意給定的文法G構(gòu)造LR(1)項目集規(guī)范族(按教材P.115所述方法構(gòu)造,要實現(xiàn)CLOSURE(I)、GO(I,X),集合FIRST的構(gòu)造方法參見教材P.78)。39 題目: LR(1)分析表構(gòu)造算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,實現(xiàn)LR(1)分析表構(gòu)造算法(假定所給文法識別文法活前綴的DFA、LR(1)項目集族已構(gòu)造出來了)。根據(jù)教材P.116圖5.10的LR(1)項目集族和GO函數(shù)為輸入,構(gòu)造并輸出其LR(1)分析表5.5。40 題目: LR(1)分析表自動構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:對任意給定的文法G

20、構(gòu)造LR(1)項目集規(guī)范族(按教材P.115所述方法構(gòu)造,要求實現(xiàn)CLOSURE(I)、GO(I,X)、FIRST(集合FIRST的構(gòu)造方法參見教材P.78);然后實現(xiàn)LR(1)分析表構(gòu)造算法。以教材P.115例5.13為輸入,構(gòu)造并輸出其LR(1)分析表5.5。41 題目: LALR(1) 項目集規(guī)范族構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:假設(shè)對于給定文法,識別文法活前綴的DFA、LR(1)項目集族已構(gòu)造出來了。構(gòu)造一程序,檢查兩個LR(1)項目集是否為同心集(可任意輸入),若是,則輸出合并后的同心集,并檢查合并后的集合是否含有沖突項目(指出存在何種沖突),輸出合并同心集后的識別文法活前綴的DFA,

21、及LALR(1) 項目集規(guī)范族。42 題目: LALR(1) 分析表自動構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:對任意給定的文法G構(gòu)造LR(1)項目集規(guī)范族(按教材P.115所述方法構(gòu)造,要求實現(xiàn)CLOSURE(I)、GO(I,X)、FIRST(集合FIRST的構(gòu)造方法參見教材P.78);然后構(gòu)造LALR(1) 項目集規(guī)范族;再實現(xiàn)LALR(1)分析表構(gòu)造算法。以教材P.115例5.13為輸入,構(gòu)造并輸出其LALR(1)分析表5.6。43 題目: 帶出錯處理的LR分析器總控程序的實現(xiàn)設(shè)計內(nèi)容及要求:按教材P.127表5.9分析表構(gòu)造一LR分析器,輸出語法分析過程(如P.128所述),要構(gòu)造各出錯處理子程

22、序。44 題目: 算術(shù)表達(dá)式從中綴式翻譯成后綴式的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將算術(shù)表達(dá)式從中綴式翻譯成后綴式。要求:先確定一個定義算術(shù)表達(dá)式的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的算術(shù)表達(dá)式,程序?qū)⑵滢D(zhuǎn)換成后綴式輸出。45 題目:將算術(shù)表達(dá)式轉(zhuǎn)換成抽象語法樹的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將算術(shù)表達(dá)式轉(zhuǎn)換成抽象語法樹。要求:先確定一個定義算術(shù)表達(dá)式的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。

23、對用戶輸入的任意一個正確的算術(shù)表達(dá)式,程序?qū)⑵滢D(zhuǎn)換成抽象語法樹輸出(可按一定格式輸出到指定文件中)。46 題目:將算術(shù)表達(dá)式轉(zhuǎn)換成DAG的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將算術(shù)表達(dá)式轉(zhuǎn)換成DAG。要求:先確定一個定義算術(shù)表達(dá)式的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的算術(shù)表達(dá)式,程序?qū)⑵滢D(zhuǎn)換成DAG輸出(可按一定格式輸出到指定文件中)。47 題目:將算術(shù)表達(dá)式轉(zhuǎn)換成三元式的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將算術(shù)表達(dá)式翻譯成三元式。要求:先確定一個定義算術(shù)表達(dá)式的文法,

24、為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的算術(shù)表達(dá)式,程序?qū)⑵滢D(zhuǎn)換成三元式輸出(可按一定格式輸出到指定文件中)。48 題目:將算術(shù)表達(dá)式轉(zhuǎn)換成間接三元式的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將算術(shù)表達(dá)式翻譯成間接三元式。要求:先確定一個定義算術(shù)表達(dá)式的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的算術(shù)表達(dá)式,程序?qū)⑵滢D(zhuǎn)換成間接三元式輸出(可按一定格式輸出到指定文件中)。49 題目:將算術(shù)表達(dá)式轉(zhuǎn)換成四元式的

25、程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將算術(shù)表達(dá)式翻譯成四元式。要求:先確定一個定義算術(shù)表達(dá)式的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的算術(shù)表達(dá)式,程序?qū)⑵滢D(zhuǎn)換成四元式輸出(可按一定格式輸出到指定文件中)。50 題目:將布爾表達(dá)式轉(zhuǎn)換成四元式的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將布爾表達(dá)式翻譯成四元式。要求:先確定一個定義布爾表達(dá)式的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的布爾表達(dá)

26、式,程序?qū)⑵滢D(zhuǎn)換成四元式輸出(可按一定格式輸出到指定文件中)。51 題目:將條件語句轉(zhuǎn)換成四元式的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將條件語句翻譯成四元式。要求:先確定一個定義條件語句的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的條件語句,程序?qū)⑵滢D(zhuǎn)換成四元式輸出(可按一定格式輸出到指定文件中)。52 題目:將WHILE語句轉(zhuǎn)換成四元式的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將WHILE語句翻譯成四元式。要求:先確定一個定義WHILE語句的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)

27、生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的WHILE語句,程序?qū)⑵滢D(zhuǎn)換成四元式輸出(可按一定格式輸出到指定文件中)。53 題目:將FOR語句轉(zhuǎn)換成四元式的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將FOR語句翻譯成四元式。要求:先確定一個定義FOR語句的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的FOR語句,程序?qū)⑵滢D(zhuǎn)換成四元式輸出(可按一定格式輸出到指定文件中)。54 題目:將SWITCH語句轉(zhuǎn)換成四元式的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將SWITCH語句翻譯成四元式。要求:先確定一個定義SWITCH語句的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的SWITCH語句,程序?qū)⑵滢D(zhuǎn)換成四元式輸出(可按一定格式輸出到指定文件中)。55 題

溫馨提示

  • 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

提交評論