हास्केल पार्सर को हास्केल (और खुद को यातना देने) के अभ्यास के रूप में, मैं कॉन्फ़िगर करने योग्य हास्केल कोड ब्यूटीफायर लिखने पर विचार कर रहा हूं।एएसटी
यह एक विन्यास फाइल JSON या YAML में लिखा (या कुछ बेहतर है?) है कि आयात छँटाई छँटाई/data
और class
बयान, वर्गों के बीच लाइनों की संख्या, आदि
मैं कर रहा हूँ समूहीकरण जैसे विकल्पों को निर्दिष्ट करता है का समर्थन करेंगे हास्केल 98 के लिए एक पार्सर की तलाश है जो एक अमूर्त वाक्यविन्यास पेड़ (एएसटी) उत्पन्न करता है और टिप्पणियां बरकरार रखता है। अपने भाषा विस्तार के साथ जीएचसी पार्सिंग, एक बोनस होगा।
ऐसी चीज की अनुपस्थिति में, मुझे लगता है कि मैं एक रिकर्सिव-मूल पार्सर या एक पारसी या पार्सर जनरेटर का उपयोग कर लिख सकता हूं। शायद मेरी खुद की रोलिंग सीखने में वृद्धि होगी (और यातना :-))।
क्या कोई पूर्ण हास्केल-> एएसटी पार्सर ओपन सोर्स लाइसेंस में से एक के तहत उपलब्ध है? अगर मैं इस परियोजना पर कोई प्रगति करता हूं, तो मैं इसे गिटूब पर रखूंगा।
मेरे पालतू शिखर में से एक बदसूरत कोड है। मेरा अधिकांश काम जावा में है और यह मुझे आश्चर्यचकित करता है कि लोग बिना किसी ब्रेस संरेखण, ऑपरेटरों के आस-पास असंगत अंतर आदि के कोड में कैसे जांच सकते हैं। क्या वे अपना कोड नहीं पढ़ते हैं? क्या यह उन्हें परेशान नहीं करता है? शायद यह मेरी ओसीडी है। वैसे भी, मैं मानता हूं कि आउट-ऑफ-बॉक्स हास्केल परिमाण निकर दिखने का एक आदेश है। लेकिन मैं अभी भी एक beautifier लिखना चाहता हूँ :-)। – Ralph
हां। मैं वास्तव में मजाक कर रहा था, क्योंकि मुझे ऐसी चीजें पसंद हैं जो आप सुझा रहे हैं। कॉन्फ़िगरेशन फ़ाइल की भाषा के लिए खुद को हैकेल का उपयोग क्यों न करें? मुझे यकीन है कि मैंने धीरे-धीरे कॉन्फ़िगरेशन के लिए अपनी डोमेन विशिष्ट भाषा विकसित करने वाले किसी के बारे में पढ़ा है जब तक कि उन्हें एहसास नहीं हुआ कि वे केवल हैकेल चाहते थे, लेकिन [यह] (http://www.jmreardon.com/posts/2011-07-17-typesafe-config -in-haskell.html) सबसे नज़दीकी मुझे मिल सकता है। या आप [ConfigFile] (http://hackage.haskell.org/package/ConfigFile) पैकेज का उपयोग कर सकते हैं। – AndrewC