Saturday 15 January 2011

parsing - Eliminating left recursion (can't seem to get it) -


मुझे निम्नलिखित व्याकरण मिल गया है:

  S - & gt; एसए एस - & gt; बीबी ए - & gt; एबी ए - & gt; सी बी - & gt; बीबी बी - & gt; D  

अब, बाएं पुनरावर्तन को हल करने के लिए सामान्य नियम को देखकर, मैं कह सकता हूं:

  B - & gt; डीबी 'बी' - & gt; ई | बीबी ' 

लेकिन यह तब तक है जब तक मुझे मिल सकता है। मैंने S :

  एस -> का विस्तार करने की कोशिश की एसएए | बीबी एस - & gt; SaaB | Sac | बीबी   

लेकिन मैं इसे एल्गोरिदम के लिए उचित रूप में नहीं प्राप्त कर सकता।

मुझे क्या याद आ रहा है?

मुझे आश्चर्य है कि आप क्यों "" विस्तार " एस की कोशिश कर रहे हैं यह प्रपत्र जो पहले से ही है,

  S - & gt; एसएए | बीबी  

उसी रूपांतरण को लागू करने के लिए पूरी तरह से फिट होता है जैसा आपने बी के साथ किया था। यह हो जाएगा

  S - & gt; बीबीएस 'एस' - & gt; Ε | एए  

अब, आप उस कोड का विस्तार कर सकते हैं यदि आप चाहें।


No comments:

Post a Comment