CodeGen概述
CodeGen概述
CodeGen是在協(xié)同開發(fā)環(huán)境中工作的軟件開發(fā)人員可以用來生成源代碼的工具。該代碼可能是Synergy DBL代碼,也可能是其他語言的源代碼。CodeGen并不局限于為任何特定的開發(fā)環(huán)境或編程語言生成代碼。
當(dāng)然,你不能僅僅使用CodeGen生成任何你能想象得到的源代碼。在生成代碼之前,開發(fā)人員必須聲明定義如何創(chuàng)建給定源代碼的規(guī)則。這些規(guī)則在模板文件中定義。CodeGen解釋開發(fā)人員在模板文件中定義的代碼和指令,以便生成有用的輸出。
不過,在模板文件中定義規(guī)則只是故事的一部分。為了真正有用,CodeGen還需要另一個信息源來定義要生成的內(nèi)容的上下文。
大多數(shù)軟件應(yīng)用程序都圍繞著數(shù)據(jù)的收集、表示、操作和存儲。這些數(shù)據(jù)最終存儲在某種類型的持久存儲中,例如數(shù)據(jù)文件集合或關(guān)系數(shù)據(jù)庫中的表中。當(dāng)開發(fā)人員處理一段特定的源代碼時,他們將他們所掌握的關(guān)于應(yīng)用程序數(shù)據(jù)(元數(shù)據(jù))的知識與規(guī)則或“業(yè)務(wù)邏輯”相結(jié)合,以便創(chuàng)建滿足特定需求的源代碼。CodeGen也這么做。
當(dāng)開發(fā)人員在Synergy/DE中工作時,他們可以訪問稱為Synergy/DE存儲庫的優(yōu)秀元數(shù)據(jù)源。存儲庫包含有關(guān)應(yīng)用程序使用的數(shù)據(jù)結(jié)構(gòu)以及這些數(shù)據(jù)結(jié)構(gòu)的屬性的大量信息。存儲庫還可以包含有關(guān)各種數(shù)據(jù)結(jié)構(gòu)之間的關(guān)系的信息,甚至包含有關(guān)底層數(shù)據(jù)存儲機制的信息。Synergy存儲庫是非常豐富的元數(shù)據(jù)源,也是CodeGen使用的元數(shù)據(jù)的主要來源。
對于使用Synergy/deuSynergy/DE UI Toolkiti工具箱來展示其應(yīng)用程序用戶界面的開發(fā)人員來說,可能還有另一個元數(shù)據(jù)源,稱為窗口腳本文件。在某些情況下,CodeGen還可以使用這些文件中包含的元數(shù)據(jù)。
都是關(guān)于元數(shù)據(jù)的!gen在一個文件中結(jié)合了一些定義好的文本結(jié)構(gòu)的信息。
基本原則
每次開發(fā)人員使用CodeGen生成代碼時,他們通常提供兩個主要信息:
- 元數(shù)據(jù)的來源,通常是存儲庫結(jié)構(gòu)的名稱。
- 定義要創(chuàng)建的內(nèi)容的規(guī)則的模板文件的名稱。
每次CodeGen生成一個輸出文件時,它通常做三件事: - 從元數(shù)據(jù)源(通常是存儲庫結(jié)構(gòu))讀取信息。
- 從模板讀取規(guī)則。
- 將規(guī)則與元數(shù)據(jù)合并以創(chuàng)建輸出文件。
總結(jié)
- 上一篇: 算子扫描与递归核
- 下一篇: CodeGen字段循环Field Loo