複製鏈接
請複製以下鏈接發送給好友

代碼生成

鎖定
目標代碼生成是編譯的最後一個階段。目標代碼生成器語法分析後或優化後的中間代碼變換成目標代碼。
目標代碼(object code)指計算機科學中編譯器彙編器處理源代碼後所生成的代碼,它一般由機器代碼或接近於機器語言的代碼組成。
中文名
代碼生成
領    域
編譯原理
本    質
編譯的最後一個階段
過    程
優化後的中間代碼變換成目標代碼

代碼生成術語簡介

問題一
目標代碼生成是編譯的最後一個階段。目標代碼生成器語法分析後或優化後的中間代碼變換成目標代碼。目標代碼有三種形式:
① 可以立即執行的機器語言代碼,所有地址都重定位(不包含沒有定位的);
② 待裝配的機器語言模塊,當需要執行時,由連接裝入程序把它們和某些運行程序連接起來,轉換成能執行的機器語言代碼;
彙編語言代碼,須經過彙編程序彙編後,變成為可執行的機器語言代碼。
問題二
目標代碼生成階段應考慮直接影響到目標代碼速度的三個問題:一是如何生成較短的目標代碼;二是如何充分利用計算機中的寄存器,減少目標代碼訪問存儲單元的次數;三是如何充分利用計算機指令系統的特點,以提高目標代碼的質量。

代碼生成程序編譯

編譯(compilation , compile) 1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。 2、用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。 編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析語法分析;語義檢查和中間代碼生成代碼優化目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。

代碼生成目標代碼

目標代碼(object code)指計算機科學中編譯器彙編器處理源代碼後所生成的代碼,它一般由機器代碼或接近於機器語言的代碼組成。

代碼生成編譯延伸

如果編譯過程中發現源程序有錯誤,編譯程序應報告錯誤的性質和錯誤的發生的地點,並且將錯誤所造成的影響限制在儘可能小的範圍內,使得源程序的其餘部分能繼續被編譯下去,有些編譯程序還能自動糾正錯誤,這些工作由錯誤處理程序完成。

代碼生成框架生成

CodeSmith [1] 
MyGenerator [1] 
NHibernate. [1] 
CodePlus [1] 
CodeMaker [1] 
EntitysCodeGenerate [2] 
等等 [1] 

代碼生成代碼生成器

動軟代碼生成器
動軟代碼生成器是完全自主知識產權研發的為軟件項目開發設計的自動代碼生成器,也是一個軟件項目智能開發平台,其本身亦是由計算機語言開發的軟件.
Java代碼生成器
這個工具能夠讀取數據庫表結構,通過對字段類型、名稱等分析得到需要的各種變量,根據模板生成相應的pojo類、hibernate的xml配置文件、dao和service的接口和類。 [3] 
Table:根據表結構建立的對象。 [3] 
Column:根據表中每列建立的對象。 [3] 
Generator:生成器核心類,主要負責根據表對象和讀取FreeMarker模板生成最後的java代碼文件。 [3] 
GeneratorControl:控制生成過程等的一些參數,例如文件是否覆蓋、文件編碼等。 [3] 
GeneratorProperties:讀取配置文件的類,配置文件包括數據庫連接信息和一些基本的參數配置。 [3] 
參考資料