Parsec combinators मैं उपयोग से कई तरह के रूप में एक प्रकार के होते हैं:Parsec इकाई अंतर्निहित
foo :: CharParser st Foo
CharParser
परिभाषित किया गया है here के रूप में:
type CharParser st = GenParser Char st
CharParser
इस प्रकार GenParser
से जुड़े एक प्रकार पर्याय है, जो अपने आप परिभाषित here के रूप में:
type GenParser tok st = Parsec [tok] st
GenParser
तो एक और प्रकार पर्याय, Parsec
का उपयोग कर सौंपा, के रूप में परिभाषित किया गया है here:
type Parsec s u = ParsecT s u Identity
तो Parsec
के एक आंशिक आवेदन है, जो अपने आप सूचीबद्ध here प्रकार के साथ:
data ParsecT s u m a
शब्दों के साथ :
"पारसीटी सुमा सेंट के साथ एक पार्सर है रीम प्रकार एस, यूजर स्टेट टाइप यू, अंतर्निहित मोनाड एम और रिटर्न टाइप ए। "
अंतर्निहित मोनाड क्या है? विशेष रूप से, जब मैं CharParser
पार्सर्स का उपयोग करता हूं तो यह क्या होता है? मैं नहीं देख सकता कि यह ढेर में कहां डाला गया है। क्या Monadic Parsing in Haskell में सूची मोनैड के उपयोग के साथ एक संदिग्ध पार्सर से कई सफल पार्स लौटने के लिए कोई संबंध है?
धन्यवाद, मैंने अपना प्रश्न उस चरण को शामिल करने के लिए संपादित किया। तो यह मोनाड ट्रांसफार्मर का आधार है। मेरा मानना है कि हटन/मीजर पेपर में वर्णित संदिग्ध पार्सिंग से कोई संबंध नहीं है। तो क्या सूची मोनैड का उपयोग Parsec पार्सर के भीतर कहीं भी दिखाई देता है? पारसी केवल गैर अस्पष्ट है? यदि हां, तो क्या यह 'हो सकता है' या 'या तो' का उपयोग करके एन्कोड किया गया है? – user2023370
अंतर्निहित मोनड का प्रयोग पार्ससी द्वारा स्वयं नहीं किया जाता है, इसलिए यह अस्पष्टता को प्रभावित नहीं करता है। – augustss
मुझे लगता है कि मैं जो पूछने की कोशिश कर रहा था वह हटन/मीजर पेपर में सूची मोनाड के बीच संबंध था; और [उपभोग] (http://hackage.haskell.org/packages/archive/parsec/latest/doc/html/Text-Parsec-Prim.html#t: समेकित) और [उत्तर] (http: // हैकेज .haskell.org/पैकेज/संग्रह/parsec/नवीनतम/डॉक्टर/एचटीएमएल/पाठ-पारसी-Prim.html # टी: उत्तर) Parsec में इस्तेमाल प्रकार। – user2023370