If a meta-programming language can be used to generate programs in any target language, it may as well be used to generate programs in the meta-language itself.
This means that there may be very high level commands in a meta-language that can be interpreted to generate source code with only lower level meta-language commands.
Translation of higher level commands in lower level ones may be done in one or more compiler passes. In a final pass, the meta-programming compiler generates code in a given target language.
The method of developing programs with meta-language commands that are translated into lower level commands is called Meta-Meta-Programming or just Meta-N-Programming.
Very high level domain specific languages can be developed with more flexibility with Meta-Meta-Programming. ||
|