Y at-il un moyen de spécifier mes propres fonctions allocator/deallocator pour la gestion de tas au lieu de malloc()/free() pour un pur parser push dans bison?tas de manipulation dans un bison pousser pur parser
6
A
Répondre
3
La plupart des allocations de mémoire de Bison peuvent être redirigés avec des macros - dans le prologue (entre %{
et %}
) vous pouvez écrire
#define YYMALLOC mymalloc
#define YYFREE myfree
et Bison ensuite appeler mymalloc
et myfree
au lieu de malloc
et free
. Cependant, il s'attend à ce que toutes les fonctions que vous fournissez aient exactement la même signature de type que la norme malloc
et free
; il n'y a aucun moyen de faire passer des arguments supplémentaires/différents. Et je n'utiliserais pas de macros fonctionnelles si j'étais toi. Pire, dans ma copie (Bison 2.4.1) yypstate_new
appels malloc
directement, sans possibilité de dérogation - c'est sans doute un bug.
Questions connexes
- 1. Parser SQL Bison + Flex
- 2. Bison - paramètre supplémentaire à un parseur pur et pur
- 3. bison/flex parser en eclipse
- 4. Comment obtenir le 'jeton attendu' dans bison/yacc GLR-parser?
- 5. LLVM JIT Parser d'écriture avec Bison/Antlr/Packrat/Elkhound/
- 6. Bison/Flex parser obtenir des chaînes comme des valeurs symboliques
- 7. Comment retourner plus d'un jeton sur Bison parser?
- 8. comment créer un moteur de recherche pur navigateur/javascript pour un tas de fichiers statiques?
- 9. C++ quel est l'avantage de lex et bison pour un tokenizer/parser selfmade
- 10. Bison Stack valeur emantique
- 11. J'ai un tas de questions GDI/GDI +
- 12. Construire un système de réseau P2P pur?
- 13. Actions dans Bison
- 14. Interfaçage d'un analyseur Yacc/Bison avec un programme C++
- 15. poids Maximal dans un tas
- 16. Comment mettre un tableau sur le tas POE et pousser ou pop les données?
- 17. parser parser parseur égal dans Android?
- 18. Renommez un tas de fichiers dans debian
- 19. "e" dans un tas de chiffres
- 20. faute de segmentation flex/bison avant main()
- 21. Grammaire ANTLR de bison
- 22. Récurrence mutuelle dans le bison
- 23. Fonctionnalité Flex/Bison dans PHP
- 24. Instruction JMP dans Flex/bison
- 25. Éliminer l'ambiguïté dans le bison
- 26. VB6 Parser/Lexer/Scripter
- 27. Analyse de classes multi-passes Flex/Bison
- 28. Conversation automatique de type dans Bison/Java
- 29. Pousser un vecteur dans un vecteur
- 30. jquery url builder/parser
Oui, je l'ai déjà découvert, en regardant la source générée. +1 et accepté, une bonne réponse. Il n'a pas ce bug dans 2.4.3. – Flavius