uni
Non usiamo direttamente il linguaggio naturale poiché i linguaggi naturali non evitano le ambiguità e non si prestano a descrivere processi computazionali automatizzabili.
Un linguaggio di programmazione è una notazione formale che può essere usata per descrivere algoritmi.
Un linguaggio è caratterizzato da:

  1. Sintassi: insieme di regole formali per la scrittura di programmi, usate per costruire correttamente frasi nel linguaggio.
  2. Semantica: insieme dei significati da attribuire alle frasi costruite nel linguaggio
    1. a parole (poco precisa e ambigua)
    2. mediante azioni (semantica operazionale)
    3. mediante funzioni matematiche (semantica denotazionale)
    4. mediante formule logiche (semantica assiomatica)

Definizione

Detti:

  1. alfabeto: l’insieme dei simboli con cui si costruiscono le frasi.
  2. universo linguistico: l’insieme di tutte le frasi (ovvero sequenze finite) di elementi di .
  3. linguaggio su alfabeto : un sottoinsieme di .
  4. simbolo non terminale detto simbolo iniziale.
    Data una grammatica , si dice linguaggio generato da l’insieme delle frasi di derivabili dal simbolo iniziale applicando le regole di produzione .

Approcci

Approccio Compilato

  1. editing: scrivere il testo e memorizzarlo su supporti di memoria permanenti.
  2. compilazione e linking
    Analisi e traduzione del programma sorgente
  3. esecuzione

Approccio Interpretato

  1. editing
  2. interpretazione
    Analisi ed esecuzione del programma sorgente

Linguaggi di Programmazione

C++