È un compilatore una specie di programma di numerazione Gödel?
-
29-09-2020 - |
Domanda
Domanda: è un compilatore una specie di programma di numerazione Gödel?
Wikipedia ci dice che un compilatore è: "In Computing, un compilatore è un programma per computer che traduce il codice del computer scritto in un linguaggio di programmazione (la lingua di origine) in un'altra lingua (la lingua di destinazione)". https://en.wikipedia.org/wiki/compiler
Anche Wikipedia ci dice: "Una numerazione Gödel è una funzione che assegna a ciascun simbolo e formula ben formata di qualche lingua formale un numero naturale unico, chiamato il suo numero di Gödel". https://en.wikipedia.org/wiki/g%C3%B6Del_Numbering
Ma, non conosco i dettagli di come funzionano i compilatori, quindi sono venuto qui per chiedere se il mio ragionamento è corretto.
Soluzione
no.Considerare le seguenti due funzioni C:
int f(int a) {
return a * 2;
}
int g(int a) {
return a + a;
}
.
Se siamo un po 'liberali qui, entrambi sono "formula ben formata di un linguaggio formale".Eppure la maggior parte dei compilatori C con ottimizzazione attiva compila queste due funzioni nello stesso identico codice.Questo viola l'unicità di una numerazione Gödel.