Utilisation de la structure de données du dictionnaire dans lex / yacc
-
22-07-2019 - |
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?
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.