धक्का वहाँ जंगली भैंसों में एक शुद्ध धक्का पार्सर के लिए ढेर प्रबंधन के बजाय malloc()/मुक्त() के लिए अपने खुद के संभाजक/deallocator कार्यों निर्दिष्ट करने के लिए कोई तरीका है?ढेर से निपटने शुद्ध पार्सर
6
A
उत्तर
3
अधिकांश बाइसन की स्मृति आवंटन के मैक्रो के लिए पुनः निर्देशित किया जा सकता है - प्रस्तावना में (%{
और %}
के बीच) आप
#define YYMALLOC mymalloc
#define YYFREE myfree
लिख सकते हैं और बाइसन तो mymalloc
और myfree
बजाय malloc
और free
कॉल करेंगे। हालांकि, यह अपेक्षा करता है कि आप जो भी फ़ंक्शन प्रदान करते हैं, वह मानक malloc
और free
के समान सटीक हस्ताक्षर के लिए प्रदान करता है; इसे अतिरिक्त/अलग तर्क पारित करने का कोई तरीका नहीं है। और अगर मैं आप थे तो मैं फ़ंक्शन-जैसी मैक्रोज़ का उपयोग नहीं करता। इससे भी बदतर, मेरी प्रतिलिपि में (बाइसन 2.4.1) yypstate_new
सीधे malloc
पर कॉल करता है, बिना ओवरराइड संभव है - यह तर्कसंगत रूप से एक बग है।
संबंधित मुद्दे
- 1. अपवाद शुद्ध सी में से निपटने
- 2. शुद्ध रूप से कार्यात्मक मुलायम ढेर
- 3. चल बिन्दु ढेर फ्लोटिंग प्वाइंट अपवादों के साथ निपटने
- 4. बाइसन - पुश और शुद्ध पार्सर के लिए अतिरिक्त पैरामीटर
- 5. "[HOST_KEY_NOT_VERIFIABLE] से निपटने" sshj
- 6. आपदाजनक अपवादों से निपटने
- 7. ढेर ढेर और ढेर
- 8. विंडोज असेंबली ढेर और ढेर?
- 9. rdf से निपटने के लिए djangonic रास्ता?
- 10. एनीमिक डोमेन मॉडल से निपटने
- 11. बूस्ट हेडर फ़ाइलों से निपटने
- 12. फ़्लोटिंग प्वाइंट अपवादों से निपटने
- 13. mysql लेन-देन से निपटने
- 14. ढेर
- 15. बटन पर तेजी से टैपिंग से निपटने
- 16. सबसे तेजी से संभव एक्सएमएल से निपटने
- 17. ढेर और ढेर आवंटन
- 18. रद्द निपटने
- 19. स्टैनफोर्ड एनएलपी पार्सर
- 20. ढेर
- 21. गैर पार्सर उदाहरण `Control.Applicative.optional`
- 22. शुद्ध सी
- 23. ढेर
- 24. ढेर विखंडन से कैसे बचें?
- 25. पायथन: ढेर से तत्व हटाएं
- 26. गिट - मिश्रित एन्कोडिंग फ़ाइल नामों से निपटने
- 27. जेपीए setParameter जब से निपटने "नहीं (: param)"
- 28. Deferred ऑब्जेक्ट्स के Arrays से निपटने
- 29. d3.js गैर-svg ब्राउज़र से निपटने
- 30. Xstream डबल रेखांकन से निपटने (जावा)
हाँ मैं यह पहले से ही पता चला गया है, उत्पन्न स्रोत को देखकर। +1 और स्वीकार किया, एक अच्छा जवाब। इसमें 2.4.3 में यह बग नहीं है। – Flavius