-
Créer un interpréteur
Bonjour,
Voulant en apprendre plus les langages de programmation et ayant pour ambition de créer un petit langage éducatif, voici le code actuel : https://github.com/sirbroadwell/xerclelanguage :D ; Cependant, je me rend compte que la structure que j'ai choisis devient assez complexe à tenir et il devient dur d'offrir de nouvelles features
Ainsi, j'aimerai obtenir votre aide sur l'architecture que je pourrais choisir et les algorithmes du domaine ^^ Un petit cours ne serait pas non plus de refus :mrgreen:
Merci du temps que vous prendrez à répondre à ma demande, Bonne journée.
-
:salut:
Qu'est-ce qui te pose problème dans ton code ? Je prends des trucs au hasard et je commente un peu.
https://github.com/SirBroadwell/Xerc...Interpreter.cs : tu pourrais plutôt représenter ton programme comme un arbre (un AST, plus précisément), avec un nœud Print, qui aurait comme enfants les expressions à afficher (une expression étant elle-même un nœud dans cet arbre). Chaque nœud pourrait avoir sa propre méthode Execute(), ce qui simplifierait pas mal ton code ici.
https://github.com/SirBroadwell/Xerc...src/Program.cs : pourquoi pas plutôt utiliser des outils prévus pour la création de compilateurs ? J'ai pas mal apprécié ANTLR, qui semble aussi accessible en C# (https://www.antlr.org/index.html).
-
Hello :p
J’ai eu une petite discussion autour du sujet avec un ami et je vais refaire mon interpréteur plus tard une fois que j’aurai vraiment compris les notions autour du sujet
Auriez-vous des livres (de préférence en français, qui traite sur les interpréteurs, compilateur, JIT, Garbage collector, machine virtuelle) ?
Pour l’instant j’ai : Compilateurs - Principes, Techniques Et Outils mais il n’est plus édité :(