當前位置:首頁 » 編程軟體 » 編譯原理的論文

編譯原理的論文

發布時間: 2022-02-16 03:49:15

❶ 論文:匯編語言的特點及應用領域

一方面,匯編語言指令是用一些具有相應含義的助憶符來表達的,所以,它要比機器語言容易掌握和運用,但另一方面,它要直接使用CPU的資源,相對高級程序設計語言來說,它又顯得難掌握。

匯編語言程序歸納起來大概有以下幾個主要特性。

1、與機器相關性

匯編語言指令是機器指令的一種符號表示,而不同類型的CPU有不同的機器指令系統,也就有不同的匯編語言,所以,匯編語言程序與機器有著密切的關系。

由於匯編語言程序與機器的相關性,所以,除了同系列、不同型號CPU之間的匯編語言程序有一定程度的可移植性之外,其它不同類型(如:小型機和微機等)CPU之間的匯編語言程序是無法移植的,也就是說,匯編語言程序的通用性和可移植性要比高級語言程序低。

2、執行的高效率

正因為匯編語言有「與機器相關性」的特性,程序員用匯編語言編寫程序時,可充分發揮自己的聰明才智,對機器內部的各種資源進行合理的安排,讓它們始終處於最佳的使用狀態,這樣做的最終效果就是:程序的執行代碼短,執行速度快。

現在,高級語言的編譯程序在進行寄存器分配和目標代碼生成時,也都有一定程度的優化(在後續課程《編譯原理》的有關章節會有詳細介紹),但由於所使用的「優化策略」要適應各種不同的情況,所以,這些優化策略只能在宏觀上,不可能在微觀上、細節上進行優化。而用匯編語言編寫程序幾乎是程序員直接在寫執行代碼,程序員可以在程序的每個具體細節上進行優化,這也是匯編語言程序執行高效率的原因之一。

3、編寫程序的復雜性

匯編語言是一種面向機器的語言,其匯編指令與機器指令基本上一一對應,所以,匯編指令也同機器指令一樣具有功能單一、具體的特點。要想完成某件工作(如計算:A+B+C等),就必須安排CPU的每步工作(如:先計算A+B,再把C加到前者的結果上)。另外,在編寫匯編語言程序時,還要考慮機器資源的限制、匯編指令的細節和限制等等。

由於匯編語言程序要安排運算的每一個細節,這就使得編寫匯編語言程序比較繁瑣、復雜。一個簡單的計算公式或計算方法,也要用一系列匯編指令一步一步來實現。

4、調試的復雜性
在通常情況下,調試匯編語言程序要比調試高級語言程序困難,其主要原因有四:
匯編語言指令涉及到機器資源的細節,在調試過程中,要清楚每個資源的變化情況;
程序員在編寫匯編語言程序時,為了提高資源的利用率,可以使用各種實現技巧,而這些技巧完全有可能破壞程序的可讀性。這樣,在調試過程中,除了要知道每條指令的執行功能,還要清楚它在整個解題過程中的作用;
高級語言程序幾乎不顯式地使用「轉移語句」,但匯編語言程序要用到大量的、各類轉移指令,這些跳轉指令大大地增加了調試程序的難度。如果在匯編語言程序中也強調不使用「轉移指令」,那麼,匯編語言程序就會變成功能單調的順序程序,這顯然是不現實的;
調試工具落後,高級語言程序可以在源程序級進行符號跟蹤,而匯編語言程序只能跟蹤機器指令。不過,現在這方面也有所改善,CV(CodeView)、TD(Turbo Debug)等軟體也可在源程序級進行符號跟蹤了。

綜上所說,匯編語言的特點明顯,其誘人的優點直接導致其嚴重的缺點,其「與機器相關」和「執行的高效率」導致其可移植性差和調試難。所以,我們在選用匯編語言時要根據實際的應用環境,盡可能避免其缺點對整個應用系統的影響。

