تجزیه پیشگویانه غیر بازگشتی (Non-Recursion Predictive Parsing) مبانی برنامه نویسی (عمومی _ الکترونیک)

پژوهشگر و نویسنده: (  افشین رشید )

نکته: در این روش تجزیه از یک انباره ( Stack Parse) و یک جدول به نام جـدول تـجــزیه( Table Parsing) استفاده میگردد.بافر ورودی شامل رشته ای است که باید تجزیه شود. در انتهای رشته ورودی علامتی مثلا $ قرار می گیرد .

در ابتدای پارس علامت $ وارد انباره می شود و روی آن علامت شروع گرامر قرار می گیرد. در انتهای پارس هم در انباره بافر هم در ورودی تنها علامت $ باقی می ماند.جدول پارس یک آرایه دو بعدی بصورت [ a , A [ M است که در آن A یک غیر پایانه و a یک پایانه و یا علامت $ است.

برای پر کردن جدول پارس از توابعی به نامهای First و Follow استفاده میشود.همانگونه که قبلا توضیح داده شد (α(First مجموعه پایانه هایی است که به عنوان سمت چپ ترین علامت رشته ها ی بدست آمده از α قرار می گیرند .در صورتیکه ε ═› α در اینصورت ε نیز جزو (α(First خواهد بود.در ادامه الگوریتم محاسبه First یک علامت مثل X توضیح داده شده است .اگرچه الگوریتم در مورد یک علامت بیان می گردد لیکن با کمک آن می توان مجموعه First را برای رشته ها نیز محاسبه نمود.

نویسنده: دکتر (افشین رشید )