Algoritmo concettuale
 Sintassi
 Paradigmi di programmazione
 Linguaggio ad alto e basso livello
 Linguaggio binario
 Programma compilatore
 Conclusioni

EXIT
Algoritmo concettuale

Una volta individuato l'algoritmo,
occorre rappresentarlo con un
linguaggio formale che consenta di
comunicarlo alla macchina che lo deve
eseguire. Questo significa trasformare
l'algoritmo concettuale in un insieme di
istruzioni ben definite e rappresentarle
in modo chiaro e non ambiguo.
Paradigmi di programmazione

Nel caso dei computer, il sistema
formale che consente di descrivere
l'algoritmo è rappresentato dal
linguaggio di programmazione che
fornisce una varietà di approcci, noti
come paradigmi di programmazione,
per affrontare l'atto e il processo della
programmazione, ovvero la traduzione
nel linguaggio adottato dell'algoritmo.
Sintassi

I linguaggi di programmazione sono definiti
da un insieme di regole grammaticali, o
sintassi, che consentono di decidere se una
istruzione è scritta correttamente. I linguaggi
di programmazione sono stati introdotti per
facilitare il compito di scrittura dei programmi
ai programmatori; sono linguaggi simbolici
che si sono evoluti sempre più verso sistemi
di codici complessi e potenti, orientati più
all'uomo che alla macchina.
Linguaggio ad alto e basso livello
In un linguaggio ad alto livello (PASCAL), ad
esempio, per sommare due grandezze e
assegnarne il valore ad una terza, potremmo
usare l'istruzione:
semiperimetro := base + altezza
 Nel linguaggio assemblatore, sempre
simbolico ma specifico della singola
macchina, si potrebbe dire:
LOAD x
ADD y
STORE Z

Linguaggio binario
Infine nel linguaggio binario usato dalla
macchina questa stessa istruzione potrebbe
essere tradotta nella sequenza di 0 e 1,
totalmente illeggibile per l'uomo, ma
perfettamente non ambigua per la macchina:
0010000000000100
0100000000000101
0011000000000110
Programma compilatore

Il concetto che ha permesso questa
evoluzione è stata l'idea di traduzione di un
programma nel linguaggio nativo della
macchina, l'unico che tiene conto della sua
architettura. Questo ha consentito di scrivere
programmi che possono essere eseguiti su
diverse macchine, perchè basta predisporre
una volta per tutte un traduttore, il
programma compilatore .
Conclusioni

Si può facilmente comprendere che per
predisporre un compilatore, occorre che le
regole grammaticali del linguaggio siano
espresse in modo non ambiguo. Sono stati
definiti allo scopo numerosi strumenti formali
per la descrizione sintattica dei linguaggi:
tavole sintattiche, grammatiche, notazione di
Backus. Il compito di un compilatore è quello
di ricevere un programma sorgente, scritto
dal programmatore, e di produrre un
linguaggio oggetto, eseguibile da una
macchina.
Scarica

I linguaggi di programmazione