एलआर (0) पार्सर में, प्रत्येक राज्य में एलआर (0) आइटम का संग्रह होता है, जो एक स्थिति के साथ एनोटेट किए जाते हैं। एलआर (1) पार्सर में, प्रत्येक राज्य में एलआर (1) आइटम का एक संग्रह होता है, जो एक स्थिति और एक लुकहेड चरित्र के साथ एनोटेट किया जाता है।
यह ज्ञात है कि एक LR (1) ऑटोमेटन में एक राज्य दिया गया है, प्रत्येक LR (1) आइटम से लुकहेड टोकन को गिराकर बनाई गई कॉन्फ़िगरेशन सेट LR (0) ऑटोमेटन में कुछ राज्य के अनुरूप विन्यास सेट देता है। उस अर्थ में, एक LR (1) ऑटोमेटन और एक LR (0) ऑटोमेटन के बीच मुख्य अंतर यह है कि LR (1) ऑटोमेटन में LR (0) ऑटोमेटन में राज्यों की अधिक प्रतियां हैं, जिनमें से प्रत्येक को लुकआउट के साथ एनोटेट किया गया है जानकारी। इस कारण से, दिए गए CFG के लिए LR (1) ऑटोमेटा आम तौर पर उस CFG के लिए संगत LR (0) पार्सर से बड़ा होता है।
मेरा सवाल यह है कि एलआर (1) ऑटोमेटन कितना बड़ा हो सकता है। देखते हैं, तो व्याकरण की वर्णमाला में अलग टर्मिनल प्रतीकों, तो सिद्धांत रूप में हम एलआर (0) automaton कम से कम एक बार उन लोगों में से सबसेट प्रति में प्रत्येक राज्य को दोहराने के लिए आवश्यकता हो सकती है n एक एलआर के लिए अग्रणी अलग टर्मिनल प्रतीक, संभवतः (1 ) ऑटोमेटन जो मूल LR (0) ऑटोमेटन से 2 n गुना बड़ा है। यह देखते हुए कि एलआर (0) ऑटोमेटन में प्रत्येक अलग-अलग आइटम में अलग-अलग एलआर (0) आइटम का एक सेट होता है, हमें एक समान स्कूप भी मिल सकता है।
उस ने कहा, मैं व्याकरण के परिवार के निर्माण का एक तरीका नहीं खोज सकता, जिसके लिए LR (1) ऑटोमेटन संबंधित LR (0) ऑटोमेटन से काफी बड़ा हो। मैंने जो कुछ भी आजमाया है, उसने आकार में मामूली वृद्धि की है (आमतौर पर लगभग 2-4x), लेकिन मुझे ऐसा पैटर्न नहीं मिल रहा है जो बड़े ब्लूपअप की ओर ले जाए।
क्या संदर्भ-मुक्त व्याकरण के ज्ञात परिवार हैं जिनका एलआर (1) ऑटोमेटा संबंधित एलआर (0) ऑटोमेटा की तुलना में काफी बड़ा है? या यह ज्ञात है कि सबसे खराब स्थिति में, आप वास्तव में एक घातीय प्रहार नहीं कर सकते हैं?
धन्यवाद!