क्या किसी को ऐसे उपकरण के साथ कोई अनुभव है जो बीएनएफ व्याकरण से परीक्षण तार उत्पन्न करता है जिसे तब यूनिट परीक्षण में खिलाया जा सकता है?बीएनएफ व्याकरण परीक्षण केस पीढ़ी
उत्तर
मेरे पास टूल प्रश्न का उत्तर नहीं है, लेकिन मैं कहूंगा कि किसी भी पाठ प्रसंस्करण भाषा (पर्ल/पायथन/आदि) में यादृच्छिक रूप से बीएनएफ व्याकरण से वाक्यों को उत्पन्न करने के लिए यह काफी आसान है, और थोड़ा और वर्बोज़ एक बड़ी भाषा (जावा/सी/आदि), लेकिन इसे खुद को रोल करना मुश्किल नहीं होना चाहिए।
इसके साथ समस्या यह है कि यह केवल व्याकरण में तार उत्पन्न कर सकता है, और जब तक आपका व्याकरण बहुत आसान न हो, परीक्षण स्थान असीम रूप से बड़ा होता है।
मैंने बिल्कुल वैज़ेन टिप्पणी की है (एक स्क्रिप्टिंग भाषा में एम्बेडेड डीएसएल का उपयोग करके)। यह एक हल्का दिलचस्प अभ्यास था, लेकिन उदाहरण के सबसे बुनियादी परीक्षणों को छोड़कर पार्सिंग, यह बहुत उपयोगी नहीं था। मेरे सबसे दिलचस्प परीक्षणों में से अधिकांश को अधिक परिष्कृत संबंधों के साथ करना है, जो कि बीएनएफ (या किसी अन्य संदर्भ मुक्त व्याकरण) में आसानी से व्यक्त कर सकते हैं।
यदि, कहें, तो आप एक कंपाइलर विकसित कर रहे हैं, तो आपके पास एक सार वाक्यविन्यास पेड़ डेटाटाइप हो सकता है। यदि ऐसा है, तो आप एक यादृच्छिक एएसटी उत्पन्न करने के लिए एक फ़ंक्शन लिख सकते हैं - इसके साथ, आप इसे एक स्ट्रिंग पर प्रिंट कर सकते हैं और अपने यूनिट परीक्षण में फ़ीड कर सकते हैं। यह इस तरह एक वैध कार्यक्रम होने की गारंटी है, क्योंकि ने आपके एएसटी के साथ शुरू किया था।
यदि मैं हास्केल या एमएल में एक कंपाइलर लिख रहा था, तो मैं QuickCheck का उपयोग करके ऐसा करता हूं।
- 1. बीएनएफ का बीएनएफ क्या है? यानी हम बीएनएफ मेटा-व्याकरण को कैसे परिभाषित करते हैं?
- 2. सी ++ बीएनएफ व्याकरण पार्सिंग/मिलान करने वाले उदाहरणों के साथ
- 3. परीक्षण एएनटीएलआर व्याकरण
- 4. रूबी व्याकरण
- 5. इकाई परीक्षण digial ऑडियो पीढ़ी
- 6. व्याकरण सिंटेक्स और भाषाविज्ञान
- 7. संदर्भ-मुक्त व्याकरण बनाम संदर्भ-व्याकरण व्याकरण?
- 8. बूस्ट :: व्याकरण से व्याकरण रचनात्मक व्याकरण
- 9. क्या कोई औपचारिक (आदर्श बीएनएफ) टाइपस्क्रिप्ट जेएस भाषा व्याकरण (या केवल टाइपस्क्रिप्ट सबसेट) है?
- 10. क्या एलएलवीएम आईआर का वर्णन करने के लिए बीएनएफ की तरह व्याकरण है?
- 11. बीएनएफ व्याकरण से स्कैला कोड उत्पन्न करने के लिए लेक्सर/पार्सर
- 12. बीएनएफ व्याकरण संदिग्ध है या नहीं, यह कहने का सबसे आसान तरीका क्या है?
- 13. PEG.js व्याकरण
- 14. अच्छा परीक्षण केस टेम्पलेट्स/उदाहरण कहां खोजें?
- 15. बूस्ट टेस्ट: पैरामीटरयुक्त परीक्षण केस कैसे लिखें
- 16. PHPUnit परीक्षण केस symfony2 निर्भरता इंजेक्शन कंटेनर
- 17. पीढ़ी
- 18. क्या Emacs के लिए कोई बीएनएफ मोड है?
- 19. एंटीलर व्याकरण
- 20. पाइपर्सिंग व्याकरण
- 21. मेरे व्याकरण
- 22. सी फ़ंक्शन कॉल और पैरामीटर ट्रेसिंग - टेस्ट केस और नकली पीढ़ी
- 23. संदर्भ मुक्त व्याकरण से एन कथन उत्पन्न करना
- 24. वीबीए के सिंटेक्स (शायद बीएनएफ) का नमूना?
- 25. ईबीएनएफ को बीएनएफ में परिवर्तित करना
- 26. बीएनएफ में निषेध का प्रतिनिधित्व कैसे करें?
- 27. क्या एएनटीएलआर और बीएनएफ के अन्य रूपों के बीच कनवर्ट करने के लिए उपकरण हैं?
- 28. टाइप पीढ़ी
- 29. बचें पीढ़ी
- 30. माइन्सवीपर पीढ़ी