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

正文內(nèi)容

編譯原理課程設(shè)計(jì)大全五篇-wenkub

2024-10-29 04 本頁面
 

【正文】 行標(biāo)注,程序也按照DFA來編寫,也實(shí)現(xiàn)了詞法分析的功能。在充分了解了語法分析需要哪些信息時(shí),我才真正了解了詞法分析的工作內(nèi)容和目標(biāo),才知道詞法分析需要完成哪些任務(wù)獲取到哪些信息。開始著手寫代碼224。陳火旺.《程序設(shè)計(jì)語言編譯原理》(第3版).北京:、美 Alfred Ravi Sethi Jeffrey ,姜守旭譯.《編譯原理》.24 [在此處鍵入]北京:、美 Kenneth .《編譯原理及實(shí)踐》.北京:、金成植著.《編譯程序構(gòu)造原理和實(shí)現(xiàn)技術(shù)》.北京:、體會(huì)和建議。測(cè)試錯(cuò)誤檢測(cè),程序缺少分號(hào),錯(cuò)誤列表中顯示該行缺少語句結(jié)束標(biāo)志39。 數(shù)據(jù)結(jié)構(gòu) [在此處鍵入]public static void AddErrorMessage(int lineno,string content)函數(shù)用作在發(fā)現(xiàn)錯(cuò)誤時(shí)保存錯(cuò)誤信息以及行號(hào)。語法分析的功能是在詞法分析的基礎(chǔ)上將單詞序列組合成各類語法短語,如“程序”,“語句”,“表達(dá)式” 數(shù)據(jù)結(jié)構(gòu)下圖為實(shí)現(xiàn)語法分析的類Grammar,屬性與方法的作用都已說明 在此處鍵入]下面終結(jié)符與非終結(jié)符意義B程序開始Z 數(shù)據(jù)類型,如int,char,float等V 標(biāo)識(shí)符S 語句P 語句塊E 加減算術(shù)表達(dá)式D 逗號(hào)表達(dá)式T 乘除算術(shù)表達(dá)式C 關(guān)系表達(dá)式L 邏輯表達(dá)式Q 標(biāo)識(shí)符或圓括號(hào)e 表示空i 表示標(biāo)識(shí)符 a)函數(shù)文法BZV()S[[在此處鍵入]b)語句塊文法PSP|eS{P} c)語句文法表達(dá)式語句文法SV=Egoto語句文法Si:SSgoto iif語句文法Sif(E)S[else S]while語句文法Swhile(E)S聲明語句文法SZVDD,VD|=ED|e d)表達(dá)式文法ET|E+T|ETTF|T*F|T/FCC|CL|C==C|C=LLQ|Lamp。關(guān)鍵字作為特殊標(biāo)識(shí)符處理,把它們預(yù)先安排在一張表格中(稱為關(guān)鍵字表),當(dāng)掃描程序識(shí)別出標(biāo)識(shí)符時(shí),查關(guān)鍵字表。Lexical類對(duì)外提供的函數(shù)主要有:static public int RecogId(string str, int i),static public int RecogDig(string str,int i),static public int RecogOperator(string str, int i),static public int RecogBound(string str, int i),以上幾個(gè)函數(shù)構(gòu)成了詞法分析的骨架,在Lexical類中還有其他成員變量和函數(shù),主要作為這三個(gè)函數(shù)處理過程的中間步驟,為這三個(gè)函數(shù)服務(wù)。然后Grammer類的語法分析程序就根據(jù)tokenList中的Token進(jìn)行語法分析,生成語法樹,最后打印語法樹。工程文件總體上是按照九個(gè)類的格局分為十個(gè)文件,分別是九個(gè)類的聲明文件和實(shí)現(xiàn)文件。本程序采用C語言以面向?qū)ο蟮乃枷刖帉懀绦蚍譃閹撞糠郑涸~法分析(Lexical),語法分析(Grammer),目標(biāo)代碼生成(ObjectCode)。若語法正確,則用語法制導(dǎo)翻譯法進(jìn)行語義翻譯;生成并打印出語法樹;若語法錯(cuò)誤,要求指出出錯(cuò)性質(zhì)和出錯(cuò)位置(行號(hào))。將詞法分析器設(shè)計(jì)成供語法分析器調(diào)用的子程序。編譯器將源程序(source language)編寫的程序作為輸入,翻譯產(chǎn)生目標(biāo)語言(target language)機(jī)器代碼的等價(jià)程序。我們還做了附加功能,即編譯后端,有中間代碼優(yōu)化,生成目標(biāo)代碼匯編語言。將詞法分析器設(shè)計(jì)成供語法分析器調(diào)用的子程序。詞法分析器具備預(yù)處理功能。通過此次課程設(shè)計(jì),提高了我們的獨(dú)立分析問題、解決問題的能力,以及系統(tǒng)軟件設(shè)計(jì)的能力; 提高程序設(shè)計(jì)能力、程序調(diào)試能力,團(tuán)結(jié)協(xié)作能力關(guān)鍵詞:詞法分析,語法分析,四元式生成,錯(cuò)誤處理,符號(hào)表生成,語義動(dòng)作插入,中間代碼優(yōu)化,生成目標(biāo)代碼 [在此處鍵入]目錄摘要 設(shè)計(jì)任務(wù) 設(shè)計(jì)要求(流程) 詞法分析模塊 功能 數(shù)據(jù)結(jié)構(gòu) 算法 語法分析模塊 數(shù)據(jù)結(jié)構(gòu) 符號(hào)表模塊 數(shù)據(jù)結(jié)構(gòu) 四元式模塊[在此處鍵入] 數(shù)據(jù)結(jié)構(gòu) 語義動(dòng)作分析模塊 數(shù)據(jù)結(jié)構(gòu) 錯(cuò)誤處理模塊 數(shù)據(jù)結(jié)構(gòu) 目標(biāo)代碼模塊 數(shù)據(jù)結(jié)構(gòu) 程序流程圖 程序說明 實(shí)驗(yàn)結(jié)果 。通常地,源程序?yàn)楦呒?jí)語言(highlevel language),C語言程序,而目標(biāo)則是 機(jī)器語言的目標(biāo)代碼(object code),也就是可以在計(jì)算機(jī)硬件中運(yùn)行的機(jī)器代碼軟件程序。功能包括:。(流程)本節(jié)主要分析程序的代碼結(jié)構(gòu)和代碼工程文件的劃分。Lexical類主要的工作是詞法分析獲取Token。,Four_Yuan,cs,,他們分別是Lexical類聲明文件、Lexical類實(shí)現(xiàn)文件、Grammer類聲明文件、Grammer類實(shí)現(xiàn)文件。同時(shí),這也是程序的流程。Lexical類的代碼結(jié)構(gòu)和主要的成員變量和函數(shù)及其含義如下圖所示:算法的基本任務(wù)是從字符串表示的源程序中識(shí)別出具有獨(dú)立意義的單詞符號(hào),其基本思想是[在此處鍵入]根據(jù)掃描到單詞符號(hào)的第一個(gè)字符的種類,拼出相應(yīng)的單詞符號(hào)。如能查到匹配的單詞,則該單詞為關(guān)鍵字,否則為一般標(biāo)識(shí)符。amp。public static string PrintErrorList()把所有發(fā)現(xiàn)的錯(cuò)誤格式化后統(tǒng)一輸出。39。直接拷貝好歹也檢查一下錯(cuò)誤對(duì)于編譯原理的這次課程設(shè)計(jì),自己經(jīng)歷了從剛開始的不懂224。完成基本功能224。充分了解了詞法分析的任務(wù)之后,就開始理論知識(shí)的學(xué)習(xí)。再后來寫報(bào)告的時(shí)候,發(fā)現(xiàn)分析出Token的那個(gè)DFA并不是最簡(jiǎn)的,有很多多余的狀態(tài),完全可以用一個(gè)flag標(biāo)志來標(biāo)識(shí),從而簡(jiǎn)化代碼結(jié)構(gòu),于是又重寫了一次詞法分析函數(shù)scan()的代碼,將狀態(tài)縮減為5個(gè),且不再用15來表示,而是像書上那樣分別取了名字(START、INNUM、INID、INDBSYM、DONE),同時(shí)為了簡(jiǎn)化代碼將輸出Token到文件的部分從scan()中剝離開來,而在Lexical類中加了一個(gè)printToken()的函數(shù),使scan()函數(shù)邏輯更加清晰,使讀者能夠容易地將代碼與DFA進(jìn)行查看比照。由于在編寫代碼的過程中需要確定分析是否正確或選擇多個(gè)文法中的某一個(gè)文法進(jìn)行分析,有時(shí)必須探測(cè)需要的或下一個(gè)Token的類型,在這種情況下需要求First集合,在推導(dǎo)中若存在empty,又需要求Follow集合,所以這樣又需要我了解First集合和Follow集合,自己在程序中也根據(jù)求出的First集合和Follow集合進(jìn)行判斷,以確定程序的走向。語法分析主要能根據(jù)遞歸向下的分析思想和C文法對(duì)詞法分析獲取的Token進(jìn)行語法分析,能夠構(gòu)造出語法樹,能夠判別語法分析過程中是否出錯(cuò)以及出錯(cuò)位置和錯(cuò)誤類型。由于以前編寫代碼都是使用JAVA語言,所以C/C++很多內(nèi)容都忘記了,通過本次的實(shí)踐,自己又重新拾起了以前的知識(shí)。編譯原理實(shí)踐課程建設(shè)作為新世紀(jì)教學(xué)改革重點(diǎn)項(xiàng)目和編譯原理精品課程建設(shè)的一個(gè)重要組成部分,在教材建設(shè)、教學(xué)內(nèi)容和教學(xué)方法的改革等方面也取得了較突出的成績(jī),并發(fā)表了多篇學(xué)術(shù)論文。二、實(shí)驗(yàn)內(nèi)容及要求編譯程序不同于一般的應(yīng)用程序,是一個(gè)十分龐大和復(fù)雜的系統(tǒng)軟件。實(shí)驗(yàn)六: 中間代碼生成實(shí)驗(yàn)要求: 。學(xué)生在實(shí)踐課程中,通過實(shí)際動(dòng)手編程,將抽象的編譯理論知識(shí)具體化和形象化,加深了對(duì)基本概念和方法的理解和運(yùn)用,從而全面系統(tǒng)地掌握了編譯器的構(gòu)造過程。在教學(xué)方法上,結(jié)合多媒體課件,強(qiáng)調(diào)啟發(fā)式教學(xué),培養(yǎng)學(xué)生的創(chuàng)新能力和動(dòng)手實(shí)踐能力。教學(xué)手段:-PCMCAI(Principle of Compile Multimedia CAI)在教學(xué)過程中,我們發(fā)現(xiàn)由于編譯原理理論性強(qiáng),抽象度高,學(xué)生不易于理解。目前,實(shí)例庫已經(jīng)初具規(guī)模并投入使用,為學(xué)生提供了廣泛的實(shí)踐素材和范例,在教學(xué)過程中作為一種輔助教學(xué)手段,效果良好。:《編譯程序構(gòu)造原理與實(shí)例分析》(2003年2月)。(C語言版本)。3.《編譯原理多媒體輔助教學(xué)軟件的設(shè)計(jì)與實(shí)現(xiàn)》,劉磊等,吉林大學(xué)自然科學(xué)學(xué)報(bào),2002(2)。7.《“編譯原理”課程建設(shè)研究》,劉磊等,計(jì)算機(jī)教育,2006(6)。4.《編譯原理》課程先后被評(píng)為吉林大學(xué)精品課程、吉林省精品課程及教育部微軟精品課程。該課程采用我們自編實(shí)踐教材《編譯程序設(shè)計(jì)與實(shí)現(xiàn)》作為輔導(dǎo)教材,通過對(duì)教材中提供的編譯實(shí)例的透徹解析,加深了學(xué)生對(duì)編譯程序的直觀認(rèn)識(shí),提高了學(xué)生對(duì)源程序的分析和設(shè)計(jì)能力。附件(獲得獎(jiǎng)勵(lì)證書)第四篇:《編譯原理課程設(shè)計(jì)》教學(xué)大綱《編譯原理課程設(shè)計(jì)》教學(xué)大綱課程名稱: 課程編號(hào): 適用專業(yè): 總 學(xué) 分: 總 周 時(shí): 主 撰 人: 撰寫日期:一、目的與任務(wù)通過程序設(shè)計(jì)上機(jī)調(diào)試程序?qū)崿F(xiàn)算法,學(xué)習(xí)編譯程序調(diào)試技巧和設(shè)計(jì)編譯程序的一般原則,加深對(duì)詞法分析、語法分析、語義分析和中間代碼生成等編譯階段及實(shí)用編譯系統(tǒng)的認(rèn)識(shí),初步掌握編譯程序構(gòu)造的基本原理與技術(shù), 從形式語言理論的角度, 進(jìn)一步認(rèn)識(shí)與理解程序設(shè)計(jì)語言。二、教學(xué)基本要求1.設(shè)計(jì)和調(diào)試過程要規(guī)范化需求分析:將題目中要求的功能進(jìn)行敘述分析,并且設(shè)計(jì)解決此問題的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),(有些題目已經(jīng)指定了數(shù)據(jù)存儲(chǔ)的,按照指定的設(shè)計(jì)),設(shè)計(jì)或敘述解決此問題的算法,描述算法可以使用自然語言、偽代碼、或函數(shù)的方式。要結(jié)構(gòu)清晰,重點(diǎn)函數(shù)的重點(diǎn)變量,重點(diǎn)功能部分要加上清晰的程序注釋。課程設(shè)計(jì)題目見“主要內(nèi)容”。詞法分析是編繹的基礎(chǔ),執(zhí)行詞法分析的程序即為詞法分析器,它的任務(wù)是對(duì)輸入或給定的源程序,從左至右逐個(gè)字符進(jìn)行掃描,產(chǎn)生一個(gè)個(gè)單詞符號(hào),把作為字符串的源程序改造成單詞符號(hào)串的中間程序。有限自動(dòng)機(jī)由其映射f是否為單值而分為確定的有限自動(dòng)機(jī)DFA和非確定的有限自動(dòng)機(jī)NFA。而已經(jīng)證明DFA是NFA的一個(gè)特例,即對(duì)于每一個(gè)NFA M存在一個(gè)DFA M’’,使得L(M)=L(M’’)。把程序設(shè)計(jì)語言的所有詞法規(guī)則都構(gòu)造出相應(yīng)的有限自動(dòng)機(jī),就得到一個(gè)詞法分析器。DFA的最小化確定性有限自動(dòng)機(jī)(DFA ,Deterministic Finite Automata)的最小化仍是有限自動(dòng)機(jī)應(yīng)用及實(shí)現(xiàn)方面的重要問題之一。DFA的最小化可以揭示狀態(tài)之間的內(nèi)在聯(lián)系,便于其存儲(chǔ)實(shí)現(xiàn),便于建立用DFA描述的任務(wù)模型,一些理論問題也與最小化思想有關(guān)。該課程設(shè)計(jì)按照求,(P),(P)各兩條規(guī)則,求出各非終結(jié)符的集。LR方法的基本思想是:在規(guī)范歸約過程中,一方面記住已經(jīng)移進(jìn)和歸約出的整個(gè)符號(hào)串,即記住“歷史”;另一方面根據(jù)所用的產(chǎn)生式推測(cè)未來可能碰到的輸入符號(hào),即對(duì)未來進(jìn)行“展望”。對(duì)于一個(gè)文法,如果能用一個(gè)每步頂多向前檢查K個(gè)輸入符號(hào)的LR分析器進(jìn)行分析,則這個(gè)文法就稱為L(zhǎng)R(K)文法。逆波蘭表達(dá)式生成算法雖然源程序可以直接翻譯為目標(biāo)語言代碼,但許多編譯程序采用了獨(dú)立于機(jī)器的、復(fù)雜性介于源語
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1