Upload
trinhhanh
View
215
Download
0
Embed Size (px)
Citation preview
Linguaggi formali
Linguaggi di programmazione
In generale tutto cio che viene espresso in linguaggio naturale e ambiguo espesso indica operazioni che l’esecutore non e in grado di portare atermine.
I E necessario ricorrere a linguaggi speciali detti linguaggi formali opi
p
esso linguaggi di programmazione.
I I linguaggi di programmazione sono formalismi, con sintassi esemantica formalmente definite.
I I linguaggi di programmazione, possono essere classificati in base avarie caratteristiche (general/special purpose, linguaggi di scripting,ecc.)
I Le descrizioni delle funzioni da calcolare sono frasi in un linguaggio diprogrammazione e sono detti programmi.
E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 1
Linguaggi formali
Linguaggi di programmazione
I I linguaggi di programmazione (general purpose) sono tuttiequivalenti: Se ho DL1(f ) programma nel linguaggio L1 e DL2(f )programma nel linguaggio L2 che calcolano la stessa funzioneabbiamo:
DL1(f ) → DL2(f )
I La traduzione e una funzione calcolabile e quindi descrivibile con unprogramma, che quindi puo essere eseguito da un calcolatore.
E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 2
Linguaggi formali
Il linguaggio macchina
Il linguaggio direttamente eseguibile dal calcolatore (detto linguaggiomacchina) e un linguaggio di programmazione poco comprensibile agliumani (programmatori) che devono scrivere il programma perche:
I le operazioni sono molto semplici,
I sono specificate in binario: sequenze di 0 e 1 quindi
I specificare un’operazione complessa richiede la scrittura di un lungoprogramma, incomprensibile.
E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 3
Linguaggi formali
Linguaggi ad alto livello
I Tutti i programmi vengono scritti in un linguaggio ad alto livello (pervoi il JavaScript) e sono molto piu:
I compatti,I comprensibiliI modificabiliI estensibiliI correggibili
I i programmi di tali linguaggi devono pertanto essere tradotti inlinguaggio macchina per poter essere eseguiti.
I Fortunatamente la traduzione (come abbiamo gia detto) puo esserefatta dalla macchina stessa.
I I programmi che effettuano la traduzione si chiamano compilatori
E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 4