लेक्सिंग शेल कमांड भाषा लेक्सिंग और पार्सिंग के बीच तंग युग्मन के कारण मोटे तौर पर पार्स करना आसान नहीं है।शैल कमांड भाषा को पार्स करने के लिए उपयुक्त अभिव्यक्ति व्याकरण पार्सिंग कर रहे हैं?
हालांकि, पार्सिंग अभिव्यक्ति व्याकरण (पीईजी) अक्सर स्कैनरलेस होते हैं। लेक्सिंग और पार्सिंग के संयोजन से, ऐसा लगता है कि मैं इन समस्याओं से बच सकता हूं। जिस भाषा का मैं उपयोग कर रहा हूं (जंग) में अच्छी तरह से बनाए रखा पीईजी पुस्तकालय है। हालांकि, मैं तीन कठिनाइयों है कि यह अव्यावहारिक इस लाइब्रेरी का उपयोग करने के लिए कर सकता है के बारे में पता:
- शेल लाइन द्वारा लाइन विभाजित करने, पंक्ति के अंत अतीत पात्रों पढ़ नहीं सक्षम होना चाहिए।
- उपनाम विशुद्ध शाब्दिक रहे हैं, और एक टोकन कुछ स्थितियों
- शैल आरक्षित शब्दों को कुछ विशिष्ट स्थितियों
में पहचाने जाते हैं में अन्य टोकन के किसी भी क्रम से प्रतिस्थापित किया जा करने के लिए पैदा कर सकता है एक पेग पार्स करने के लिए अनुकूल है शैल कमांड भाषा इन आवश्यकताओं को दी गई है, या एक हाथ से लिखित रिकर्सिव-वंश पार्सर अधिक उपयुक्त है?
एफडब्ल्यूआईडब्ल्यू, बैश एक बेहद जटिल हस्तलिखित लेजर का उपयोग करता है, जो बेहद जटिल हस्तलिखित लेजर के साथ संयुक्त होता है। मुझे नहीं पता कि पीईजी कितनी अच्छी तरह काम करेगी, लेकिन यदि आप इसे आज़माते हैं, तो हमें बताएं। – rici
तीन कारण: यह जीपीएल है जबकि मेरा खोल एमआईटी/अपाचे 2 के तहत है, यह सी में है जबकि मेरा खोल जंग में है, और मैं इससे कुछ नहीं सीखूंगा। – Demi
हां। पीईजी पार्सर्स स्कैनिंग करते हैं। व्याकरण भाषा नियमित अभिव्यक्तियों की तुलना में अधिक शक्तिशाली है, और कॉम्पैक्ट और सुविधाजनक के रूप में। मैंने ग्रैको (पीईजी) में कई एएनटीएलआर व्याकरण का अनुवाद किया है, और लेक्सिकल भाग का आसानी से अनुवाद किया गया है। हालांकि, पीईजी एक राज्य-मशीन आधारित लेक्सर से कम कुशल होगा। – Apalala