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

正文內(nèi)容

畢業(yè)設(shè)計(jì)c語(yǔ)言編譯器的設(shè)計(jì)開(kāi)發(fā)-字節(jié)代碼格式設(shè)計(jì)與實(shí)現(xiàn)(已修改)

2024-12-17 21:00 本頁(yè)面
 

【正文】 第 1 頁(yè) 共 41 頁(yè) C 語(yǔ)言編譯器的設(shè)計(jì)開(kāi)發(fā) 字節(jié)代碼格式設(shè)計(jì)與實(shí)現(xiàn) 第 2 頁(yè) 共 41 頁(yè) 畢業(yè)設(shè)計(jì)(論文)中文摘要 C 語(yǔ)言編譯器的設(shè)計(jì)開(kāi)發(fā) 摘要 編譯程序是現(xiàn)代計(jì)算機(jī)系統(tǒng)的基本組成部分之一,而且多數(shù)計(jì)算機(jī)系統(tǒng)都含有不止一個(gè)高級(jí)語(yǔ)言的編譯程序,對(duì)有些高級(jí)語(yǔ)言甚至配置了幾個(gè)不同性能的編譯程序。從功能上看,一個(gè)編譯程序就是一個(gè)語(yǔ)言翻譯程序。它把一種語(yǔ)(稱作源語(yǔ)言)書寫的程序翻譯成另一種語(yǔ)言(稱作目標(biāo)語(yǔ)言)的等價(jià)的程序。比如匯編程序是一個(gè)翻譯程序,它把匯 編語(yǔ)言程序翻譯成機(jī)器語(yǔ)言程序。如果源語(yǔ)言是像 FORTRAN, PASCAL,或 C 那樣的高級(jí)語(yǔ)言,目標(biāo)語(yǔ)言是像匯編語(yǔ)言或機(jī)器語(yǔ)言那樣的低級(jí)機(jī)器語(yǔ)言,則這種翻譯程序稱作編譯程序。一個(gè)編譯程序的重要性體現(xiàn)在它使得多數(shù)計(jì)算機(jī)用戶不必考慮與機(jī)器有關(guān)的繁索細(xì)節(jié),使程序員和程序設(shè)計(jì)專家獨(dú)立于機(jī)器,這對(duì)于當(dāng)今機(jī)器的數(shù)量和種類持續(xù)不斷地增長(zhǎng)的年代尤為重要。編譯過(guò)程劃分了詞法分析、語(yǔ)法分析、語(yǔ)義分析、中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成、六個(gè)階級(jí)。另外兩個(gè)重要的工作:表格處理和出錯(cuò)處理與上述六個(gè)階級(jí)都有聯(lián)系。 關(guān)鍵詞 編譯 程序,源語(yǔ)言,目標(biāo)語(yǔ)言,詞法分析,語(yǔ)法分析,語(yǔ)義分析,字節(jié)代碼,中間代碼,代碼優(yōu)化,目標(biāo)代碼。 第 1 頁(yè) 共 41 頁(yè) 畢業(yè)設(shè)計(jì)(論文)外文摘要 Title The Design and Development of C Compiler Abstract The piler procedure and translate of fundamental is a modern calculator system to constitute the one of the parts, and the system of most calculators all simply the edit and translating of language of a high class the procedure, even installed the procedure of edit and translating of a few and different function to some high class from the function, and it is procedure of a language translation that edit and translate the translate a kind of language( call the source language) procedure that write into the procedure of the another language( call the target language).For example edit collected materials the procedure is a translation procedure, it to translate edit collected materials the language procedure into the machine language the high class language, target language that language is like of FORTRAN, PASCAL, or the C is so to as edit collected materials the language or machine language so of low class jade article speech, then this kind of translation the procedure call to edit and translate the importance that edit and translate procedure now it make most calculatorses the customer need not consider the heavy details that have relation with machine, and make the procedure design the expert39。s independence with procedure in the machine, the quantity that this is for the machine that nowadays age keep on with category to constantly increase to and translated the process to divide the line the phrase method the analysis, phrasing the analysis, language the righteousness the analysis, in the center the code is born, code , target the code is born, six two importance of work:The form handles with e amiss to handle to have connection with above six rankses all. Keywords piler procedure, source language, target language,code generation,middle code, synax analyers,lexical analyzers,intermediate code, byte code 第 2 頁(yè) 共 41 頁(yè) 目 次 1 引言(或緒論) ??????????????????????? ???? 1 2 編 譯器的基礎(chǔ)知識(shí) ??????? ?????????????????? 2 編譯器的發(fā)展背景 ????????? ??????????????? 3 編譯器研發(fā)的可行性分析 ?????????????????????? 3 編譯過(guò)程概述 ?????????? ???????????????? 5 3 系統(tǒng)需求分析 ??????? ???????????????? 8 LEX 概述 ????????????????????????????? 8 3. 2 C 語(yǔ)言簡(jiǎn)介 ??? ?????? ???? ?????????? 9 3. 3 軟件工程方法論的應(yīng)用 ????????????????????? 10 3. 4詞法語(yǔ)法分析簡(jiǎn)介 ???????????????????????? 13 詞法需求分析簡(jiǎn)介 ???????????????????????? 13 語(yǔ)法需求分析簡(jiǎn)介 ???????????????????????? 14 3. 7符號(hào)表的應(yīng)用 ????????????????????? ?????15 4系統(tǒng)設(shè)計(jì) ????????????????????????????? 16 4. 1系統(tǒng)設(shè)計(jì)總體流程圖 ???????????????????????16 語(yǔ)法分析體流程圖 ???????????????????????? 17 語(yǔ)法分析概要設(shè)計(jì) ???????????????????????? 18 目標(biāo)代碼的分析 ????????????????????????? 21 4. 5 80x86 指令系統(tǒng) ?????????????????????????24 字節(jié)代碼設(shè)計(jì) ????? ????????????????????? 25 虛擬寄存器的 設(shè)計(jì) ???????????????????????? 26 字節(jié)代碼詳細(xì)設(shè)計(jì) ???????????????????????? 27 5 使用說(shuō)明書 ??????????????????????????? 34 6 結(jié)論 ????????????????????????? ?????? 35 致謝 ??????????????????????????????? 36 參考文獻(xiàn)?????????????????????????????? 37 第 1 頁(yè) 共 41 頁(yè) 1 引言(或緒論) 編譯器的設(shè)計(jì)涉及到編譯程序構(gòu)造的一般原理、基本設(shè)計(jì)方法、主要實(shí)現(xiàn)技術(shù)和一些自動(dòng)構(gòu)造工具。盡管“編譯程序”是特指將高級(jí)程序設(shè)計(jì)語(yǔ)言翻譯成低級(jí)語(yǔ)言的軟件,但編譯程序構(gòu)造的基本原理和技術(shù)也廣泛應(yīng)用于一般的設(shè)計(jì)和實(shí)現(xiàn),因此,是一門對(duì)實(shí)踐性要求較高的課程。 目前,世界上存在著數(shù)千種源語(yǔ)言,既有 Fortran 和 Pascal 這樣的傳統(tǒng)程序設(shè)計(jì)語(yǔ)言,也有各計(jì)算機(jī)應(yīng)用領(lǐng)域中出現(xiàn)的專用語(yǔ)言。目標(biāo)語(yǔ)言也同樣廣泛,目標(biāo)語(yǔ)言可以是另一種程序設(shè)計(jì)語(yǔ)言或者是從微處理機(jī)到計(jì)算機(jī)的任何計(jì)算機(jī)的機(jī)器語(yǔ)言。不同語(yǔ)言需要不 同的編譯器。根據(jù)編譯器的構(gòu)造方法或者它們要實(shí)現(xiàn)的功能,編譯器被分為一遍編譯器、多遍編譯器、裝入并執(zhí)行編譯器、調(diào)試編譯器、優(yōu)化編譯器等多種類別。從表面上看,編譯器的種類似乎千變?nèi)f化,多種多樣,實(shí)質(zhì)上任何編譯器所要完成的基本任務(wù)都是相同的。通過(guò)理解這些任務(wù),我們可以利用同樣的基本技術(shù)為各種各樣的源語(yǔ)言和目標(biāo)機(jī)器構(gòu)建編譯器。 編譯器也可能沒(méi)有生成真正的可執(zhí)行代碼,而是生成了某種形式的匯編代碼,這必須由匯編器、鏈接器和裝入器進(jìn)行進(jìn)一步處理。匯編器、鏈接器和裝入器可由操心系統(tǒng)提供或由編譯器自帶。在翻譯期間,中間表示或 IR 代表了源程序和數(shù)據(jù)結(jié)構(gòu)。雖然抽象語(yǔ)法樹(shù)是源代碼完美充分的表達(dá),即使對(duì)于代碼生成也不過(guò)這樣,但是它與目標(biāo)代碼極不相像,在控制流構(gòu)造上尤為如此。在控制流構(gòu)造上,目標(biāo)代碼使用轉(zhuǎn)移語(yǔ)句而不是 if 和 while 語(yǔ)句。因此,編譯器編寫者可能希望從語(yǔ)法樹(shù)生成一個(gè)更接近目標(biāo)代碼的中間表示形式,或者用這樣一個(gè)中間表示代替語(yǔ)法樹(shù),然后再?gòu)倪@個(gè)新的中間表示生成目標(biāo)代碼。 中間代碼生成在進(jìn)行了上述的語(yǔ)法分析和語(yǔ)義分析的工作之后,有的編譯程序?qū)⒃闯绦蜃兂梢环N內(nèi)部表示形式,這種內(nèi)部表示形式叫做中間語(yǔ)言或中間代碼。所謂“中間代碼 ” 是一 種結(jié)構(gòu)簡(jiǎn)單、含義明確的記號(hào)系統(tǒng),這種記號(hào)系統(tǒng)可以設(shè)計(jì)為多種多樣的形式,重要的設(shè)計(jì)原則為兩點(diǎn):一是容易生成;二是容易將它翻譯成目標(biāo)代碼。很多編譯程采用了一種近似“三地址指令”的“四元式”中間代碼,這種四元式的形式為:(運(yùn)算符,運(yùn)算對(duì)象 1,運(yùn)算對(duì)象 2,結(jié)果)。 第 2 頁(yè) 共 41 頁(yè) 2 編 譯器的基礎(chǔ)知識(shí) 一個(gè)編譯程序就是一個(gè)語(yǔ)言翻譯程序。它把一種語(yǔ)(稱作源語(yǔ)言)書寫的程序翻譯成另一種語(yǔ)言(稱作目標(biāo)語(yǔ)言)的等價(jià)的程序。比如匯編程序是一個(gè)翻譯程序,它把匯編語(yǔ)言程序翻譯成機(jī)器語(yǔ)言程序。如果源語(yǔ)言是像 FORTRAN, PASCAL,或 C那樣的高級(jí)語(yǔ)言,目標(biāo)語(yǔ)言是像匯編語(yǔ)言或機(jī)器語(yǔ)言那樣的低級(jí)語(yǔ)言,則這種翻譯程序稱作編譯程序。 編譯器的發(fā)展背景 編譯程序是現(xiàn)代計(jì)算機(jī)系統(tǒng)的基本組成部分之一,而且多數(shù)計(jì)算機(jī)系統(tǒng)都含有不止一個(gè)高級(jí)語(yǔ)言的編譯程序,對(duì)有些高級(jí)語(yǔ)言甚至配置了幾個(gè)不同性能的編譯程序。從功能上看,一個(gè)編譯程序就是一個(gè)語(yǔ)言翻譯程序。它把一種語(yǔ)(稱作源語(yǔ)言)書寫的程序翻譯成另一種語(yǔ)言(稱作目標(biāo)語(yǔ)言)的等價(jià)的程序。比如匯編程序是一個(gè)翻譯程序,它把匯編語(yǔ)言程序翻譯成機(jī)器語(yǔ)言程序。如果源語(yǔ)言是像 FORTRAN, PASCAL,或 C 那樣的高級(jí)語(yǔ)言,目標(biāo)語(yǔ)言是像匯編語(yǔ)言或機(jī)器語(yǔ)言那樣的低級(jí)語(yǔ)言,則這種翻譯程序稱作編譯程序。 一個(gè)編譯程序的重要性體現(xiàn)在它使得多數(shù)計(jì)算機(jī)用戶不必考慮與機(jī)器有關(guān)的繁索細(xì)節(jié),使程序員和程序設(shè)計(jì)專家獨(dú)立于機(jī)器,這對(duì)于當(dāng)今機(jī)器的數(shù)量和種類持續(xù)不斷地增長(zhǎng)的年代憂為重要。除了編譯程序外,還需要一些其它的程序才能生成一個(gè)可在計(jì)算機(jī)執(zhí)行的目標(biāo)程序。 一個(gè)源程序有時(shí)可能分成幾個(gè)模塊存放在不同的文件里,將這些源程序匯集在一起的任務(wù),由一個(gè)叫做預(yù)處理程序的程序完成,有些預(yù)處理程序也負(fù)責(zé)宏展開(kāi),像 C語(yǔ)言和預(yù)處理程序要完成文件合并、宏 展開(kāi)等任務(wù)。也就是說(shuō),一個(gè)編譯程序的輸入可能要一個(gè)或多個(gè)預(yù)處理程序來(lái)產(chǎn)生,另外,為得到能運(yùn)行的機(jī)器代碼,編譯程序的輸出可能仍需要進(jìn)一步地處理。 詞法分析階級(jí)是編譯過(guò)程的第一個(gè)階級(jí)。這個(gè)階級(jí)的任務(wù)是從左到右一個(gè)字符一個(gè)字符地讀入源程序,對(duì)構(gòu)成源程序的字符流進(jìn)行掃描和分解,從而識(shí)別一個(gè)個(gè)單詞(也稱為單詞符號(hào)或符號(hào))。這里所謂的單詞是指邏輯上緊密相連的一組字符,這些字符具有集體含義。比如標(biāo)識(shí)是由字母開(kāi)頭,后跟字母、數(shù)字字符序列組成的一種單詞。保留字是一種單詞,此外還有算符,界符等等。 語(yǔ)法分析是編譯過(guò)程的第二個(gè) 階段。語(yǔ)法分析的任務(wù)是在詞法分析的基礎(chǔ)上將單詞序列
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1