Metaprogramming
Metaprogramação é uma técnica de programação na qual programas de computador têm a capacidade de tratar outros programas como seus dados. Isso significa que um programa pode ser projetado para ler, gerar, analisar ou transformar outros programas, e até mesmo se modificar enquanto está em execução.