4
Linguaggi formali Linguaggi di programmazione In generale tutto ci` o che viene espresso in linguaggio naturale ` e ambiguo e spesso indica operazioni che l’esecutore non ` e in grado di portare a termine. I ` E necessario ricorrere a linguaggi speciali detti linguaggi formali o pi esso linguaggi di programmazione. I I linguaggi di programmazione sono formalismi, con sintassi e semantica formalmente definite. I I linguaggi di programmazione, possono essere classificati in base a varie caratteristiche (general/special purpose, linguaggi di scripting, ecc.) I Le descrizioni delle funzioni da calcolare sono frasi in un linguaggio di programmazione e sono detti programmi. E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 1

Linguaggi formali Linguaggi di programmazione · Linguaggi formali Linguaggi di programmazione In generale tutto ci o che viene espresso in linguaggio naturale e ambiguo e spesso

Embed Size (px)

Citation preview

Page 1: Linguaggi formali Linguaggi di programmazione · Linguaggi formali Linguaggi di programmazione In generale tutto ci o che viene espresso in linguaggio naturale e ambiguo e spesso

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

Page 2: Linguaggi formali Linguaggi di programmazione · Linguaggi formali Linguaggi di programmazione In generale tutto ci o che viene espresso in linguaggio naturale e ambiguo e spesso

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

Page 3: Linguaggi formali Linguaggi di programmazione · Linguaggi formali Linguaggi di programmazione In generale tutto ci o che viene espresso in linguaggio naturale e ambiguo e spesso

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

Page 4: Linguaggi formali Linguaggi di programmazione · Linguaggi formali Linguaggi di programmazione In generale tutto ci o che viene espresso in linguaggio naturale e ambiguo e spesso

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