Métaprogrammation
est le processus de l'écriture de programmes informatiques qui, à son tour,
écrivent d'autres programmes. Le processus de méta-programmation permet une
plus grande flexibilité pour les programmeurs informatiques parce que le
travail habituellement effectué lors de la période d'exécution est répartie sur
la période de temps de compilation. Ce processus libère le programmeur temps de
se concentrer sur d'autres tâches, car il permet de réduire le temps qu'il faut
écrire manuellement le code d'un programme. Recompilation est inutile parce que
la métaprogrammation permet à des programmes pour lutter contre de nouvelles
situations avec une plus grande efficacité. «Métalangage» est le terme donné à
la langue de l'ordinateur que le metaprogram utilise.
Le langage objet
est la langue de l'ordinateur de ces programmes qui sont écrits par le
processus de programmation méta. La réflexivité est un terme donné à
métalangage, qui peut également entraîner la métaprogrammation.
Métaprogrammation fonctionne de diverses manières. Une manière est pour
l'interface de programmation d'application pour permettre le code de
programmation pour accéder à l'intérieur du moteur d'exécution.
Une autre façon
que metaprogramming fonctionne est en permettant aux programmes d'écrire
d'autres programmes à travers le processus d'exécution dynamique. Dans ce cas,
les expressions de chaîne sont utilisées dans ce processus. Bien que la même
langue puisse être utilisée dans ces deux processus, il n'est pas rare pour les
langues pour favoriser un processus sur l'autre.
Métaprogrammation
travaille aussi en contournant la langue. Il permet la modification de langues
par le biais des systèmes de transformation de programme. Cette procédure donne
métaprogrammation la liberté d'utiliser les langues, même si la langue n'emploie
pas de caractéristiques de méta-programmation.
Un code source
n'est pas nécessaire pour la métaprogrammation. Il peut être fait par une
compilation incrémentielle ou par les programmes d'exécution modifiable.
L'ordinateur langaugae Lisp est la langue de prédilection pour le processus de
méta-programmation. C'est à cause de la simplicité de ce type de langage de
programmation, ainsi que de sa puissance.
Métaprogrammation
qui utilise les ouvrages en langue Lisp en permettant l'évaluation de code
pendant la période de temps de définition de programme, en contraste avec la
période d'exécution. Ce processus rend le langage de méta-programmation et le
langage de programmation le même hôte. Lorsque cela se produit, ce routines
Lisp peuvent être recyclés pour le processus de méta-programmation.
Autres langues
ont utilisé ce processus exact avec l'intégration d'un interpréteur de
programme. Cet interpréteur fonctionne avec les données dans le programme.
Langages de programmation spécifiques au domaine de la métaprogrammation sont
une autre forme que créer des analyseurs et des analyseurs lexicaux. Ceux-ci
permettent à l'utilisateur d'utiliser des expressions régulières pour définir
la langue.