2010-02-14 12 views
8

मैं एफ # सीख रहा हूं क्योंकि मैं एक लेक्सर और पार्सर लिखना चाहता हूं। मेरे पास इस प्रकार की प्रसंस्करण के साथ थोड़ा सा अनुभव है लेकिन वास्तव में इसे ठीक से सीखने की आवश्यकता है और साथ ही साथ F #।लेक्स/yacc और fslex/fsyacc के बीच क्या अंतर है?

एफ # की लेक्सिंग/पार्सिंग कार्यक्षमता सीखते समय, लेक्स और yacc पर्याप्त अध्ययन कर रहा है?

या क्या कुछ अंतर हैं जिसका मतलब है कि लेक्स/yacc के लिए कोड fslex और fsyacc के साथ काम नहीं करेगा?

उत्तर

9

मुझे व्यक्तिगत रूप से इन OcamlLex और OcamlYacc ट्यूटोरियल शुरू करने के लिए उत्कृष्ट संसाधनों का पालन करना आसान है - अनुसरण करने में आसान है, और आप FsLex/FsYacc लगभग verbatim के लिए उन ट्यूटोरियल में सबसे अधिक सब कुछ अनुवाद कर सकते हैं।

+3

ध्यान दें कि 'as'' fslex' में काम नहीं करता है, जो एक क्रूर सीमा है। –

5

ठीक है, लेक्स और yacc के साथ, आप 'क्रिया' में सी/सी ++ कोड डालते हैं, जबकि fslex और fsyacc के साथ आप वहां एफ # कोड डालते हैं, लेकिन मुझे लगता है कि आप इसे जानते हैं?

मैं वे अन्यथा एक ही (स्थापित/प्राचीन) tokenizing और पार्स प्रौद्योगिकियों के आधार पर कर रहे हैं लगता है, इसलिए सामान्य संरचना/व्याकरण के व्यवहार के समान होना चाहिए, अगर है कि क्या आप के बाद कर रहे हैं है ...

+0

मैं अभी भी एफ # और लेक्स/वाईसीसी दोनों सीख रहा हूं। कार्यात्मक प्रोग्रामिंग की प्रकृति को डीबग करना कठिन लगता है, इसलिए मैं अजीब व्यवहार में भागना नहीं चाहता क्योंकि मैं गलत वाक्यविन्यास का उपयोग कर रहा हूं! :-) –

संबंधित मुद्दे