2009-07-28 14 views
21

मैं एक पार्सर जनरेटर की तलाश में हूं जिसने एलएल (के) भाषा के लिए ईबीएनएफ दिया है, मुझे सी # पार्सर देगा और ईबीएनएफ में परिभाषित प्रकारों को कक्षाएं उत्पन्न करेगा।एक अच्छा सी # कंपाइलर-कंपाइलर/पार्सर जेनरेटर क्या है?

उत्तर

6

Gold ठीक है जहाँ तक एक पार्सर जनरेटर जाना।

+0

मैं कहूंगा कि यह बहुत अच्छा – SpaceghostAli

+3

ओपी ने एलएल (के) के लिए कहा था। गोल्ड एलएएलआर है। –

+0

अगर मैं गलत हूं तो मुझे सही करें: क्या एलएएलआर व्याकरण के एलएल व्याकरण उप-समूह नहीं हैं? –

4

आप MinosseCC पर देख सकते हैं, JavaCC का एक बंदरगाह सी # पर। एक और संभावना Spart है।

+1

मिनोससेसीसी का नाम बदलकर सीएसएचआरपीसीसी कर दिया गया। वर्तमान संस्करण Google Code space पर है और यह जावासीसी 3.2 का बंदरगाह है, जबकि विकास संस्करण (जावासीसी 5.0 का बंदरगाह) गिटहब (http://github.com/deveel/csharpcc) – Antonello

22

ANTLR (और कुछ नहीं कहने के लिए)

+16

पर विकास के अधीन है, आपको अच्छी तरह से आवश्यकता है 15 अक्षर पाने के लिए कुछ कहो। ;) +1 – kenny

+0

मुझे लगता है कि एएनटीएलआर में वास्तविक त्रुटि संदेश देने में वास्तविक समस्याएं हैं। उदाहरण के लिए लग रहा है शुभकामनाएँ। @inlude विनिर्देश कहां रखना है! दस्तावेज़ीकरण परेशान है और सामान करने के लिए पसंदीदा तरीका कभी नहीं दिखाता है। वृक्ष gramars समय बर्बाद कर रहे हैं .. एएनटीएलआर साइट पर भी एक विशाल ब्लॉग प्रविष्टि है। –

+1

हम्म, ऐसा लगता है कि http://www.antlr.org/wiki/display/ANTLR3/Antlr+3+CSharp+Target अंतिम 3 साल पहले अपडेट किया गया था और सभी कोड ब्लॉक गायब हैं - प्रतीक्षा करें, नहीं, यह वही है जो तब होता है जब जावास्क्रिप्ट अक्षम होता है। वैसे भी, सी # हमेशा एक द्वितीय श्रेणी के एएनटीएलआर लक्ष्य रहा है। जब मैंने पहली बार इसका इस्तेमाल किया, तो सी # रनटाइम स्रोत कोड उपलब्ध नहीं था: लेखक (एएनटीएलआर के लेखक के समान नहीं) ने बाइनरी को निर्दिष्ट लाइसेंस आईआईआरसी के साथ जारी किया, और पृथ्वी के चेहरे को छोड़ दिया। मैंने स्रोत कोड का पुनर्निर्माण करने के लिए परावर्तक का उपयोग किया। – Qwertie

4

http://irony.codeplex.com/

पेशेवरों में विडंबना खोजें: यह सरल कान्स है: दस्तावेज़ की -Lack -Rather धीरे

1

Coco/R (SSW से - "योहानेस केप्लर" विश्वविद्यालय लिंज़)

3

LLLPG नामक ब्लॉक पर एक नया पार्सर जनरेटर है, जो एलएल (के) व्याकरण और शून्य चौड़ाई के दावों का समर्थन करता है। इसका उपयोग रनटाइम लाइब्रेरी (बेस क्लास पर्याप्त) के बिना किया जा सकता है। प्रलेखन अब काफी विस्तृत है, और मैंने एलएलएलपीजी का उपयोग सी # नामक बोली की अधिकांश बोली को पार्स करने के लिए किया है, जो वास्तव में एलएलएलपीजी की मुख्य इनपुट भाषा है। इनपुट सिंटैक्स ईबीएनएफ नहीं है, हालांकि (यह सी # + एएनटीएलआर-स्टाइल कोड का मैशप है)।

पूर्ण प्रकटीकरण: मैंने इसे लिखा था। प्रश्न स्वागत है।

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