Question

J'écris un assembleur pour un microprocesseur que je crée en utilisant lex / yacc.

Je voudrais implémenter les étiquettes dans mon code assembleur, et j’ai pensé qu’un bon moyen de le faire serait d’avoir un dictionnaire d’étiquettes sous la forme {name: line #}. Je pourrais alors vérifier lors de l'insertion d'une étiquette, si elle est déjà définie, c'est une erreur.

Alors, comment puis-je utiliser une structure de dictionnaire dans lex / yacc?

Était-ce utile?

La solution

Regardez les différentes implémentations de la table de hachage pour en trouver une qui vous convient.

Autres conseils

Pour les étiquettes? Créez une structure avec un pointeur de fichier et initialisez-la à la position de l'étiquette trouvée. Et lorsque vous rencontrez la déclaration de l'étiquette, accédez à ce pointeur et remplissez ce champ avec locctr.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top