編譯原理論文
⑴ 論文:匯編語言的特點及應用領域
一方面,匯編語言指令是用一些具有相應含義的助憶符來表達的,所以,它要比機器語言容易掌握和運用,但另一方面,它要直接使用CPU的資源,相對高級程序設計語言來說,它又顯得難掌握。
匯編語言程序歸納起來大概有以下幾個主要特性。
1、與機器相關性
匯編語言指令是機器指令的一種符號表示,而不同類型的CPU有不同的機器指令系統,也就有不同的匯編語言,所以,匯編語言程序與機器有著密切的關系。
由於匯編語言程序與機器的相關性,所以,除了同系列、不同型號CPU之間的匯編語言程序有一定程度的可移植性之外,其它不同類型(如:小型機和微機等)CPU之間的匯編語言程序是無法移植的,也就是說,匯編語言程序的通用性和可移植性要比高級語言程序低。
2、執行的高效率
正因為匯編語言有「與機器相關性」的特性,程序員用匯編語言編寫程序時,可充分發揮自己的聰明才智,對機器內部的各種資源進行合理的安排,讓它們始終處於最佳的使用狀態,這樣做的最終效果就是:程序的執行代碼短,執行速度快。
現在,高級語言的編譯程序在進行寄存器分配和目標代碼生成時,也都有一定程度的優化(在後續課程《編譯原理》的有關章節會有詳細介紹),但由於所使用的「優化策略」要適應各種不同的情況,所以,這些優化策略只能在宏觀上,不可能在微觀上、細節上進行優化。而用匯編語言編寫程序幾乎是程序員直接在寫執行代碼,程序員可以在程序的每個具體細節上進行優化,這也是匯編語言程序執行高效率的原因之一。
3、編寫程序的復雜性
匯編語言是一種面向機器的語言,其匯編指令與機器指令基本上一一對應,所以,匯編指令也同機器指令一樣具有功能單一、具體的特點。要想完成某件工作(如計算:A+B+C等),就必須安排CPU的每步工作(如:先計算A+B,再把C加到前者的結果上)。另外,在編寫匯編語言程序時,還要考慮機器資源的限制、匯編指令的細節和限制等等。
由於匯編語言程序要安排運算的每一個細節,這就使得編寫匯編語言程序比較繁瑣、復雜。一個簡單的計算公式或計算方法,也要用一系列匯編指令一步一步來實現。
4、調試的復雜性
在通常情況下,調試匯編語言程序要比調試高級語言程序困難,其主要原因有四:
匯編語言指令涉及到機器資源的細節,在調試過程中,要清楚每個資源的變化情況;
程序員在編寫匯編語言程序時,為了提高資源的利用率,可以使用各種實現技巧,而這些技巧完全有可能破壞程序的可讀性。這樣,在調試過程中,除了要知道每條指令的執行功能,還要清楚它在整個解題過程中的作用;
高級語言程序幾乎不顯式地使用「轉移語句」,但匯編語言程序要用到大量的、各類轉移指令,這些跳轉指令大大地增加了調試程序的難度。如果在匯編語言程序中也強調不使用「轉移指令」,那麼,匯編語言程序就會變成功能單調的順序程序,這顯然是不現實的;
調試工具落後,高級語言程序可以在源程序級進行符號跟蹤,而匯編語言程序只能跟蹤機器指令。不過,現在這方面也有所改善,CV(CodeView)、TD(Turbo Debug)等軟體也可在源程序級進行符號跟蹤了。
綜上所說,匯編語言的特點明顯,其誘人的優點直接導致其嚴重的缺點,其「與機器相關」和「執行的高效率」導致其可移植性差和調試難。所以,我們在選用匯編語言時要根據實際的應用環境,盡可能避免其缺點對整個應用系統的影響。
下面簡單列舉幾個領域以示說明,但不要把它們絕對化。
1、適用的領域
要求執行效率高、反應快的領域,如:操作系統內核,工業控制,實時系統等;
系統性能的瓶頸,或頻繁被使用子程序或程序段;
與硬體資源密切相關的軟體開發,如:設備驅動程序等;
受存儲容量限制的應用領域,如:家用電器的計算機控制功能等;
沒有適當的高級語言開發環境。
2、不宜使用的領域
大型軟體的整體開發;
沒有特殊要求的一般應用系統的開發等。
你寫論文可以圍繞這幾個方面寫,最好舉幾個例子,能和實踐結合最好了
⑵ 大學論文題目
大學生活.....何去何從
站在這片陌生的土地上我已經迷失了方向,無數次想家,無數次想朋友,又無數次悄悄抹眼淚,我不知道從前那個很快樂的自己消失在哪裡了,是在這段生活的初始嗎?
因為覺得自己的單純很難適應現實的生活,所以鼓足一生所有的勇氣站在了200多人的講台上去爭這個班長,可是做了這么久我後悔了,我沒有自己想的那麼堅強,也沒有那麼多的力量再被傷害,每一天夜幕降臨的時候我就會好孤獨,好害怕,我怕自己又會因為做不完的工作失眠,又會因為和同學的關系沒處好而難過!
有時候給從前的朋友打電話他們會問我現在還好嗎?在這里有沒有在被朋友寵著照顧著,我都會無話可說,到這里是一個完全不同的世界,我一直都在學著照顧自己照顧別人,根本不會再有人像他們把我當個孩子一樣寵著,所以我在用自己所有的力量堅強並快樂著.
想媽媽的時候都會忍著不敢打電話,怕現在的狀況讓她擔心,怕她知道我的委屈,從出生到現在我都在給她造成負擔,看著他每天那麼辛苦我還有什麼理由讓他再擔心如今已經成人的女兒呢?媽媽說每一次她生病的時候都會擔心她的一對兒女該如何生活,該如何完成學業!她一直都希望她的孩子能進大學,能快快樂樂的生活,不要像她一樣因為貧窮與大學無緣.可是真的進了大學我後悔了.我甚至覺得這樣的生活會拖跨她,拖跨這個本就不穩定的家,也許我可以什麼都不要只要一家人快樂健康的在一起就好了.
媽媽說進了大學貧困生的心理都會面臨很大挑戰,而我也不會逃離這樣的命運.之前我以為自己不會,可是和同學相處之後才發現媽媽說的是對的,因為家境每個人的消費觀念都會不一樣,而我在這適應的過程中也遇到了很大的麻煩,因為一些小的細節所以被同學認為人品有問題,而我又能夠講什麼呢?除了沉默還是沉默!
一個班長的職位帶給我很多困饒,讓我已經不知道該怎樣跟同學相處,該怎樣生活?所以因為這樣我得罪了好多人,除了宿舍我幾乎不敢再奢望跟別人成為朋友,除了自己一個人難過別無他法!
這一個月來班裡的工作讓我已經開始打退堂鼓了,我無數次想要放棄,想要讓其他同學代替我,我已經開始懷疑自己的能力,懷疑自己的選擇,我只想像叢前一樣很單純的玩耍,很安靜的寫自己的心情,偶而突發奇想的時候給報紙投投稿,我不知道自己現在的努力是為了什麼.我不知道自己用眼淚換來的又是什麼,我的選擇一次又一次在傷害自己.甚至是遍體磷傷卻沒有人理解.
我嘗試著給其他人機會來代替我,嘗試著讓我認為會很負責的人來主持班會,可是我失敗了,他以為我只是在把工作推給他做,只是不負責任的命令別人.我以為自己會跟他做很好的朋友,可是我們之間連一句完整的話都沒法講,原來我只是一相情願而已,現在一個簡單的朋友對我而言都會很難,那麼我的委屈要來又有何用.
進大學的第一個月讓我已經無法再回到從前,無法再很單純的生活,甚至會被別人討厭,這些也許我都可以想到,可以明白,但是我卻迷失了自己這樣選擇意義.
也許有一天我真的會無法堅持毅然的放棄現在的選擇,不管任何人任何事,只是選擇做最本色的自己,不用在為了誰去爭取什麼,更不用因為一些與自己無關痛癢的事而爭執.不用難過不用辛苦.只是進一切努力為自己,為家人,那樣的生活也許更適合我?沒有了那麼多摩擦,我也許就不會那樣被別人議論
簡單的生活似乎對我而言是那麼的奢侈,可是我又無能為力,也許放棄是最好的選擇,那樣我就不會像現在這樣不知何去何從
⑶ 編譯原理的應用和發展
http://www.7880.com/Info/Article-3dead480.html
額。。。。查查你們學校圖書館的電子期刊吧
⑷ 結合工作體檢,談談你對編譯原理的認識,以及其在整個計算機科學中的地位.
覺得編譯原理對了解程序有好處,就拿正規表達式來說吧,正規表達式定義了一種正則文法,根據文法定義語言
⑸ 編譯原理中文法變換的特殊方法有哪些
雖然對編譯原理了解不多,但是看到樓上那位答案,順便留個腳印:
設G=(VN,VT,P,S),如果它的每個產生式α→β是這樣一種結構:α∈( VN∪VT )*且至少含有一個非終結符,而β∈( VN∪VT )*,則G是一個0型文法。
0型文法也稱短語文法。一個非常重要的理論結果是,0型文法的能力相當於圖靈機(Turing)。或者說,任何0型語言都是遞歸可枚舉的;反之,遞歸可枚舉集必定是一個0型語言。
對0型文法產生式的形式作某些限制,以給出1,2和3型文法的定義。
設G=(VN,VT,P,S)為一文法,若P中的每一個產生式α→β均滿足|β|≥|α| ,僅僅S→ε除外,則文法G是1型或上下文有關的。
在有些文獻給的定義中,將上下文有關文法的產生式的形式描述為α1Aα2→α1βα2,其中α1、α2和β都在( VN∪VT )*中(即在V*中),β≠ε,A在VN中。這種定義與前邊的定義等價。但它更能體現"上下文有關"這一術語,因為只有A出現在α1和α2的上下文中,才允許用β取代A。
設G=(VN,VT,P,S),若P中的每一個產生式α→β滿足:α是一非終結符,β∈( VN∪VT )*則此文法稱為2型的或上下文無關的。有時將2型文法的產生式表示為形如:A→β其中A∈VN,也就是說用β取代非終結符A時,與A所在的上下文無關,因此取名為上下文無關文法。
設G=(VN,VT,P,S),若P中的每一個產生式的形式都是A→aB或A→a,其中A和B都是非終結符,a是終結符,則G是3型文法或正規文法。
多數程序設計語言的單詞的語法都能用正規文法或3型文法來描述。
3型文法G=(VN,VT,P,S)的P中的規則有兩種形式:一種是前面定義的形式,即:A→aB或A→a其中A,B∈VN ,a∈VT*,另一種形式是:A→Ba或A→a,前者稱為右線性文法,後者稱為左線性文法。正規文法所描述的是VT*上的正規集。
四個文法類的定義是逐漸增加限制的,因此每一種正規文法都是上下文無關的,每一種上下文無關文法都是上下文有關的,而每一種上下文有關文法都是0型文法。稱0型文法產生的語言為0型語言。上下文有關文法、上下文無關文法和正規文法產生的語言分別稱為上下文有關語言、上下文無關語言和正規語言。
令G是一文法,S是文法的開始符號,αβδ是文法G的一個句型。如果有:
S αAδ且Aβ則稱β是句型αβδ相對於非終結符A的短語。特別,如有Aβ則稱β是句型αβδ相對於規則A→β的直接短語(也稱簡單短語)。一個句型的最左直接短語稱為該句型的句柄。
文法中不得含有有害規則和多餘規則
有害規則:形如U→U的產生式。會引起文法的二義性
多餘規則:指文法中任何句子的推導都不會用到的規則
① 文法中某些非終結符不在任何規則的右部出現,該非終結符稱為不可到達。
② 文法中某些非終結符,由它不能推出終結符號串,該非終結符稱為不可終止。
⑹ 論文查重 程序代碼也會被查 我是自己寫的 但是有些關鍵字是一樣的 你寫過代碼肯定知道 怎麼算重復啊
在之前的知網系統裡面沒有這個庫,以往知網系統把聲明、目錄、參考文獻自動排除,不算作正文查重,並根據目錄和參考文獻,判斷文章的分段及引用情況。致謝作為正文,參與檢測。支持文字、公式、表格、圖片格式的內容的檢測。增加「源代碼庫」後,論文中代碼也需要查重。可以說升級後的知網系統,查重范圍更廣了。
改變數名,for/while轉換,if/switch轉換以及加註釋這些都沒什麼用,代碼查重軟體看的是邏輯相似度不是變數名,實際上代碼查重軟體看的是語法生成樹,計算機相關專業到了大三學了編譯原理就知道了,因為之前提到的那些在語法生成樹的視角下都是一樣的。
插入大量無意義代碼來躲避查重沒有任何意義,隨便一個編譯器都能實時檢測到沒有意義的代碼或者變數,並提示你刪掉,代碼查重軟體同樣可以檢測出來。
如果避免重復?
拿到一個demo後,如果原來邏輯在一個函數里,就把他抽離到幾個函數去;如果原來邏輯在幾個函數里,你就把他合並成一個函數。上面三種方法看似一樣但在代碼查重軟體里是完全不一樣的邏輯,活用多層嵌套函數可以搞定市面上大多的代碼查重軟體,如果用得好,還可以搞定大學計算機老師的人肉查重,這有什麼意義想必你一定能知道。當然你要是有現成的代碼但是連拆分和合並函數都整不明白,那就沒辦法了。
⑺ 編譯原理 相關論文
擦!這是誰啊!肯定認識…………
⑻ 求大學計算機科學基礎3000字論文
直接說白點,,科學基礎寫好怎麼發你。。
⑼ 李忠偉的論文專著:
[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頁.
講授課程: 《計算機文化基礎》、《編譯原理》