天天看點

元程式設計(MetaProgramming)元程式設計是指計算機程式編寫、或者操縱其他程式(或自身)作為程式的資料,令程式運作時

作者:九豐莊主

元程式設計(Meta Programming)

元程式設計是指計算機程式編寫、或者操縱其他程式(或自身)作為程式的資料,令程式運作時完成部分本應在編譯時完成的程式設計工作。一句話,編制可以擴充程式自身功能的代碼即為元程式設計。

一般情況下,元程式設計的代碼應與手工編寫全部代碼相比其程式的工作效率更高。編寫元程式的語言稱之為“元語言”,被操作的語言稱之為“目智語言”。一門語言同時也是自身的元語言的能力稱之為反射(數學語言,反射是把一個物體變換成其鏡像的映射)。元程式設計是一種人工智能程式設計形式。

最常用的元程式設計工具是編譯器,把進階語言轉換為彙編語言或機器語言。

元程式設計通常有兩種方式。一種方式是通過應用程式接口(API)來暴露運作時程式引擎的内部資訊。另一種是動态執行包含程式設計指令的字元串。是以,元程式設計是“程式能編寫程式”(即産生式程式設計)。

但是,并不是所有的元程式設計方式都必須用産生式程式設計。如果程式可以在運作時改變既有程式代碼(如Lisp、Lua、Ruby等),這種技術可以不實際生成源代碼就使用了元程式設計方法。

元程式設計風格是一種面向語言的程式設計程式設計風格。它特抽象![吐舌]

元程式設計(MetaProgramming)元程式設計是指計算機程式編寫、或者操縱其他程式(或自身)作為程式的資料,令程式運作時
元程式設計(MetaProgramming)元程式設計是指計算機程式編寫、或者操縱其他程式(或自身)作為程式的資料,令程式運作時
元程式設計(MetaProgramming)元程式設計是指計算機程式編寫、或者操縱其他程式(或自身)作為程式的資料,令程式運作時

繼續閱讀