Frage

frage: ist ein Compiler eine Art Gödel-Nummerierungsprogramm?

Wikipedia sagt uns, dass ein Compiler ein Compiler lautet: "In Compiler ist ein Compiler ein Computerprogramm, das den Computercode übersetzt, der in einer Programmiersprache (der Quellsprache) in eine andere Sprache (die Zielsprache) geschrieben ist. https://en.wikipedia.org/wiki/compiler

auch Wikipedia sagt uns: "Eine Gödel-Nummerierung ist eine Funktion, die jedem Symbol und der gut geformten Formel einiger formaler Sprache eine einzigartige natürliche Zahl, die als Gödel-Nummer bezeichnet wird, zuweist. https://en.wikipedia.org/wiki/g%c3%b6del_numbering

Arbeit erledigt : Meine Intuition sagt ja. Hier ist meine Gedankenlinie: Eine Programmiersprache ist eine formale Sprache. Jedes Programm ist eine gut ausgebildete Formel, und ein Compiler weist jedem Symbol dieser Formel zu einer binären Darstellung einer Zahl zu, die der Computer lesen kann. (Detail: Ein Computer ist eine Universal-Turing-Maschine, sodass er Arithmetik erfolgen kann)

aber ich kenne jedoch nicht die Details, wie Compiler funktionieren, also kam ich hierher, um zu fragen, ob meine Argumentation richtig ist.

War es hilfreich?

Lösung

nein.Betrachten Sie die folgenden zwei C-Funktionen:

generasacodicetagpre.

Wenn wir hier ein bisschen liberal sind, sind beide "gut ausgebildete Formel einiger formaler Sprache".Die meisten C-Compiler mit Optimierung, die eingeschaltet sind, kompilieren diese beiden Funktionen dem gleichen Code.Dies verstößt gegen die Einzigartigkeit einer Gödel-Nummerierung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top