Ich habe meinen eigenen Compiler mit Python erstellt.
die erste Stufe Implementieren Sie etwas, das vorerst funktioniert Implementiert Variablendeklaration, Zuweisung und vier Regeln. Der Parser ist ebenfalls einfach und ähnelt fast der Handschrift eines abstrakten Syntaxbaums.
Zweite Etage Implementiertes Backend Der Parser bleibt schlecht, implementiert jedoch Arrays, Namespaces, Funktionsaufrufe usw. Die Schwanzrekursionsfunktion ist ebenfalls implementiert.
Dritter Abschnitt Implementiertes Frontend (abgeschlossene Version) Definieren Sie die Grammatik in BNF-Notation und implementieren Sie den SLR-Parser.
--Mamoru Miyamoto "Erster Compiler" Ein Buch, das einen Compiler in C-Sprache implementiert. Ich habe bei der Implementierung des Frontends darauf hingewiesen.
Peter Norvig 「(How to Write a (Lisp) Interpreter (in Python))」 Ein Artikel, der den Lisp-Interpreter in Python implementiert.
Abdulaziz Ghuloum 「Compilers: Backend to Frontend」 Ein Dokument, das den Schema-Compiler in Schema implementiert.
--Rui Ueyama "Live-Codierung zum Erstellen einer einfachen Programmiersprache" Video zu Live-Code in C-Sprache.
Recommended Posts