compilateur x86 réalisé avec python

J'ai fait mon propre compilateur avec python.

Le concept est comme ça

Introduit dans l'ordre de mise en œuvre

La première étape Implémentez quelque chose qui fonctionne pour le moment Implémente la déclaration de variable, l'affectation et quatre règles. L'analyseur syntaxique est également simple, c'est donc presque comme écrire à la main un arbre syntaxique abstrait.

Deuxième étape Backend implémenté L'analyseur reste médiocre, mais implémente des tableaux, des espaces de noms, des appels de fonction, etc. La fonction récursive de queue est également implémentée.

Troisième étape Frontend implémenté (version terminée) Définissez la grammaire en notation BNF et implémentez l'analyseur SLR.

Matériel de référence

--Munehiro Takimoto "Introduction au compilateur pratique" Un livre qui implémente un compilateur en Ocaml. Le back-end était principalement basé sur ce livre.

--Mamoru Miyamoto "Premier compilateur" Un livre qui implémente un compilateur en langage C. J'y ai fait référence lors de la mise en œuvre du frontal.

--Rui Ueyama "Codage en direct pour créer un langage de programmation simple" Vidéo au code en direct en langage C.

Recommended Posts

compilateur x86 réalisé avec python
Installez Python 2.7.9 et Python 3.4.x avec pip.
Analyse de régression logistique Self-made avec python
FizzBuzz en Python3
Grattage avec Python
Statistiques avec python
Grattage avec Python
Python avec Go
Twilio avec Python
Intégrer avec Python
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
python commence par ()
avec syntaxe (Python)
Bingo avec python
Zundokokiyoshi avec python
Rejoignez un juge en ligne avec Python 3.x
Installation de PIL avec Python 3.x sur macOS
Traitement d'image léger avec Python x OpenCV
Excel avec Python
Micro-ordinateur avec Python
[Blender x Python] Commençons avec Blender Python !!
Cast avec python
Automatisation de l'interface graphique avec le pilote d'application Python x Windows
Mettez Python 2.7.x dans pyenv sur Mac OSX 10.15.5
Installer shogun avec python modulaire (OS X Yosemite)
[Blender x Python] Pensez au code avec des symboles
Inscription auprès de PyPI à partir de la bibliothèque Python moderne faite par vous-même
Zip, décompressez avec python
Django 1.11 a démarré avec Python3.6
Jugement des nombres premiers avec Python
Python avec eclipse + PyDev.
Grattage en Python (préparation)
Essayez de gratter avec Python.
Apprendre Python avec ChemTHEATER 03
Recherche séquentielle avec Python
"Orienté objet" appris avec python
Exécutez Python avec VBA
Manipuler yaml avec python
Résolvez AtCoder 167 avec python
Communication série avec python
[Python] Utiliser JSON avec Python
Apprendre Python avec ChemTHEATER 05-1
Apprenez Python avec ChemTHEATER
Exécutez prepDE.py avec python3
1.1 Premiers pas avec Python
Collecter des tweets avec Python
Binarisation avec OpenCV / Python
3. 3. Programmation IA avec Python
Méthode Kernel avec Python
Non bloquant avec Python + uWSGI
Grattage avec Python + PhantomJS
Tri par classe Python
Publier des tweets avec python
Conduisez WebDriver avec python
Utiliser mecab avec Python 3
[Python] Redirection avec CGIHTTPServer
Analyse vocale par python
Pensez à yaml avec python
Utiliser Kinesis avec Python