Generazione e compilazione di codice sorgente di linguaggi diversi in modo dinamico

In .NET Framework è incluso un meccanismo denominato Code Document Object Model (CodeDOM) che consente agli sviluppatori di programmi che creano codice sorgente di generare codice sorgente in più linguaggi di programmazione in fase di esecuzione, in base a un unico modello che rappresenta il codice da generare.

Per rappresentare il codice sorgente, gli elementi CodeDOM vengono collegati l'un l'altro a formare una struttura di dati nota come grafo CodeDOM, che rappresenta la struttura del codice sorgente.

Nello spazio dei nomi System.CodeDom vengono definiti tipi che possono rappresentare la struttura logica del codice sorgente, indipendentemente da uno specifico linguaggio di programmazione. Nello spazio dei nomi System.CodeDom.Compiler vengono definiti tipi per la generazione di codice sorgente da grafi CodeDOM e per la gestione della compilazione del codice sorgente nei linguaggi supportati. I produttori di compilatori e gli sviluppatori possono ampliare l'insieme dei linguaggi supportati.

La modellazione di codice sorgente svincolata da uno specifico linguaggio si rivela particolarmente utile quando occorre che un programma generi codice sorgente per un modello di programma in più linguaggi o in un linguaggio di destinazione non ancora definito. Alcuni progettisti utilizzano ad esempio CodeDOM come interfaccia indipendente dal linguaggio per produrre codice sorgente nel linguaggio di programmazione desiderato, ove sia disponibile il supporto CodeDOM per tale linguaggio.

Con .NET Framework vengono forniti compilatori di codice e generatori di codice per i seguenti linguaggi: C#, JScript e Visual Basic.

In questa sezione

Sezioni correlate

  • System.CodeDom
    Definisce elementi che rappresentano elementi di codice in linguaggi di programmazione che si avvalgono del Common Language Runtime.
  • System.CodeDom.Compiler
    Vengono descritte le interfacce per la generazione e la compilazione di codice in fase di esecuzione.
  • Riferimento rapido per CodeDOM
    Viene fornito agli sviluppatori un modo rapido per cercare elementi CodeDOM che rappresentano elementi del codice sorgente.