x86-Compiler selbst erstellt mit Python

Ich habe meinen eigenen Compiler mit Python erstellt.

Das Konzept ist so

Eingeführt in der Reihenfolge der Implementierung

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.

Referenzmaterial

--Mamoru Miyamoto "Erster Compiler" Ein Buch, das einen Compiler in C-Sprache implementiert. Ich habe bei der Implementierung des Frontends darauf hingewiesen.

--Rui Ueyama "Live-Codierung zum Erstellen einer einfachen Programmiersprache" Video zu Live-Code in C-Sprache.

Recommended Posts

x86-Compiler selbst erstellt mit Python
Installieren Sie Python 2.7.9 und Python 3.4.x mit pip.
Logistische Regressionsanalyse Selbst erstellt mit Python
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Treten Sie einem Online-Richter mit Python 3.x bei
PIL mit Python 3.x unter macOS installieren
Leichte Bildverarbeitung mit Python x OpenCV
Excel mit Python
Mikrocomputer mit Python
[Blender x Python] Beginnen wir mit Blender Python !!
Mit Python besetzen
GUI-Automatisierung mit Python x Windows App Driver
Fügen Sie Python 2.7.x in pyenv unter Mac OSX 10.15.5 ein
Installieren Sie Shogun mit Python Modular (OS X Yosemite)
[Blender x Python] Denken Sie an Code mit Symbolen
Registrierung bei PyPI aus einer modernen Python-Bibliothek selbst erstellt
Zip, entpacken mit Python
Django 1.11 wurde mit Python3.6 gestartet
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Python lernen mit ChemTHEATER 03
Sequentielle Suche mit Python
"Objektorientiert" mit Python gelernt
Führen Sie Python mit VBA aus
Umgang mit Yaml mit Python
Löse AtCoder 167 mit Python
Serielle Kommunikation mit Python
[Python] Verwenden Sie JSON mit Python
Python lernen mit ChemTHEATER 05-1
Lerne Python mit ChemTHEATER
Führen Sie prepDE.py mit python3 aus
1.1 Erste Schritte mit Python
Tweets mit Python sammeln
Binarisierung mit OpenCV / Python
3. 3. KI-Programmierung mit Python
Kernel-Methode mit Python
Nicht blockierend mit Python + uWSGI
Scraping mit Python + PhantomJS
Python selbst erstellte Klassensortierung
Tweets mit Python posten
Fahren Sie WebDriver mit Python
Verwenden Sie Mecab mit Python 3
[Python] Mit CGIHTTPServer umleiten
Sprachanalyse mit Python
Denken Sie an Yaml mit Python
Kinesis mit Python betreiben