के व्याकरण के लिए एलआर (1) configurating सेट का निर्माण करके शुरू करते हैं:
(1)
S' -> .S [$]
S -> .aEa [$]
S -> .aFb [$]
S -> .bFa [$]
S -> .bEb [$]
(2)
S' -> S. [$]
(3)
S -> a.Ea [$]
S -> a.Fb [$]
E -> .e [a]
F -> .e [b]
(4)
E -> e. [a]
F -> e. [b]
(5)
S -> aE.a [$]
(6)
S -> aEa. [$]
(7)
S -> aF.b [$]
(8)
S -> aFb. [$]
(9)
S -> b.Fa [$]
S -> b.Eb [$]
E -> .e [b]
F -> .e [a]
(10)
E -> e. [b]
F -> e. [a]
(11)
S -> bF.a [$]
(12)
S -> bFa. [$]
(13)
S -> bE.b [$]
(14)
S -> bEb. [$]
तो यो u'll नोटिस, राज्यों (4) और (10), एक ही कोर है तो LALR (1) आटोमैटिक मशीन में हम उन्हें एक साथ नए राज्य के रूप में विलय चाहते हैं
(4, 10)
E -> e. [a, b]
F -> e. [a, b]
जो अब एक को कम किया गया है/इसमें संघर्ष को कम करें (एलएएलआर (1) में सभी संघर्ष जो एलआर (1) पार्सर में मौजूद नहीं थे, वैसे ही कम/कम हो जाते हैं)। यह दावा करता है कि व्याकरण एलआर (1) क्यों है लेकिन एलएएलआर (1) नहीं है।
आशा है कि इससे मदद मिलती है!
अच्छी तरह से, आपने मुझे बहुत मदद की, मुझे एक पीडीएफ में एक विश्लेषण में एक गलती का एहसास हुआ, लेकिन वैसे भी, मैंने यह पाया [यहां] (http://compilers.iecc.com/comparch/article/95- 02-053) और मैं इसे अपने आप को साबित करना चाहता था, मेरा नतीजा यह भी है कि यह वैध एलएआरएल (1) व्याकरण है, तो मुझे लगता है कि उस वेबसाइट पर कोई गलती है? क्या मैं सही हू? –
मुझे लगता है कि वेबसाइट पर एक गलती होगी, क्योंकि हमने अभी एलएएलआर automaton बनाया है और हमारे लिए इसे 'बाइसन' चेक किया है। मुझे लगता है कि इरादा एलएएलआर ढूंढना था, लेकिन एसएलआर व्याकरण नहीं था। – templatetypedef
ठीक है, बीटीडब्ल्यू 'बाइसन टूल' के लिए भी धन्यवाद :) –