Comment écrire Un Interprète

Table des matières:

Comment écrire Un Interprète
Comment écrire Un Interprète

Vidéo: Comment écrire Un Interprète

Vidéo: Comment écrire Un Interprète
Vidéo: Comment devenir un interprète en langue française 2024, Juillet
Anonim

Pour créer un interpréteur, vous devez écrire un analyseur de code source, une boucle d'exécution de bytecode et une énorme quantité de code de bibliothèque standard. Ce n'est pas toujours amusant et facile si vous n'utilisez pas les outils que le compilateur et l'analyseur vont générer pour vous. Avec eux, ce sera aussi simple que de décortiquer des poires d'écrire un interprète linguistique pour une personne bien informée. Regardons un exemple d'écriture d'un interpréteur avec JIT dans PyPy.

Comment écrire un interprète
Comment écrire un interprète

Instructions

Étape 1

Choisissez une langue pour l'écriture. Dans ce cas, c'est du brainfuck. Il est très simple et consiste en une bande d'entiers, qui sont initialisés à zéro, et 1 pointeur vers la cellule actuelle de la bande. Il n'y a que huit commandes dans la langue: ">" - déplacez le pointeur vers la cellule suivante,"

Étape 2

Écrivez un interpréteur en Python simple. Le compteur d'instructions stockera des pointeurs vers l'instruction en cours. La première expression récupère l'instruction, après quoi plusieurs instructions déterminent comment l'exécuter. Omettez l'implémentation des opérateurs "[" et "]", car ils doivent changer le compteur de commandes à la position de la même parenthèse.

Étape 3

Implémentez une classe Tape qui stocke un pointeur vers le nombre actuel et une bande d'entiers. La bande grandira au besoin. Analysez le code source à l'avance afin que plusieurs commentaires ne soient pas lus un octet à la fois. Créez également un dictionnaire de parenthèses afin de pouvoir y trouver des parenthèses correspondantes si nécessaire.

Étape 4

Exécutez def parse (programme). Cette fonction renvoie des chaînes uniquement à partir de commandes et du dictionnaire de parenthèses.

Étape 5

Rassemblez le tout et vous avez un interprète de brainfuck qui fonctionne. Démarrez l'interpréteur Python et assurez-vous qu'il fonctionne. Il ne s'agit que d'une seule instance d'écriture d'un interpréteur utilisant le langage le plus simple. Si vous le souhaitez, vous pouvez écrire dans presque toutes les langues, après vous être familiarisé avec ses propriétés et son objectif.

Conseillé: