J'ai fait mon propre compilateur avec python.
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.
--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.
Peter Norvig 「(How to Write a (Lisp) Interpreter (in Python))」 Un article qui implémente l'interpréteur Lisp en Python.
Abdulaziz Ghuloum 「Compilers: Backend to Frontend」 Un document qui implémente le compilateur Scheme dans Scheme.
--Rui Ueyama "Codage en direct pour créer un langage de programmation simple" Vidéo au code en direct en langage C.
Recommended Posts