① 文學著作的翻譯和編譯有什麼區別
編譯是在翻譯的基礎上根據需要進行內容選擇,選取一部分構成一篇文章;翻譯多數是中英翻譯,有一種語言轉化為另一種語言,不加選擇。
英語翻譯是要忠實地把英文轉換成中文(或者反過來),對翻譯者兩種語言的水平都要求很高,而且翻譯過程還有大量查詞典的體力活以確保譯文准確。哪怕是很小的誤譯、偏差都可能造成嚴重後果。
相比之下,編譯不必完全忠實於原文,只要從英文材料中根據自己的需要選取材料寫成中文的文章就可以了。編譯的應用更為廣泛,可以用於撰寫科普文章、學術報告、新聞報道、商務PPT等。
編譯是按照自己的寫作和編輯思路為主,可以收集多個來源的英文材料進行處理,取其精華去其廢話,最後寫出來的作品對於國內讀者來說往往比翻譯更容易閱讀。
翻譯做到「信、達、雅」的難度極高,忠於英文的話中文就難免別扭,通常只有專業人士、英語大神等少數人才能翻譯得既准確傳神又通俗易懂。因此,編譯更適合大部分非專業人士進行。
(1)編譯詞什麼意思擴展閱讀:
翻譯的主要標准
翻譯是語際交流過程中溝通不同語言的橋梁。一般來說,翻譯的標准主要有兩條:忠實和通順。
1、忠實
是指忠實於原文所要傳遞的信息,也就是說,把原文的信息完整而准確地表達出來,使譯文讀者得到的信息與原文讀者得到的信息大致相同。
2、通順
是指譯文規范、明白易懂,沒有文理不通、結構混亂、邏輯不清的現象。
② 編譯原理全部的名詞解釋
書上有別那麼懶!.
編譯過程的六個階段:詞法分析,語法分析,語義分析,中間代碼生成,代碼優化,目標代碼生成
解釋程序:把某種語言的源程序轉換成等價的另一種語言程序——目標語言程序,然後再執行目標程序.解釋方式是接受某高級語言的一個語句輸入,進行解釋並控制計算機執行,馬上得到這句的執行結果,然後再接受下一句.
編譯程序:就是指這樣一種程序,通過它能夠將用高級語言編寫的源程序轉換成與之在邏輯上等價的低級語言形式的目標程序(機器語言程序或匯編語言程序).
解釋程序和編譯程序的根本區別:是否生成目標代碼
句子的二義性(這里的二義性是指語法結構上的.):文法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)刪除無用賦值
基本塊定義
程序中只有一個入口和一個出口的一段順序執行的語句序列,稱為程序的一個基本塊.
給我分數啊.
③ 緙栬瘧鏄浠涔堟剰鎬
緙栬瘧鏄浠涔堟剰鎬濅粙緇嶅備笅錛
緙栬瘧紼嬪簭錛圕ompiler錛宑ompiling program錛変篃縐頒負緙栬瘧鍣錛屾槸鎸囨妸鐢ㄩ珮綰х▼搴忚捐¤璦涔﹀啓鐨勬簮紼嬪簭錛岀炕璇戞垚絳変環鐨勬満鍣ㄨ璦鏍煎紡鐩鏍囩▼搴忕殑緲昏瘧紼嬪簭銆
瑙i噴紼嬪簭鏄涓縐嶈璦澶勭悊紼嬪簭錛屽湪璇嶆硶銆佽娉曞拰璇涔夊垎鏋愭柟闈涓庣紪璇戠▼搴忕殑宸ヤ綔鍘熺悊鍩烘湰鐩稿悓錛屼絾鍦ㄨ繍琛岀敤鎴風▼搴忔椂錛屽畠鐩存帴鎵ц屾簮紼嬪簭鎴栨簮紼嬪簭鐨勫唴閮ㄥ艦寮(涓闂翠唬鐮)銆
緙栬瘧榪囩▼鏃㈠彲浠ユ寜鐓ц繖鍏涓閫昏緫姝ラら『搴忓湴鎵ц岋紝涔熷彲浠ユ寜鐓у鉤琛屼簰閿佹柟寮忓幓鎵ц屻傚湪紜瀹氱紪璇戠▼搴忕殑鍏蜂綋緇撴瀯鏃訛紝甯稿父鍒嗚嫢騫查亶瀹炵幇銆傚逛簬婧愮▼搴忔垨涓闂磋璦紼嬪簭錛屼粠澶村埌灝炬壂瑙嗕竴嬈″苟瀹炵幇鎵瑙勫畾鐨勫伐浣滅О浣滀竴閬嶃傛瘡涓閬嶅彲浠ュ畬鎴愪竴涓鎴栫浉榪炲嚑涓閫昏緫姝ラょ殑宸ヤ綔銆
鍙浠ユ妸璇嶆硶鍒嗘瀽浣滀負絎涓閬嶏紱璇娉曞垎鏋愬拰璇涔夊垎鏋愪綔涓虹浜岄亶錛涗唬鐮佷紭鍖栧拰瀛樺偍鍒嗛厤浣滀負絎涓夐亶錛涗唬鐮佺敓鎴愪綔涓虹鍥涢亶銆傚弽涔嬶紝涓轟簡閫傚簲杈冨皬鐨勫瓨鍌ㄧ┖闂存垨鎻愰珮鐩鏍囩▼搴忚川閲忥紝涔熷彲浠ユ妸涓涓閫昏緫姝ラょ殑宸ヤ綔鍒嗕負鍑犻亶鍘繪墽琛屻
④ 編譯和譯有什麼區別
譯表示直譯,原來表達的什麼意思就翻譯成什麼意思,編譯表示經過翻譯者的稍微加工,把原來作者的意思加以潤色、組織再表達出來的文字。
⑤ 解釋和編譯的區別
解釋和編譯的區別如下:
1、讀音不同
解釋:讀音是jiě shì。
編譯:讀音是biān yì。
2、意思不同
解釋:意思是指在觀察的基礎上進行思考,合理地說明事物變化的原因,事物之間的聯系,或者是事物發展的規律。
編譯:編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。
編譯的詞法分析
詞法分析的任務是對由字元組成的單詞進行處理,從左至右逐個字元地對源程序進行掃描,產生一個個的單詞符號,把作為字元串的源程序改造成為單詞符號串的中間程序。執行詞法分析的程序稱為詞法分析程序或掃描器。
源程序中的單詞符號經掃描器分析,一般產生二元式:單詞種別;單詞自身的值。單詞種別通常用整數編碼,如果一個種別只含一個單詞符號,那麼對這個單詞符號,種別編碼就完全代表它自身的值了。若一個種別含有許多個單詞符號,那麼,對於它的每個單詞符號,除了給出種別編碼以外,還應給出自身的值。
詞法分析器一般來說有兩種方法構造:手工構造和自動生成。手工構造可使用狀態圖進行工作,自動生成使用確定的有限自動機來實現。
⑥ 匯編和編譯程序的區別急
匯編程序是將匯編語言(低級語言)翻譯成二進制機器指令的程序
編譯程序是將高級語言(java,c++)翻譯成二進制機器指令的程序