क्या किसी को पता है कि व्यापक रूप से उपयोग किए जाने वाले पार्सिंग एल्गोरिदम का सबसे कमजोर परिवार क्या है जो सी कोड को पार्स कर सकता है? यही है, सी व्याकरण एलएल (1), एलआर (0), एलएएलआर (1), आदि है? मैं उत्सुक हूं क्योंकि एक साइड प्रोजेक्ट के रूप में मुझे इन परिवारों में से एक के लिए एक पार्सर जेनरेटर लिखने में दिलचस्पी है और अंततः दूसरी तरफ परियोजना के लिए सी कोड को पार्स करने में सक्षम होना चाहूंगा।सबसे सरल पार्सिंग एल्गोरिदम क्या है जो सी कोड को पार्स कर सकता है?
10
A
उत्तर
2
ऐसा लगता है कि Bison uses an LALR(1) पार्सर। एलएएलआर पार्सर्स एलएल पार्सर्स की तुलना में अधिक मजबूत हैं, लेकिन यह भी अधिक जटिल हैं। इससे मुझे संदेह है कि एलएएलआर (1) शायद सबसे कमजोर पार्सिंग एल्गोरिदम है जो सी कोड को पार्स कर सकता है।
जब तक कि आप वास्तव में अपने स्वयं के पहचानकर्ता को रोल करने पर सेट नहीं होते हैं। ANTLR शायद ऐसा करने के लिए आपकी सबसे अच्छी शर्त होगी। एएनटीएलआर एक एलएल * एल्गोरिदम का उपयोग करता है (जो प्रभावी रूप से, एलएएलआर है)।
संबंधित मुद्दे
- 1. पार्स/पार्सिंग क्या है?
- 2. कोड पार्सिंग सी #
- 3. किसी ऑब्जेक्ट में JSON स्ट्रिंग को पार्स करने के लिए सबसे सरल सी # फ़ंक्शन क्या है?
- 4. सट्टा पार्सिंग क्या है?
- 5. क्या शंटिंग यार्ड एल्गोरिदम पर्सिक्स नियमित अभिव्यक्ति पार्स कर सकता है?
- 6. क्या बाइसन यूटीएफ -8 अक्षरों को पार्स कर सकता है?
- 7. सरल xml पार्सिंग
- 8. फास्ट, सी में सरल सीएसवी पार्सिंग ++
- 9. सी ++ के लिए सबसे सरल आरटीटीआई कार्यान्वयन क्या है?
- 10. पार्स अवधियों सरल अंग्रेजी
- 11. फ़्लोटिंग प्वाइंट नंबर पार्सिंग: क्या कोई एल्गोरिदम कैच है?
- 12. पार्सिंग क्या है?
- 13. सी # में एक स्ट्रिंग पार्सिंग; क्या एक क्लीनर तरीका है?
- 14. जो अंतर्निहित .NET क्रिप्टोग्राफ़ी एल्गोरिदम सबसे सुरक्षित है?
- 15. क्या कोई जावा में लाइब्रेरी के बारे में जानता है जो ESRI आकारफाइल को पार्स कर सकता है?
- 16. पार्सिंग अगर-अगर कथन एल्गोरिदम
- 17. तारों को पार्स करने का सबसे अच्छा तरीका क्या है?
- 18. जीएलआर पार्सिंग एल्गोरिदम संसाधन
- 19. सबसे अच्छा "टर्नकी" स्टेमिंग एल्गोरिदम क्या है?
- 20. इष्टतम "सबसे सामान्य यूनिफायर" एल्गोरिदम क्या है?
- 21. क्या कोई एल्गोरिदम है जो अंग्रेजी पाठ
- 22. लेआउट एल्गोरिदम जो कंपास को समझता है
- 23. क्या सबसे आम एल्गोरिदम का अवलोकन है?
- 24. पिक्सम ग्राफिक्स के संदर्भ में क्या कर सकता है जो wxPython नहीं कर सकता है?
- 25. क्या एक्सएसएलटी पाठ की एक स्ट्रिंग पार्स कर सकता है?
- 26. सरल, लघु, तार्किक एल्गोरिदम (कौन सी दिशा जाना है?)
- 27. सबसे अच्छा, सबसे सरल AJAX फ़ाइल अपलोडर क्या है?
- 28. सरल गेम एल्गोरिदम
- 29. क्या कोई .NET क्लास है जो एलडीएपी से सीएन = तारों को पार्स कर सकती है?
- 30. सरल पार्स सवाल
अधिकांश पार्सर्स ऐसे तरीके से बनाए जाते हैं जो "बहुत अधिक" पहचानते हैं, और पार्सर के बाहर अतिरिक्त चेक द्वारा ओवरेज को खारिज कर दिया जाता है। यह मामला है, रेगेक्स "[।] *" सबसे कमजोर पार्सर है जो सी को पार्स करेगा, यद्यपि बहुत से अतिरिक्त अर्थपूर्ण चेक के साथ। एक बार यह स्पष्ट हो जाने के बाद, यह स्पष्ट होना चाहिए कि आप किसी भी पार्सर जेनरेटर प्रक्रिया सी, मॉड्यूल अतिरिक्त हैकिंग कर सकते हैं। (यह एक पार्सर लिखने के लिए पूरी तरह पागल लगता है जो इसकी शुरुआती जगह के रूप में बहुत कम स्वीकार करता है)। –
मैं अभी इस सवाल पर फिर से चला गया। स्पष्ट व्यावहारिक उत्तर है, "हाथ से कोडित शीर्ष नीचे रिकर्सिव"। मैं अपने निचले डॉलर पर शर्त लगाता हूं कि पहला सी पार्सर कैसे बनाया गया था (YACC से बहुत पहले :) इस के शीर्ष पर दिलचस्प सवाल यह है कि मूल बातें से परे कितनी हैकनी होती है? –