代碼生成

代碼生成

目標代碼生成是編譯的最後一個階段。目標代碼生成器把語法分析後或最佳化後的中間代碼變換成目標代碼。

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

基本介紹

  • 中文名:代碼生成
  • 領域:編譯原理
  • 本質:編譯的最後一個階段
  • 過程:最佳化後的中間代碼變換成目標代碼
簡介,問題一,問題二,編譯,目標代碼,延伸,20個代碼生成框架,代碼生成器,動軟代碼生成器,Java代碼生成器,

簡介

問題一

目標代碼生成是編譯的最後一個階段。目標代碼生成器語法分析後或最佳化後的中間代碼變換成目標代碼。目標代碼有三種形式:
① 可以立即執行的機器語言代碼,所有地址都重定位(不包含沒有定位的);
② 待裝配的機器語言模組,當需要執行時,由連線裝入程式把它們和某些運行程式連線起來,轉換成能執行的機器語言代碼;
彙編語言代碼,須經過彙編程式彙編後,變成為可執行的機器語言代碼。

問題二

目標代碼生成階段應考慮直接影響到目標代碼速度的三個問題:一是如何生成較短的目標代碼;二是如何充分利用計算機中的暫存器,減少目標代碼訪問存儲單元的次數;三是如何充分利用計算機指令系統的特點,以提高目標代碼的質量。

編譯

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

目標代碼

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

延伸

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

20個代碼生成框架

CodeSmith
MyGenerator
NHibernate.
CodePlus
CodeMaker
EntitysCodeGenerate
等等

代碼生成器

動軟代碼生成器

動軟代碼生成器是完全自主智慧財產權研發的為軟體項目開發設計的自動代碼生成器,也是一個軟體項目智慧型開發平台,其本身亦是由計算機語言開發的軟體.

Java代碼生成器

這個工具能夠讀取資料庫表結構,通過對欄位類型、名稱等分析得到需要的各種變數,根據模板生成相應的pojo類、hibernate的xml配置檔案、dao和service的接口和類。
Table:根據表結構建立的對象。
Column:根據表中每列建立的對象。
Generator:生成器核心類,主要負責根據表對象和讀取FreeMarker模板生成最後的java代碼檔案。
GeneratorControl:控制生成過程等的一些參數,例如檔案是否覆蓋、檔案編碼等。
GeneratorProperties:讀取配置檔案的類,配置檔案包括資料庫連線信息和一些基本的參數配置。

相關詞條

熱門詞條

聯絡我們