में एक ही फ़ाइल प्रारूप को पार्सिंग और सुंदर प्रिंटिंग, मैं सोच रहा था कि यदि एक मानक फ़ाइल प्रारूप के लिए न केवल एक पार्सर लिखने के लिए हास्केल में एक मानक, कैननिकल तरीका है, बल्कि एक लेखक भी है।हास्केल
मेरे मामले में, मुझे विश्लेषण के लिए डेटा फ़ाइल को पार्स करने की आवश्यकता है। हालांकि, मैं डेटा का विश्लेषण करने के लिए अनुकरण करता हूं और इसे उसी फ़ाइल प्रारूप में सहेजता हूं। अब मैं पार्ससी या कुछ समकक्ष का उपयोग करके एक पार्सर लिख सकता हूं और जिस तरह से टेक्स्ट आउटपुट की आवश्यकता होती है, उसमें टेक्स्ट आउटपुट भी लिख सकता हूं, लेकिन जब भी मैं अपना फ़ाइल प्रारूप बदलता हूं, तो मुझे अपने कोड में दो फ़ंक्शन बदलना होगा। क्या इस लक्ष्य को हासिल करने का कोई बेहतर तरीका है?
आप BNFC-मेटा पैकेज धन्यवाद, डोमिनिक
मुझे लगता है कि करने के लिए सबसे सरल बात यह है कि आपकी फ़ाइल के सिंटैक्स का प्रतिनिधित्व करने वाले डेटा प्रकार को परिभाषित करना होगा और फिर एक अलग पार्सर और सुंदर प्रिंटर लिखें जैसा आपने सोचा था। उदाहरण के लिए अधिकांश भाषा पुस्तकालय यही करते हैं। – jozefg
यहां Reddit पर कुछ हालिया प्रासंगिक धागे हैं: [1] (https://www.reddit.com/r/haskell/comments/6aqvgj/parser_libraries_with_ast_output/), [2] (https://www.reddit.com/ आर/हैकसेल/टिप्पणियां/66o3lp/i_think_this_is_a_really_stupid_question_inverse /) आईएमओ यह तकनीक अभी भी काफी प्रयोगात्मक प्रतीत होती है। –
आप क्या करना चाहते हैं एक व्याकरण परिभाषित करना है, और कुछ लाइब्रेरी का उपयोग पार्सर और सुंदर-प्रिंटर स्वचालित रूप से उत्पन्न करने के लिए करें। ऐसे कई पुस्तकालय हैं जो ऐसा करने में सक्षम होने का दावा करते हैं लेकिन एक की सिफारिश करना शायद ओटी है (अगर मैं उनमें से किसी के साथ अनुभव करता तो) – jberryman