下面簡單列舉幾個領域以示說明,但不要把它們絕對化。

1、適用的領域
要求執行效率高、反應快的領域,如:操作系統內核,工業控制,實時系統等;
系統性能的瓶頸,或頻繁被使用子程序或程序段;
與硬體資源密切相關的軟體開發,如:設備驅動程序等;
存儲容量限制的應用領域,如:家用電器的計算機控制功能等;
沒有適當的高級語言開發環境。

2、不宜使用的領域
大型軟體的整體開發;
沒有特殊要求的一般應用系統的開發等。

你寫論文可以圍繞這幾個方面寫,最好舉幾個例子,能和實踐結合最好了

❷ 結合工作體檢,談談你對編譯原理的認識,以及其在整個計算機科學中的地位.

覺得編譯原理對了解程序有好處,就拿正規表達式來說吧,正規表達式定義了一種正則文法,根據文法定義語言

❸ 編譯原理中,確定有窮自動機的化簡步驟是什麼啊能不能再給個例子啊 給個具體一點的文章或網址也行啊

我有這樣一道題的解題步驟,但是圖片傳不上來,需要的話可以留個郵箱給我。
已知 NFA= ( {x,y,z},{0,1},M,{x},{z} ),其中:
M(x,0)={z},M(y,0)={x,y},M(z,0)={x,z},M(x,1)={x}, M(y,1)= φ ,M(z,1)={y}, 構造相應的DFA並最小化。

❹ 編譯原理的應用和發展

http://www.7880.com/Info/Article-3dead480.html

額。。。。查查你們學校圖書館的電子期刊吧

❺ 基於C/C++的C語言詞法分析器的設計與實現 畢業論文題目

樓主。。其實這個很簡單,這是我們編譯原理課第二單元的大作業。。。 拿來做畢設難度不大,應該能自己完成吧

❻ 侯紅的著作

近幾年來,一直在從事軟體過程理論與應用研究,長期深入軟體企業第一線,在深入調查軟體企業過程管理問題的基礎上,做了較扎實系統的研究,2006年6月完成了博士論文《基於度量的軟體過程管理方法與分析技術的研究》,取得了優秀的成績。在軟體過程管理及工具環境研究方面積累了較豐富的經驗,已發表相關論文約20篇。於2007年出版《編譯原理》一書,2009年出版教材——《軟體度量與軟體過程管理》。

❼ 編譯原理的論文...b

sha 你想要什麼

❽ 李忠偉的論文專著:

[1] Zhongwei Li. A Support Vector Machine Training Algorithm Based on Cascade Structure. Proceedings of First International Conference on Innovative Computing Information and Control. Beijing, China, 30 Aug. 2006.
[2] 李忠偉, 張健沛, 楊靜. 基於支持向量機的增量學習演算法研究. 哈爾濱工程大學學報. 2005, 26(5): 643-646頁.
[3] Zhong-wei LI, Jian-pei ZHANG, Jing YANG. A Crossed Iterative Approach for Training SVM to Incremental Learning. Proceedings of International Symposium on Intelligent Computation and its Application. Wuhan, China, April 2005: 419-423P.
[4] 李忠偉, 張健沛, 張福順. 基於支持向量機的虛擬企業夥伴選擇方法研究. 計算機應用研究. 2004, 21(12): 43-44, 75頁.
[5] Zhong-wei LI, Jian-pei ZHANG, Jing YANG. A Heuristic Algorithm to Incremental Support Vector Machine Learning. Proceedings of 2004 International Conference on Machine Learning and Cybernetics. Shanghai, China, August 2004: 1764-1767P.
[6] 李忠偉, 張健沛, 張福順, 安輝. 基於SVM的虛擬企業夥伴決策系統的設計與實現. 計算機工程與應用. 2004, 40(19): 198-199, 229頁.
講授課程: 《計算機文化基礎》、《編譯原理》

❾ 編譯原理 相關論文

擦!這是誰啊!肯定認識…………

