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

正文內(nèi)容

編譯原理課程設(shè)計教學大綱優(yōu)秀范文5篇-免費閱讀

2025-10-19 16:03 上一頁面

下一頁面
  

【正文】 // data allocation index int tx0。if((sym)==()){error(n)。} ch= line[cc]。} }// 漏掉空格,讀取一個字符void PL0::getch(){ if(cc == ll){if(feof(fin)){if(sym!=PERIOD)error(25)。){ getch()。){ getch()。do{num= 10 * num + ch39。// 判斷是否是關(guān)鍵字(二分搜索)do{ k=(i+j)/ 2。if(k = kk)kk = k。||ch==9)getch()。// 出錯處理,打印出錯位置和出錯代碼 void PL0::error(int n){ char s[10]。// 行緩沖區(qū)指針cx= 0。strcpy(mnemonic[INT],” int “)。ssym[39。.39。]= RPAREN。ssym[39。+39。wsym[14]= VARSYM。wsym[6]= ENDSYM。strcpy(word[14],”var“)。strcpy(word[6],”end“)?!? ”error 0011: 標識符沒說明“, ”error 0012: 賦值語句中,賦值號左部標識符屬性應是變量“, ”error 0013: 賦值語句左部標識符應是賦值號:=“, ”error 0014: call后應為標識符“, ”error 0015: call后標識符屬性應為過程“, ”error 0016: 條件語句中丟了then“, ”error 0017: 丟了end或。 tx,intamp。dx,int lev)。tx,int amp。~PL0(){fclose(fin),fclose(fout)。// destination code arrayalfa word[norw+1]。// line length int kk,err。} Table。// displacement address,cann39。// symobl類型標識了不同類型的詞匯typedef char alfa[al+1]。// reserved words 保留字的個數(shù)const int txmax = 100。然后調(diào)用語句處理過程處理 then語句后面的語句或語句塊。語法分析主要由分程序分析過程(BLOCK)、參數(shù)變量分析過程(ParaDeclaration)、參數(shù)變量處理過程(ParaGetSub)、數(shù)組處理過程(ParaGetSub)、常量定義分析過程(ConstDeclaration)、變量定義分析過程(Vardeclaration)、語句分析過程(Statement)、表達式處理過程(Expression)、項處理過程(Term)、因子處理過程(Factor)和條件處理過程(Condition)構(gòu)成。GETCH過程中使用了行緩沖區(qū)技術(shù)以提高程序運行效率。用表格管理程序建立變量、常量和過程表示符的說明與引用之間的信息聯(lián)系。2)對PL/0語言進行下列擴充(1)擴充一維整型數(shù)組。教學重點:簡單代碼生成器,寄存器分配策略。教學時間分配及進度安排:建議本章教學時數(shù)9學時。教學重點:符號表的作用與內(nèi)容。教學難點:歸約,LR分析法。要求理解遞歸下降分析、LL(1)文法的基本概念;掌握無回朔的遞歸下降分析的設(shè)計和實現(xiàn)、LL(1)分析表的構(gòu)造與分析方法。教學難點:推導,文法與語言的相互轉(zhuǎn)換。要求理解編譯程序、解釋程序和遍的基本概念;掌握編譯過程各階段的任務和編譯程序邏輯結(jié)構(gòu)及其各部分的基本功能。主要介紹程序設(shè)計語言編譯程序構(gòu)造的基本原理和基本實現(xiàn)方法。語法分析主要能根據(jù)遞歸向下的分析思想和C文法對詞法分析獲取的Token進行語法分析,能夠構(gòu)造出語法樹,能夠判別語法分析過程中是否出錯以及出錯位置和錯誤類型。再后來寫報告的時候,發(fā)現(xiàn)分析出Token的那個DFA并不是最簡的,有很多多余的狀態(tài),完全可以用一個flag標志來標識,從而簡化代碼結(jié)構(gòu),于是又重寫了一次詞法分析函數(shù)scan()的代碼,將狀態(tài)縮減為5個,且不再用15來表示,而是像書上那樣分別取了名字(START、INNUM、INID、INDBSYM、DONE),同時為了簡化代碼將輸出Token到文件的部分從scan()中剝離開來,而在Lexical類中加了一個printToken()的函數(shù),使scan()函數(shù)邏輯更加清晰,使讀者能夠容易地將代碼與DFA進行查看比照。完成基本功能224。39。amp。Lexical類的代碼結(jié)構(gòu)和主要的成員變量和函數(shù)及其含義如下圖所示:算法的基本任務是從字符串表示的源程序中識別出具有獨立意義的單詞符號,其基本思想是[在此處鍵入]根據(jù)掃描到單詞符號的第一個字符的種類,拼出相應的單詞符號。,Four_Yuan,cs,,他們分別是Lexical類聲明文件、Lexical類實現(xiàn)文件、Grammer類聲明文件、Grammer類實現(xiàn)文件。(流程)本節(jié)主要分析程序的代碼結(jié)構(gòu)和代碼工程文件的劃分。通常地,源程序為高級語言(highlevel language),C語言程序,而目標則是 機器語言的目標代碼(object code),也就是可以在計算機硬件中運行的機器代碼軟件程序。詞法分析器具備預處理功能。答辯較準確流利。六、成績考核與評定學生課程設(shè)計結(jié)束后寫出總結(jié)報告,對設(shè)計的內(nèi)容和效果進行總結(jié),按照學生在設(shè)計期間的表現(xiàn),指導老師對每位學生寫出評語和鑒定,系課程設(shè)計領(lǐng)導小組組織答辯,最后確定每位學生課程設(shè)計成績,課程設(shè)計成績分為優(yōu)、良、中、及格和不及格五個等級。這樣做的好處是:(1)便于進行與機器無關(guān)的代碼優(yōu)化工作;(2)使編譯程序改變目標機更容易;(3)使編譯程序的結(jié)構(gòu)在邏輯上更為簡單明確。當一串貌似句柄的符號串呈現(xiàn)于分析棧的頂端時,我們希望能夠根據(jù)所記載的“歷史”和“展望”以及“現(xiàn)實”的輸入符號等三方面的材料,來確定棧頂?shù)姆杺魇欠駱?gòu)成相對某一產(chǎn)生式的句柄。語法分析之LL(1)文法通過該課程設(shè)計了解了程序語言的自上而下的語法分析過程,提高了編程能力,能使我們了解編程語言更多的細節(jié) 設(shè)計目的與任務(1)讀入文法(2)求出first(), follow()(3)判斷是否為LL(1)文法(4)若是,構(gòu)造分析表;(5)輸入一個字符串看是否是文法的一個句子。然后,再轉(zhuǎn)換為計算機可識別的程序就能自動實現(xiàn)詞法的分析和檢查。在非確定的有限自動機NFA中,由于某些狀態(tài)的轉(zhuǎn)移需從若干個可能的后續(xù)狀態(tài)中進行選擇,故一個NFA對符號串的識別就必然是一個試探的過程。根據(jù)老師給定的9個題目進行分析設(shè)計,本次課程設(shè)計采取分組的辦法進行,34人為一組,要求每組學生在規(guī)定時間內(nèi)獨立完成。給出實現(xiàn)功能的一組或多組測試數(shù)據(jù)(測試文法),程序調(diào)試后,將按照此測試數(shù)據(jù)進行測試的結(jié)果列出來。上交文檔(打印,文件名中包含姓名);(存在一個文本文件中);:有關(guān)的文檔資料,包括:選題報告,簡單的軟件需求分析說明書,軟件設(shè)計說明,設(shè)計經(jīng)驗總結(jié)。5.4上機按課表的安排上機(修改設(shè)計/編碼/調(diào)試/測試)。9 學習使用LEX和YACC工具LEX和YACC分別是生成詞法分析程序和語法分析程序的工具,即編譯程序的編譯程序。⑴整數(shù)的判斷:寫出整數(shù)的正規(guī)式,畫出狀態(tài)圖,寫出狀態(tài)轉(zhuǎn)換函數(shù)。這個設(shè)計結(jié)果可改變后用于電路分析、謂詞演算等。u 方案2:正規(guī)式,把“*”當作“閉包”,把“|”當作“或”:如輸入“(a|b)1”,輸出“a1”;輸入“(a|b)*c”,輸出“abc”。n 二元或多元函數(shù)的計算:如f(x,y)=x^2+y^2等。難度:較難。n 定點實數(shù)表達式計算器:難度:較難。參考題目如下: 表達式計算器表達式計算器:這是一款算術(shù)表達式計算程序,通過輸入表達式達到計算的目的,可代替目前普遍使用的計算器。第一篇:《編譯原理》課程設(shè)計教學大綱《編譯原理》課程設(shè)計教學大綱揭金良 2006.10.20 1 目的通過課程設(shè)計,將《編譯原理》的相關(guān)理論和技術(shù)運用到軟件開發(fā)中,提高學生的應用程序設(shè)計能力,提高分析問題、解決問題的能力。使用了編譯原理中的詞法分析、算符優(yōu)先分析等。工作量:中等。也可設(shè)計成其他專用函數(shù)計算程序,如冪函數(shù)計算、三角函數(shù)計算等。難度和工作量同一元函數(shù)的計算。u 方案3:只要包含正規(guī)式即可,當名稱中包含該正規(guī)式,就輸出來:如輸入“(a|b)1”,輸出“a1,ab1245(含有b1)”;輸入“(a|b)*”,輸出“abc,a1,ab1245”。源程序掃描程序?qū)δ撤N高級語言的源程序進行分析,建立符號表,找出盡可能多的問題并輸出相關(guān)的出錯信息。編出程序。其功能非常強大,可用于任何語言的分析。1.根據(jù)流程圖編制并輸入代碼,教師查看學生的設(shè)計,對設(shè)計提出修改意見。其中設(shè)計經(jīng)驗總結(jié)可以包括下列方面:你在編程過程中花時多少?多少時間在紙上設(shè)計?多少時間上機輸入和調(diào)試?多少時間在思考問題?遇到了哪些難題?你是怎么克服的?你對你的軟件如何評價?你的收獲有哪些? 評分教師對每個實驗結(jié)果進行評分(優(yōu)、良、中、及格、不及格),記入成績。如果程序不能正常運行或運行過程中出現(xiàn)了不滿足算法思想的情況,寫出出現(xiàn)這一情況的原因或改進行的方法。4.答辯:課題的論述、測試及問題回答三、課程設(shè)計內(nèi)容詞法分析器的構(gòu)造:人們理解一個程序,起碼是在單詞級別上來思考。這種不確定性給識別過程帶來的反復,無疑會影響到FA的工作效率。在實際應用中,用NFA(不確定有窮自動機)識別詞法存在不確定和狀態(tài)的冗余,因而,就要將NFA(不確定有窮自動機)轉(zhuǎn)換為DFA(確定有窮自動機),消除了不可到達和不確定。算符優(yōu)先文法一個文法,如果它的任一產(chǎn)生式的右邊都不含有兩個相繼(并列)的非終結(jié)符,即不 含有如下形式的產(chǎn)生式的右部:?QR?則我們稱該文法為算符文法。LR分析器的核心部分是一張分析表。以中間語言為界面,編譯前端和后端的接口更清晰。課程設(shè)計成績?yōu)槠綍r表現(xiàn)30%、設(shè)計報告50%、答辯20%。③ 及格:目的明確,態(tài)度基本端正,能遵守學校紀律,在督促下能開展工作 并完成一定的設(shè)計任務,無大的違紀違規(guī)現(xiàn)象;撰寫了實習報告。將不翻譯的注釋等符號先濾掉,只保留要翻譯的符號串,即要求設(shè)計一個供詞法分析調(diào)用的預處理子程序;第二部分,語法分析,用遞歸下降法,實現(xiàn)對表達式、各種說明語句、控制語句進行語法分析。這一過程可以表示為:源程序→編譯器 →目標機器代碼程序?qū)W生在學習《編譯原理》課程過程中,結(jié)合各章節(jié)的構(gòu)造編譯程序的基本理論,要求用C語言描述及上機調(diào)試,實現(xiàn)一個 C編譯程序(包括詞法分析,語法分析等重要子程序),使學生將理論與實際應用結(jié)合起來,受到軟件設(shè)計等開發(fā)過程的全面訓練,從而提高學生軟件開發(fā)的能力。(程序由幾個類組成: Token類和Variable類SymbolTable類ObjectCode類Lexical類Grammar類Four_Yuan類Action類ErrorItem類,分別為詞法分析和語法分析類。[在此處鍵入]程序流程在程序中,Lexical類的對象(Token)作為Grammer類中的一個成員變量,配合Grammer類進行語法分析。主程序示意圖:主程序示意圖如圖31所示。Q|L||i|(E)|!Q對應于每個文法編寫如下遞歸下降子程序主程序(B)[在此處鍵入] [在此處鍵入] 符號表模塊進行符號表的儲存,添加,更新,查找,保存標識符活躍信息以及輸出。 單擊錯誤列表,會自動選定錯誤行編譯成功,生成并顯示token串、符號表、四元式與目標代碼 [在此處鍵入]測試if與while語句,而且while嵌套在if當中測試goto語句,結(jié)果正確。根據(jù)DFA及自頂向下等理論修改完善代碼等這些過程。在寫語法分析的時候,已經(jīng)對編譯器的語法分析的內(nèi)容有了一定的了解,所以直接進行了理論的學習。由于在編寫程序過程中,涉及到了正則表達式、DFA、提取公共左因子、消除左遞歸、EBNF、求First集合和Follow集合、遞歸向下分析方法以及編程語言方面的知識,所以,通過本次的課程設(shè)計的實踐,使得自己對編譯原理這門課的許多知識點有了更加深刻和具體的理解,而不再只限制于做題。本課程主要講授形式語言、有限自動機、自上而下和自下而上的語法分析、LR分析方法、屬性文法和語法制導翻譯、語義分析的代碼產(chǎn)生、存儲器的動態(tài)分配與管理、符號表的組織與管理、優(yōu)化問題、代碼生成等內(nèi)容。教學內(nèi)容:編譯程序,編譯過程概述,編譯程序的結(jié)構(gòu),編譯程序與程序設(shè)計環(huán)境,編譯程序生成,學習構(gòu)造編譯程序。教學時間分配及進度安排:建議本章教學時數(shù)5學時。教學內(nèi)容:語法分析器的功能,自上而下語法分析(遞歸下降分析法,預測分析程序),LL(1)分析法,遞歸下降分析程序構(gòu)造,預測分析程序。教學時間分配及進度安排:建議本章教學時數(shù)12學時。教學難點:符號表的內(nèi)容。章節(jié)內(nèi)容數(shù)據(jù)空間的三種不同使用方法棧式存儲分配的實現(xiàn)參數(shù)傳遞第九章 代碼優(yōu)化教學目的及要求:本章介紹優(yōu)化的相關(guān)知識,要求掌握局部優(yōu)化,基本塊的DAG表示及其應用,控制流分析和循環(huán)查找算法,到達定值與引用定值鏈,循環(huán)優(yōu)化。教學難點:寄存器分配策略。擴充var數(shù)組:VAR (:)〈下界〉和〈上界〉可用常量標識名。當源程序編譯正確時,PL/0編譯程序自動調(diào)用解釋執(zhí)行程序,對目標代碼進行解釋執(zhí)行,并按用戶程序的要求輸入數(shù)據(jù)和輸出運行結(jié)果。詞法分析器的分析過程:調(diào)用GETSYM時,它通過GETCH過程從源程序中獲得一個字符。這些過程在結(jié)構(gòu)上構(gòu)成一個嵌套的層次結(jié)構(gòu)。then后的語句處理完后,如果遇到else,就調(diào)用語句處理過程處理else語句后面的語句或語句塊,這時當前代碼段分配指針的位置就應該是上面的jpc指令的轉(zhuǎn)移位置。// length of identifier table 標示符表的長度(容量)const int al = 10。// alfa類型
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1