2009-12-05 11 views

उत्तर

3

मैंने पाया एक परियोजना के लिए एक संदर्भ LuaParse कहा जाता है:

LuaParse Blex, एक सामान्य प्रयोजन शुद्ध लुआ lexer, और lparse, एक शुद्ध-लुआ लुआ पार्सर, साथ ही उपयोगिता कार्यों की एक किस्म भी शामिल है और एक प्रोटोटाइप पैकेज प्रबंधन प्रणाली।

शायद यह आपकी आवश्यकताओं को पूरा करेगा।

1

gg, mlp और cloptsMetalua से मॉड्यूल भी देखें।

वे 'काफी नहीं' लुआ (धातुु एक अलग भाषा है) हैं, लेकिन कुछ उपयोगी अंतर्दृष्टि प्रदान कर सकते हैं। इसके अलावा मेटलुआ कोड सादा लुआ बाइटकोड में संकलित करता है, इसलिए यह पुन: प्रयोज्य है।

3

यदि लक्ष्य शैल जैसी भाषा का विश्लेषण करना है (जो कि शेलेक्स के वास्तविक डिजाइन लक्ष्य के रूप में प्रतीत होता है) तो LPeg में lhf suggests में व्याकरण लिखना शायद सही उत्तर है। हालांकि, यह व्याकरण लिखना इतना आसान नहीं है जो स्तरित उद्धरण नियमों के ढक्कन को पूरी तरह कार्यान्वित करता है जो वास्तव में गोले का पालन करते हैं। जब तक आप सभी वैध /bin/sh (या बदतर, csh) स्क्रिप्ट को सही ढंग से पार्स करने की अपेक्षा नहीं कर रहे हैं, तो यह उपयोगी व्याकरण लिखने के लिए सीधा होना चाहिए।

यदि लक्ष्य वास्तव में कॉन्फ़िगरेशन फ़ाइलों या एप्लिकेशन स्क्रिप्टिंग के लिए एक समझदार "छोटी भाषा" बनाना है, तो मैं सुझाव दूंगा कि लूआ स्वयं ही उस भाषा होने के बहुत करीब है। इसे मूल रूप से डेटा विवरण के साथ दिमाग में डिजाइन किया गया था, और इसका पार्सर भी काफी बड़ी डेटा घोषणाओं को संभालने में काफी सक्षम है। इस तरह लुआ का उपयोग करने के उदाहरण के लिए section 10.1 of PiL देखें। बाद में chapter 25 कॉन्फ़िगरेशन के विशिष्ट उपयोग मामले के लिए बड़े अनुप्रयोग के साथ लुआ के एकीकरण का वर्णन करता है, और कई दृष्टिकोण प्रदर्शित करता है।

+0

मैंने मूल रूप से यह पूछा क्योंकि मैंने सोचा था कि श्लेक्स कमांडलाइन पार्सिंग टूल था :) – RCIX