❿ 求編譯原理《符號表管理與優化》的相關論文或程序 用c實現

書上有別那麼懶!。。。。
編譯過程的六個階段:詞法分析,語法分析,語義分析,中間代碼生成,代碼優化,目標代碼生成
解釋程序:把某種語言的源程序轉換成等價的另一種語言程序——目標語言程序,然後再執行目標程序。解釋方式是接受某高級語言的一個語句輸入,進行解釋並控制計算機執行,馬上得到這句的執行結果,然後再接受下一句。
編譯程序:就是指這樣一種程序,通過它能夠將用高級語言編寫的源程序轉換成與之在邏輯上等價的低級語言形式的目標程序(機器語言程序或匯編語言程序)。
解釋程序和編譯程序的根本區別:是否生成目標代碼
句子的二義性(這里的二義性是指語法結構上的。):文法G[S]的一個句子如果能找到兩種不同的最左推導(或最右推導),或者存在兩棵不同的語法樹,則稱這個句子是二義性的。
文法的二義性:一個文法如果包含二義性的句子,則這個文法是二義文法,否則是無二義文法。
LL(1)的含義:(LL(1)文法是無二義的; LL(1)文法不含左遞歸)
第1個L:從左到右掃描輸入串 第2個L:生成的是最左推導
1 :向右看1個輸入符號便可決定選擇哪個產生式
某些非LL(1)文法到LL(1)文法的等價變換: 1. 提取公因子 2. 消除左遞歸
文法符號的屬性:單詞的含義,即與文法符號相關的一些信息。如,類型、值、存儲地址等。
一個屬性文法(attribute grammar)是一個三元組A=(G, V, F)
G:上下文無關文法。
V:屬性的有窮集。每個屬性與文法的一個終結符或非終結符相連。屬性與變數一樣,可以進行計算和傳遞。
F:關於屬性的斷言或謂詞(一組屬性的計算規則)的有窮集。斷言或語義規則與一個產生式相聯,只引用該產生式左端或右端的終結符或非終結符相聯的屬性。
綜合屬性:若產生式左部的單非終結符A的屬性值由右部各非終結符的屬性值決定,則A的屬性稱為綜合屬
繼承屬性:若產生式右部符號B的屬性值是根據左部非終結符的屬性值或者右部其它符號的屬性值決定的,則B的屬性為繼承屬性。
(1)非終結符既可有綜合屬性也可有繼承屬性,但文法開始符號沒有繼承屬性。
(2) 終結符只有綜合屬性,沒有繼承屬性,它們由詞法程序提供。
在計算時: 綜合屬性沿屬性語法樹向上傳遞;繼承屬性沿屬性語法樹向下傳遞。
語法制導翻譯:是指在語法分析過程中,完成附加在所使用的產生式上的語義規則描述的動作。
語法制導翻譯實現:對單詞符號串進行語法分析,構造語法分析樹,然後根據需要構造屬性依賴圖,遍歷語法樹並在語法樹的各結點處按語義規則進行計算。
中間代碼(中間語言)
1、是復雜性介於源程序語言和機器語言的一種表示形式。
2、一般,快速編譯程序直接生成目標代碼。
3、為了使編譯程序結構在邏輯上更為簡單明確,常採用中間代碼,這樣可以將與機器相關的某些實現細節置於代碼生成階段仔細處理,並且可以在中間代碼一級進行優化工作,使得代碼優化比較容易實現。
何謂中間代碼:源程序的一種內部表示,不依賴目標機的結構,易於代碼的機械生成。
為何要轉換成中間代碼:(1)邏輯結構清楚;利於不同目標機上實現同一種語言。
(2)便於移植,便於修改,便於進行與機器無關的優化。
中間代碼的幾種形式:逆波蘭記號 ,三元式和樹形表示 ,四元式
符號表的一般形式:一張符號表的的組成包括兩項,即名字欄和信息欄。
信息欄包含許多子欄和標志位,用來記錄相應名字和種種不同屬性,名字欄也稱主欄。主欄的內容稱為關鍵字(key word)。
符號表的功能:(1)收集符號屬性 (2) 上下文語義的合法性檢查的依據: 檢查標識符屬性在上下文中的一致性和合法性。(3)作為目標代碼生成階段地址分配的依據
符號的主要屬性及作用:
1. 符號名 2. 符號的類型 (整型、實型、字元串型等))3. 符號的存儲類別(公共、私有)
4. 符號的作用域及可視性 (全局、局部) 5. 符號變數的存儲分配信息 (靜態存儲區、動態存儲區)
存儲分配方案策略:靜態存儲分配;動態存儲分配:棧式、 堆式。
靜態存儲分配
1、基本策略
在編譯時就安排好目標程序運行時的全部數據空間,並能確定每個數據項的單元地址。
2、適用的分配對象:子程序的目標代碼段;全局數據目標(全局變數)
3、靜態存儲分配的要求:不允許遞歸調用,不含有可變數組。
FORTRAN程序是段結構,不允許遞歸,數據名大小、性質固定。 是典型的靜態分配
動態存儲分配
1、如果一個程序設計語言允許遞歸過程、可變數組或允許用戶自由申請和釋放空間,那麼,就需要採用動態存儲管理技術。
2、兩種動態存儲分配方式:棧式,堆式
棧式動態存儲分配
分配策略:將整個程序的數據空間設計為一個棧。
在具有遞歸結構的語言程序中,每當調用一個過程時,它所需的數據空間就分配在棧頂,每當過程工作結束時就釋放這部分空間。
過程所需的數據空間包括兩部分
一部分是生存期在本過程這次活動中的數據對象。如局部變數、參數單元、臨時變數等;
另一部分則是用以管理過程活動的記錄信息(連接數據)。
活動記錄(AR)
一個過程的一次執行所需要的信息使用一個連續的存儲區來管理,這個區 (塊)叫做一個活動記錄。
構成
1、臨時工作單元;2、局部變數;3、機器狀態信息;4、存取鏈;
5、控制鏈;6、實參;7、返回地址
什麼是代碼優化
所謂優化,就是對代碼進行等價變換,使得變換後的代碼運行結果與變換前代碼運行結果相同,而運行速度加快或佔用存儲空間減少。
優化原則:等價原則:經過優化後不應改變程序運行的結果。
有效原則:使優化後所產生的目標代碼運行時間較短,佔用的存儲空間較小。
合算原則:以盡可能低的代價取得較好的優化效果。
常見的優化技術
(1) 刪除多餘運算(刪除公共子表達式) (2) 代碼外提 +刪除歸納變數+ (3)強度削弱; (4)變換循環控制條件 (5)合並已知量與復寫傳播 (6)刪除無用賦值
基本塊定義
程序中只有一個入口和一個出口的一段順序執行的語句序列,稱為程序的一個基本塊。

給我分數啊。。。

熱點內容
危化品的存儲 發布:2024-03-28 23:02:09 瀏覽:607
qq重新設密碼怎麼設置 發布:2024-03-28 22:49:05 瀏覽:88
深圳航天信息稅盤伺服器地址 發布:2024-03-28 22:47:51 瀏覽:203
玩csol伺服器連接中斷怎麼辦 發布:2024-03-28 22:46:19 瀏覽:905
apk加密軟體 發布:2024-03-28 22:36:14 瀏覽:695
cpu不能直接訪問的存儲器 發布:2024-03-28 22:31:49 瀏覽:440
嘀嘀打車源碼 發布:2024-03-28 22:26:02 瀏覽:934
資料庫脆弱點 發布:2024-03-28 22:25:06 瀏覽:800
2021款es升級了哪些配置 發布:2024-03-28 21:26:44 瀏覽:384
下述調度演算法 發布:2024-03-28 21:22:24 瀏覽:616