(مبانی برنامه نویسی) ساختار و عملکرد ( Error Handler ) خطاپرداز (عمومی _ الکترونیک)

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

نکته: هر بار که خطایی در یکی از مرحله های برنامه نویسی پیش بیاید رویه ای بنام خطاپرداز فراخوانده میشود. این بخش سعی می کند خطا را به نحوی برطرف کند که در نتیجه کامپایلر بتواند خطاهای بیشتری را در برنامه تشخیص دهد و با اولین خطای موجود در برنامه عمل کامپایل متوقف نگردد.

معمولا پارسر و اسکنر بیشتر خطاهایی را که در یک برنامه ممکن است وجود داشته باشد تشخیص میدهند.یکی از کارهای مهم و اساسی یک کامپایلر ثبت شناسه های استفاده شده در برنامه ورودی ( منبع ) و جمع آوری اطلاعات درباره مشخصات هر شناسه است. این مشخصات می توانند شامل : آدرس حافظه اختصاص داده شده به شناسه , نوع آن , محلی از برنامه که این شناسه در آن تعریف شده است (Scope) و در رابطه با رویه ها اسم آنها ,تعداد و نوع آرگومانهای آنها , روشی که به آن طریق آرگومانها به رویه ها فرستاده میشوند.مثلا Reference by Call یا Value by Call و نوع نتیجه ای که رویه ها باز می گردانند باشد.

در جدول نشانه ها به ازای هر شناسه یک رکورد وجود دارد که این رکوردها شامل مشخصات شناسه ها میباشند .این جدول امکان دستیابی سریع به شناسه ها و مشخصات آنها را به ما می دهد .در کامپایلر و در مرحله تحلیل لغوی کلیه شناسه های موجود در برنامه اصلی وارد جدول نشانه ها میشوند .در مرحله های دیگر کامپایل این اطلاعات به جدول اضافه خواهند شد و سپس از آنها در موارد مختلف استفاده خواهد شد.

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