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:
- Sintassi: insieme di regole formali per la scrittura di programmi, usate per costruire correttamente frasi nel linguaggio.
- Semantica: insieme dei significati da attribuire alle frasi costruite nel linguaggio
- a parole (poco precisa e ambigua)
- mediante azioni (semantica operazionale)
- mediante funzioni matematiche (semantica denotazionale)
- mediante formule logiche (semantica assiomatica)
Definizione
Detti:
- alfabeto: l’insieme dei simboli con cui si costruiscono le frasi.
- universo linguistico: l’insieme di tutte le frasi (ovvero sequenze finite) di elementi di .
- linguaggio su alfabeto : un sottoinsieme di .
- 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
- editing: scrivere il testo e memorizzarlo su supporti di memoria permanenti.
- compilazione e linking
Analisi e traduzione del programma sorgente - esecuzione
Approccio Interpretato
- editing
- interpretazione
Analisi ed esecuzione del programma sorgente