title: Interpreter pattern
text: # Interpreter pattern
  
  Dato un linguaggio, il pattern interpreter (interprete in italiano) definisce una rappresentazione della sua grammatica insieme ad un interprete che utilizza questa rappresentazione per l'interpretazione delle espressioni in quel determinato linguaggio.
  
  Nella programmazione, l'interpreter viene considerato come un particolare modello di progettazione. L'interpreter pattern difatti precisa come valutare le frasi in una determinata lingua o linguaggio. L'idea di base è quella di avere una classe per ciascun simbolo (terminale o non terminale) in un linguaggio di programmazione specifico. L'albero sintattico di una frase nella lingua è quindi un esempio del modello sintattico composito e viene usato per valutare (interpretare) la frase.
  
  ## Utilizzi del pattern
  
  * Linguaggi d'interrogazione di database specializzati, come SQL;
  * Linguaggi informatici specializzati, che sono spesso utilizzati per descrivere protocolli di comunicazione;
  * La maggior parte dei linguaggi di programmazione in generale, ai fini d'integrare efficacemente diversi linguaggi specialistici.
  