Noun
metaprogramming (uncountable)
(programming) Writing of computer programs that write or manipulate other programs or themselves as their data, or that do part of the work at runtime that would otherwise be done at compile time.
In the absence of runtime metaprogramming this has approximately the same semantics as rightmost depth first resolution. Source: Internet
This allows easy writing of programs which manipulate other programs ( metaprogramming ). Source: Internet
This sort of metaprogramming can be used to write more concise code and effectively extend the language. Source: Internet