freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

編譯原理課程設(shè)計20xx級-預(yù)覽頁

2024-11-14 21:49 上一頁面

下一頁面
 

【正文】 ②number用來整型單詞;③type用來存放單詞符號的種別碼。Q|L||i|(E)|!Q對應(yīng)于每個文法編寫如下遞歸下降子程序主程序(B)[在此處鍵入] [在此處鍵入] 符號表模塊進(jìn)行符號表的儲存,添加,更新,查找,保存標(biāo)識符活躍信息以及輸出。錯誤信息在語法分析,語義分析,符號表檢錯中添加。 單擊錯誤列表,會自動選定錯誤行編譯成功,生成并顯示token串、符號表、四元式與目標(biāo)代碼 [在此處鍵入]測試if與while語句,而且while嵌套在if當(dāng)中測試goto語句,結(jié)果正確。明白任務(wù)的要求和內(nèi)容224。根據(jù)DFA及自頂向下等理論修改完善代碼等這些過程。經(jīng)過揣摩書上的例子,自己理解和掌握了怎么設(shè)計過濾注釋和分析程序中Token的DFA,于是開始根據(jù)設(shè)計好的DFA進(jìn)行編碼,最后經(jīng)過調(diào)試已經(jīng)可以正確地完成詞法階段的任務(wù)了。在寫語法分析的時候,已經(jīng)對編譯器的語法分析的內(nèi)容有了一定的了解,所以直接進(jìn)行了理論的學(xué)習(xí)。在編寫過程中,還有一類問題,就是存在公共左因子,如文法expression→ var = expression | simpleexpression,左因子為ID,在分析過程中,由于已經(jīng)取出了一個ID的Token,且生成了一個IdK的節(jié)點,但是在當(dāng)前狀態(tài)無法確定是哪一個推導(dǎo),然而IdK節(jié)點已經(jīng)生成,又無法回退,并且是使用自頂向下的分析方法,已經(jīng)生成的IdK在程序上方無法使用,自己通過查閱資料等途徑的學(xué)習(xí)確定了在這種情形下的處理方式:將已經(jīng)生成的IdK節(jié)點傳到下方的處理程序,所以TreeNode * simple_expression(TreeNode * k)、TreeNode * additive_expression(TreeNode * k)等函數(shù)都被設(shè)計成有節(jié)點類型參數(shù)的函數(shù),目的就是將已經(jīng)生成的節(jié)點傳到下面的分析函數(shù)中去。由于在編寫程序過程中,涉及到了正則表達(dá)式、DFA、提取公共左因子、消除左遞歸、EBNF、求First集合和Follow集合、遞歸向下分析方法以及編程語言方面的知識,所以,通過本次的課程設(shè)計的實踐,使得自己對編譯原理這門課的許多知識點有了更加深刻和具體的理解,而不再只限制于做題。此外,由于在做報告的時候,需要描繪DFA和程序流程圖,使得自己初步掌握了使用visio和word畫圖的能力。一、實驗課程目的編譯原理課程是計算機科學(xué)與技術(shù)專業(yè)學(xué)生的專業(yè)骨干課之一。一般的應(yīng)用程序是以數(shù)據(jù)作為操作對象,而編譯程序則是以程序作為操作對象,是一個元級處理程序,它所包含的算法和思想比較特殊,理論性較強,抽象度也較高,因而編譯原理課程一直以來都是計算機專業(yè)學(xué)生比較難于理解和掌握的一門課程。(消除左遞歸和消除公共前綴)。(1)分析法的工作過程。實驗五: 語義檢查實驗要求: 。實驗七: 中間代碼優(yōu)化實驗要求: 。實驗八: 目標(biāo)程序生成實驗要求: 。該課程采用教研室自編實踐教材《編譯程序設(shè)計與實現(xiàn)》(高等教育出版社)作為輔導(dǎo)教材,通過對教材中提供的編譯實例的透徹解析,加深了學(xué)生對編譯程序的直觀認(rèn)識,提高了學(xué)生對源程序的分析和設(shè)計能力。實踐證明,這些教學(xué)方式的嘗試在實際教學(xué)中取得了良好的教學(xué)效果。針對這一情況,我們研制了編譯原理多媒體輔助教學(xué)軟件-PCMCAI(Principle of Compile Multimedia CAI),該軟件以多媒體動畫的形式生動形象地描述了編譯器的各個階段的工作過程。: 針對目前學(xué)生人數(shù)增多,教學(xué)資源不足,學(xué)生質(zhì)量參差不齊,教學(xué)質(zhì)量和效率得不到保證的情況,我們充分利用Internet,建立和實施網(wǎng)絡(luò)課程體系,利用Internet在信息制造、貯存和遞送方面的優(yōu)勢,克服資源不足的缺點,同時也為學(xué)生提供了完全個性化的學(xué)習(xí)環(huán)境,發(fā)揮網(wǎng)絡(luò)教學(xué)優(yōu)勢。:《編譯程序的設(shè)計與實現(xiàn)》(高等教育出版社,2004年7月)。(Java語言版本)。4.《測試語言ATLAS的實現(xiàn)技術(shù)》,劉磊等,儀器儀表學(xué)報,2004(4)。獲得獎勵:,《編譯原理實踐課程建設(shè)》,吉林大學(xué)教學(xué)成果二等獎??傊?,經(jīng)過多年的研究、探索與實踐,我們在編譯原理實踐課程的建設(shè)方面取得了一定成效。同時,對學(xué)生學(xué)習(xí)、理解和掌握編譯原理理論課程也有很大的促進(jìn)作用。通過編譯程序的編寫和調(diào)試能力的訓(xùn)練,激發(fā)學(xué)生進(jìn)一步思考問題,培養(yǎng)學(xué)生的學(xué)習(xí)興趣和創(chuàng)新能力。給出實現(xiàn)功能的一組或多組測試數(shù)據(jù)(測試文法),程序調(diào)試后,將按照此測試數(shù)據(jù)進(jìn)行測試的結(jié)果列出來。程序能夠運行,要有基本的容錯功能。根據(jù)老師給定的9個題目進(jìn)行分析設(shè)計,本次課程設(shè)計采取分組的辦法進(jìn)行,34人為一組,要求每組學(xué)生在規(guī)定時間內(nèi)獨立完成。設(shè)計目的與任務(wù):通過本課程設(shè)計教學(xué)所要求達(dá)到的目的是:對詞法分析工作流程進(jìn)行總體設(shè)計和詳細(xì)設(shè)計,最終用C語言來設(shè)計一個簡單詞法分析器,實現(xiàn)對源程序的詞法分析功能,對輸入程序去除注釋,并以二元式形式輸出程序中所有單詞。在非確定的有限自動機NFA中,由于某些狀態(tài)的轉(zhuǎn)移需從若干個可能的后續(xù)狀態(tài)中進(jìn)行選擇,故一個NFA對符號串的識別就必然是一個試探的過程。設(shè)計目的與任務(wù)通過本課程設(shè)計教學(xué)所要求達(dá)到的目的是:充分理解和掌握NFA,DFA以及NFA確定化過程的相關(guān)概念和知識,編程實現(xiàn)對輸入的任意正規(guī)式轉(zhuǎn)換成NFA的形式輸出。然后,再轉(zhuǎn)換為計算機可識別的程序就能自動實現(xiàn)詞法的分析和檢查。DFA的最小化可以揭示狀態(tài)之間的內(nèi)在聯(lián)系,便于其存儲實現(xiàn),便于建立用DFA描述的任務(wù)模型,一些理論問題也與最小化思想有關(guān)。語法分析之LL(1)文法通過該課程設(shè)計了解了程序語言的自上而下的語法分析過程,提高了編程能力,能使我們了解編程語言更多的細(xì)節(jié) 設(shè)計目的與任務(wù)(1)讀入文法(2)求出first(), follow()(3)判斷是否為LL(1)文法(4)若是,構(gòu)造分析表;(5)輸入一個字符串看是否是文法的一個句子。然后按照算符優(yōu)先算法求出各終結(jié)符的算符優(yōu)先關(guān)系,填寫算符優(yōu)先表,并將其輸出。當(dāng)一串貌似句柄的符號串呈現(xiàn)于分析棧的頂端時,我們希望能夠根據(jù)所記載的“歷史”和“展望”以及“現(xiàn)實”的輸入符號等三方面的材料,來確定棧頂?shù)姆杺魇欠駱?gòu)成相對某一產(chǎn)生式的句柄。本文研究的LR(0)文法即K=0時的文法。這樣做的好處是:(1)便于進(jìn)行與機器無關(guān)的代碼優(yōu)化工作;(2)使編譯程序改變目標(biāo)機更容易;(3)使編譯程序的結(jié)構(gòu)在邏輯上更為簡單明確。這樣我們可以做下面工作:(1):便于進(jìn)行與機器無關(guān)的代碼優(yōu)化工作;(2):使編譯程序以改變目標(biāo)機更容易;(3):使編譯程序的結(jié)構(gòu)在邏輯上更為簡單明確;而以中間語言為界面,編譯前端和后端的接口更清晰,表達(dá)式可以用四個域分別稱為OP、ORGORG2及RESULT來表示。六、成績考核與評定學(xué)生課程設(shè)計結(jié)束后寫出總結(jié)報告,對設(shè)計的內(nèi)容和效果進(jìn)行總結(jié),按照學(xué)生在設(shè)計期間的表現(xiàn),指導(dǎo)老師對每位學(xué)生寫出評語和鑒定,系課程設(shè)計領(lǐng)導(dǎo)小組組織答辯,最后確定每位學(xué)生課程設(shè)計成績,課程設(shè)計成績分為優(yōu)、良、中、及格和不及格五個等級。撰寫了高質(zhì)量的總結(jié)報告。答辯較準(zhǔn)確流利?;驘o實習(xí)報告,沒有通過答辯。大家在進(jìn)行課程設(shè)計時,可從所學(xué)內(nèi)容中選擇某個主題,抽象成一個模型,可適當(dāng)進(jìn)行簡化。大家應(yīng)把該門課的課程設(shè)計當(dāng)成對自己學(xué)習(xí)效果的一次檢驗,當(dāng)成是為在大四能夠順利完成畢業(yè)設(shè)計的一次基本功訓(xùn)練。編譯原理課程設(shè)計部分參考選題: 1. 題目: FORTRAN語言實型常數(shù)識別程序設(shè)計設(shè)計內(nèi)容及要求: (d)識別FORTRAN實型常數(shù)的狀態(tài)轉(zhuǎn)換圖用程序?qū)崿F(xiàn)。程序能夠從用戶輸入的源程序中,識別出的單詞符號,并用二元式表示,顯示輸出或輸出到文件中。5. 題目: 從有限自動機構(gòu)造與之等價的右線性文法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一轉(zhuǎn)換程序,實現(xiàn)將用戶任意給定的有限自動機FA M,轉(zhuǎn)換為與之等價的右線性文法,顯示輸出或輸出到文件中。構(gòu)造一程序,從NFA構(gòu)造與之等價的正規(guī)式r,并顯示輸出。構(gòu)造一程序,由此程序構(gòu)造正規(guī)式r1r2(連接運算)的NFA(將其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中)。語法分析方法采用自下而上的分析方法(如算符優(yōu)先分析,或LR分析)。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函數(shù),但并不需要構(gòu)造εCLOSURE函數(shù),因這是DFA)。輸出DFA M’(其狀態(tài)轉(zhuǎn)換矩陣及初態(tài)、終態(tài)信息保存在指定文件中)。程序應(yīng)具有通用性,語法分析樹的節(jié)點在屏幕上的分布要合理、美觀。18.題目: 集合FIRST(X)構(gòu)造算法的程序?qū)崿F(xiàn)第3頁 設(shè)計內(nèi)容及要求:構(gòu)造一程序,(X)集合的構(gòu)造算法。在此基礎(chǔ)上,構(gòu)造一程序,(A)集合的構(gòu)造算法。21. 題目: 預(yù)測分析表自動構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:對于任意輸入的一個LL(1)文法,構(gòu)造其預(yù)測分析表。F→(E)|i 23. 題目: 集合FIRSTVT(P)構(gòu)造算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:構(gòu)造一程序,(P)集合的構(gòu)造算法。25. 題目: 算符優(yōu)先分析算法的程序?qū)崿F(xiàn) 設(shè)計內(nèi)容及要求:對文法 G: E→E+T|T ,T→T*F|F 分析算法。F→(E)|i 要編制各出錯處理子程序。要求:首先實現(xiàn)對于非終結(jié)符P的FIRSTVT(P)構(gòu)造算法和LASTVT(P)構(gòu)造算法。對于用戶任意輸入的文法G,輸出一個無左遞歸的等價文法,可顯示輸出,或輸出到指定文件中。對于輸入串i*i+i,輸出LR分析器的工作過程??奢敵龅街付ㄎ募?。程序輸出一個完整的LR(0)分析器源程序,可輸出到指定文件中。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)造出來了)。第6頁 41. 題目: LALR(1)項目集規(guī)范族構(gòu)造程序的實現(xiàn)設(shè)計內(nèi)容及要求:假設(shè)對于給定文法,識別文法活前綴的DFA、LR(1)項目集族已構(gòu)造出來了。43. 題目: 帶出錯處理的LR分析器總控程序的實現(xiàn)設(shè)計內(nèi)容及要求:,輸出語法分析過程(),要構(gòu)造各出錯處理子程序。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)翻譯程序。對用戶輸入的任意一個正確的算術(shù)表達(dá)式,程序?qū)⑵滢D(zhuǎn)換成三元式輸出(可按一定格式輸出到指定文件中)。49. 題目:將算術(shù)表達(dá)式轉(zhuǎn)換成四元式的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將算術(shù)表達(dá)式翻譯成四元式。要求:先確定一個定義布爾表達(dá)式的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的條件語句,程序?qū)⑵滢D(zhuǎn)換成四元式輸出(可按一定格式輸出到指定文件中)。53. 題目:將FOR語句轉(zhuǎn)換成四元式的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:設(shè)計一個語法制導(dǎo)翻譯器,將FOR語句翻譯成四元式。要求:先確定一個定義SWITCH語句的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的包含數(shù)組引用的賦值語句,程序?qū)⑵滢D(zhuǎn)換成四元式輸出(可按一定格式輸出到指定文件中)。57. 題目:基本塊劃分算法的程序?qū)崿F(xiàn)設(shè)計內(nèi)容及要求:根據(jù)基本塊劃分算法,構(gòu)造一個基本塊劃分程序,實現(xiàn):對于任意輸入的一個四元式程序,將其劃分為基本塊,輸出各基本塊,并輸出程第9頁 序流圖。輸出基本塊四元式代碼。(大家也可以自行設(shè)計一個設(shè)計題目)第10頁
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1