क्लासिकल dragon book बहुत अच्छी तरह से बताता है कि एलआर पार्सर्स कैसे काम करते हैं। Parsing Techniques. A Practical Guide. भी है जहां आप उनके बारे में पढ़ सकते हैं, अगर मुझे अच्छी तरह याद है। विकिपीडिया में लेख (कम से कम परिचय) सही नहीं है। वे डोनाल्ड Knuth द्वारा बनाए गए थे, और वह उन्हें अपने आर्ट ऑफ कंप्यूटर प्रोग्रामिंग वॉल्यूम 5 में बताते हैं। यदि आप स्पेनिश समझते हैं, तो मेरे द्वारा पोस्ट की गई here पुस्तकों की पूरी सूची है। वह किताबें स्पेनिश में नहीं हैं, या तो।
यह समझने से पहले कि वे कैसे काम करते हैं, आपको कुछ अवधारणाओं को समझना चाहिए जैसे कि पहले, अनुसरण करें और देखो। इसके अलावा, मैं वास्तव में आपको एलआर (वंश) पार्सर्स को समझने की कोशिश करने से पहले एलएल (वंश) पार्सर्स के पीछे अवधारणाओं को समझने की सलाह देता हूं।
पार्स एलआर, विशेष रूप से एलआर (के), एसएलआर (के) और एलएएलआर (के) के परिवार हैं, जहां के काम करने के लिए उन्हें कितने दिखने की जरूरत है। Yacc एलएएलआर (1) पार्सर्स का समर्थन करता है, लेकिन आप इसे अधिक शक्तिशाली प्रकार के व्याकरण के साथ काम करने के लिए, सिद्धांत आधारित नहीं, tweaks बना सकते हैं।
प्रदर्शन के बारे में, यह व्याकरण का विश्लेषण किया जा रहा है पर निर्भर करता है। वे रैखिक समय में निष्पादित होते हैं, लेकिन उन्हें कितनी जगह चाहिए, इस पर निर्भर करता है कि आप अंतिम पार्सर के लिए कितने राज्य बनाते हैं।
+1 मैं एक ही बात सोच रहा की है। रिकर्सिव वंश पार्सर्स को समझना इतना आसान है, लेकिन सही होने के लिए बहुत मुश्किल है। एलआर पार्सर्स जेनरेटर (जैसे वाईएसीसी) के साथ लिखना आसान है, लेकिन मैंने कभी नहीं समझा है कि यह "हुड के नीचे" कैसे काम करता है। – Zifre
हैप्पी "अच्छा सवाल" बैज :) –