Ich bin ein Informatikstudent. Ich möchte meine eigene Programmiersprache erstellen (eine Basissprache mit wenigen Anweisungen).
Ich weiß, wie man einen syntaktischen Analysator macht, ich habe es bereits in Perl gemacht. In einem Artikel habe ich etwas über den Compiler gelesen, ein Compiler ist an sich gemacht.
Zum Beispiel ist der C-Compiler in C geschrieben. Wie ist das möglich? Ich kann meine eigene Sprache erstellen, weiß aber nicht, wie ich sie ausführen kann. Irgendeine Idee?
Es ist wirklich eine gute Frage und ich kann einen Blog über das Projekt schreiben.
programming-languages
compilers
BaptisteL
quelle
quelle
Antworten:
Der Trick ist Bootstrapping . Sie schreiben zuerst einen Compiler für Ihre Sprache (oder eine Teilmenge davon) in einer anderen Sprache. Dann schreiben Sie einen Compiler für Ihre Sprache (oder eine große Teilmenge derjenigen, die Sie bereits verarbeiten können) in Ihrer Sprache. Sie verwenden den früheren Compiler, um den neuen Compiler zu kompilieren, und dann kann der neue Compiler sich selbst kompilieren.
quelle
Ein Compiler, der seine eigenen Quellen kompilieren kann, wird als selbsthostender Compiler bezeichnet. Frühe Compiler wurden in einer anderen Sprache geschrieben. Zum Beispiel wurde der erste C-Compiler wahrscheinlich in Assembler geschrieben. Der ganze Trick bei der Verwendung eines früheren Compilers niedrigerer Ebene heißt Bootstrapping.
quelle