आईईएलआर (1) पार्सिंग एल्गोरिथम
IELR (1) पार्स कलन विधि योएल ई डेनी द्वारा 2008 में विकसित किया गया था अपनी पीएचडी के भाग के रूप क्लेम्सन विश्वविद्यालय में ब्रायन ए। मलॉय की देखरेख में शोध। आईईएलआर (1) एल्गोरिथ्म 1977 में डेविड पेजर द्वारा विकसित तथाकथित "न्यूनतम" एलआर (1) एल्गोरिथ्म का एक रूपांतर है, जो खुद 1965 में डोनाल्ड नुथ द्वारा आविष्कार किए गए एलआर (के) पार्सिंग एल्गोरिथ्म की विविधता है । आईईएलआर में आईई (1) अपर्याप्त उन्मूलन के लिए खड़ा है (अंतिम खंड देखें)।
LR (1) एल्गोरिदम
IELR (1) का एलआर (1) भाग एल ईफ्ट से राइट, आर ऑइटेस्ट से 1 लुकहैड टोकन के साथ आता है। LR (1) पार्सर्स को कैनोनिकल पार्सर भी कहा जाता है। पार्सिंग एल्गोरिदम का यह वर्ग एक स्टैक और स्टेट ट्रांजिशन टेबल के साथ बॉटम-अप, शिफ्ट-कम पार्सिंग रणनीति को नियुक्त करता है, जो पार्सिंग के दौरान लेने के लिए अगली कार्रवाई निर्धारित करता है।
ऐतिहासिक रूप से, एलआर (1) एल्गोरिदम को उनके संक्रमण तालिकाओं के लिए बड़ी स्मृति आवश्यकताओं से वंचित किया गया है। पेजर का सुधार संक्रमण राज्यों के संयोजन की एक विधि विकसित करना था जब संक्रमण तालिका उत्पन्न होती है, तालिका के आकार को काफी कम कर देती है। इस प्रकार पेजर का एल्गोरिथ्म एलआर (1) पार्सर्स को अंतरिक्ष और समय दक्षता के संबंध में अन्य पार्सिंग रणनीतियों के साथ प्रतिस्पर्धी बनाता है। वाक्यांश "न्यूनतम एलआर (1) पार्सर" पेजर के एल्गोरिथ्म द्वारा प्रस्तुत संक्रमण तालिका के न्यूनतम आकार को संदर्भित करता है।
पेजर के एल्गोरिदम की सीमाएं
न्यूनतम एलआर (1) एल्गोरिदम भाषा के पार्स होने के लिए एक विशेष इनपुट व्याकरण के आधार पर संक्रमण तालिका का उत्पादन करते हैं। विभिन्न व्याकरण एक ही भाषा का उत्पादन कर सकते हैं। दरअसल, एक LR (1) पार्सबल भाषा का उत्पादन करने के लिए एक गैर-LR (1) व्याकरण के लिए संभव है। व्यवहार में, LR (1) पार्सर जनरेटर गैर-LR (1) व्याकरणों को इस तथ्य को समायोजित करने के लिए दो संभावित राज्य परिवर्तनों ("शिफ्ट-कम संघर्ष") के बीच संघर्ष को हल करने के लिए एक विनिर्देश के साथ स्वीकार करते हैं। डेनी और मलॉय ने पाया कि पेजर का एल्गोरिथ्म एलआर (1) भाषाओं को पार्स करने के लिए पर्याप्त शक्तिशाली उत्पन्न करने में विफल रहता है जब कुछ गैर-एलआर (1) व्याकरण प्रदान किए जाते हैं, भले ही गैर-एलआर (1) व्याकरण एक एलआर (1) भाषा उत्पन्न करता है।
डेनी और माललॉय बताते हैं कि यह सीमा केवल अकादमिक नहीं है कि गौक और गपिक दोनों का व्यापक रूप से उपयोग किया जाता है, परिपक्व सॉफ्टवेयर, गलत पार्सर क्रिया करते हैं।
आईईएलआर (1) का सुधार
डेनी और मेलोएल ने पेजर के एल्गोरिथ्म की कमियों के स्रोत का अध्ययन पेजर के एल्गोरिथ्म द्वारा उत्पन्न ट्रांजिशन टेबल की तुलना एक समतुल्य LR (1) व्याकरण के संक्रमण तालिका से की और उन्होंने अपर्याप्तता के दो स्रोतों की पहचान की जो पेजर की संक्रमण तालिका से प्रकट होते हैं। एलआर (1) संक्रमण तालिका में एल्गोरिदम लेकिन नहीं। डेनी और मालॉयड की आईईएलआर (1) ( अपर्याप्तता उन्मूलन एलआर (1)) एल्गोरिथ्म एक एल्गोरिथ्म है जो संक्रमण तालिका उत्पन्न करने के लिए इन अपर्याप्तताओं को खत्म करने के लिए डिज़ाइन किया गया है जो कि पेजर के एल्गोरिथ्म के आकार में लगभग समान है।