मैं यह समझने की कोशिश कर रहा हूं कि इस प्रारूप में स्ट्रिंग को मनमाने ढंग से गहराई की डेटा संरचना जैसे पेड़ में कैसे पार्स करना है।एक पेड़ संरचना में पार्स स्ट्रिंग?
"{{Hello big|Hi|Hey} {world|earth}|{Goodbye|farewell} {planet|rock|globe{.|!}}}"
[[["Hello big" "Hi" "Hey"]
["world" "earth"]]
[["Goodbye" "farewell"]
["planet" "rock" "globe" ["."
"!"]]]]
मैं कुछ नियमित इस के लिए अभिव्यक्ति के साथ खेल की कोशिश की है (# जैसा "{([^ {}] *)}"), लेकिन सब कुछ मैं कोशिश की है में पेड़ "समतल" लगता है सूचियों की एक बड़ी सूची। मैं गलत कोण से यह आ रहा था, या शायद एक regex सिर्फ नौकरी के लिए सही उपकरण नहीं है।
आपकी मदद के लिए धन्यवाद!
तो व्याकरण होने के बाद, इस व्याकरण के आधार पर पार्सर उत्पन्न करने के लिए एक पार्सर जनरेटर का उपयोग करना आवश्यक है, है ना? इसके अलावा, पार्सर को एक वाक्य के साथ खिलाया जाना चाहिए और फिर पेड़ पैदा किया जा सकता है, नहीं? – bikashg
@ बिकैश - हां और नहीं। * यदि आप चाहें तो एक पार्सर जनरेटर (जैसे yacc या bison) का उपयोग कर सकते हैं, या आप अपना खुद का रिकर्सिव-वंश पार्सर लिख सकते हैं (यह उल्लेखनीय सरल है)। यदि आप yacc या bison का उपयोग करते हैं, तो आपको उन कार्यों को लिखने की आवश्यकता है जो वास्तव में पेड़ का निर्माण करेंगे। मुझे नहीं लगता कि yacc/bison आपको स्वयं पेड़ देता है। वे बस व्याकरण को पहचानते हैं। –