close
تبلیغات در اینترنت
آشنایی بیشتر با کامپایلر
مرورگرهای پیشنهادی :
موضوعات
  • مهندسی کامپیوتر و IT
  • پایان نامه مهندسی کامپیوتر
  • پایان نامه فناوری اطلاعات IT
  • جزوات مهندسی کامپیوتر و IT
  • مقالات ترجمه شده کامپیوتر و IT
  • مهندسی عمران
  • پاورپوینت مهندسی عمران
  • جزوات مهندسی عمران
  • پایان نامه مهندسی عمران
  • رشته مدیریت (تمامی گرایش ها)
  • پایان نامه رشته مدیریت
  • پاورپوینت رشته مدیریت
  • رشته حقوق (تمامی گرایش ها)
  • پایان نامه رشته حقوق
  • جزوات رشته حقوق
  • پایان نامه و مقاله فنی مهندسی
  • مهندسی برق ، الکترونیک ، مخابرات
  • مهندسی مکانیک
  • مهندسی معماری
  • مهندسی ساخت و تولید
  • مهندسی منابع طبیعی
  • مهندسی کشاورزی
  • مهندسی شیلات
  • مهندسی صنایع
  • مهندسی مواد
  • مهندسی نقشه برداری
  • مهندسی تاسیسات
  • مهندسی شیمی
  • مهندسی متالوژی
  • مهندسی نساجی
  • مهندسی معدن
  • مهندسی نفت
  • محیط زیست
  • جوشکاری
  • پایان نامه و مقاله علوم انسانی
  • اقتصاد
  • جهانگردی
  • حسابداری
  • تربیت بدنی
  • ادبیات فارسی
  • علوم سیاسی
  • علوم اجتماعی
  • مدیریت صنعتی
  • مدیریت روابط عمومی
  • روانشناسی و علوم تربیتی
  • گرافیک
  • هنر
  • بیمه
  • صنایع دستی
  • پاورپوینت - پایان نامه و مقاله پزشکی
  • بهداشت عمومی
  • روان پزشکی
  • پزشکی
  • ژنتیک
  • پایان نامه و مقاله علوم پایه
  • زیست شناسی
  • زمین شناسی
  • دندانپزشکی
  • دامپزشکی
  • پزشکی
  • جزوات دانشگاهی
  • جزوات دروس مشترک دانشگاهی
  • جزوات مهندسی برق
  • جزوات مهندسی مکانیک
  • جزوات رشته حسابداری
  • جزوات مهندسی فیزیک
  • جزوات مهندسی معماری
  • جزوات مهندسی ریاضی
  • جزوات مهندسی صنایع
  • جزوات مهندسی شیمی
  • جزوات رشته روانشناسی
  • جزوات مهندسی مخابرات
  • جزوات رشته مدیریت
  • جزوات تربیت بدنی
  • کامپیوتر و IT
    برق
    عمران
    مکانیک
    عمومی
    پزشکی
  • پایان نامه بررسی چالشهای امنیتی در محاسبات ابری و راهکارهای کاهش آن
  • پایان نامه ارائه مدلی برای سیستم­های توصیه گر در شبکه های مبتنی بر اعتماد
  • پایان نامه بررسی تغییرات رابط کاربری بر نحوه تعامل کاربر با شبکه های اجتماعی
  • پایان نامه الگوریتم طبقه بندی k نزدیک ترین همسایه فازی داده برای محرمانگی در محاسبات ابری
  • دانلود فایل ورد پایان نامه (Word) بررسی شبکه های کامپیوتری سخت افزار و نرم افزار شبکه
  • دانلود پایان نامه ارائه یک سیستم تشخیص ورود به شبکه کامپیوتری با استفاده از الگوریتم فراابتکاری
  • دانلود فایل ورد پایان نامه Word نهان نگاری تصاویر دیجیتال با استفاده از تبدیلات موجک چندگانه
  • پایان نامه استفاده از شبکه های نرم افزار محور(SDN) مدیریت زیرساخت شبکه های اجتماعی (CN)
  • دانلود فایل ورد پایان نامه Word امکان سنجی کاربرد یادگیری سیار در ایران
  • دانلود پایان نامه ارشد : نسل آینده ی سیستم های کامپیوتری: اینترنت اشیاء (IOT)
  • پایان نامه بررسی ساختار شبکه های ATM
  • پایان نامه استفاده از شبکه عصبی مصنوعی مبتنی برالگوریتم رزونانس تطبیقی دربازشناسی چهره
  • رفع ماتی از تصاویر چهره به منظور استفاده در یک سیستم بازشناسی چهره
  • ارائه مدلی برای حل مسائل ارضاء محدودیت با استفاده از سیستمهای چند عامله
  • اندازه گیری بلوغ حاکمیت معماری سرویس گرایی سازمان با استفاده از چارچوب COBIT
  • در صورتی که مقاله یا پایان نامه و جزوه مورد نظر خود را در اینجا پیدا نکردید، ناقص و یا حذف شده باشد به سایت ام پی فایل مراجعه کنید

    www.mpfile.ir (اینجا کلیک کنید)

    یا به شماره 09395794439 پیامک بزنید

    همان‌طور كه مي‌دانيم براي آن‌كه يك برنامه نوشته شده به زبان‌هاي سطح بالا، در رايانه قابل اجرا باشند بايد به زبان ماشين ترجمه شوند كه اين كار توسط دو دسته از نرم‌افزارها قابل انجام است. به يك دسته از آنها مفسر يا Interpreter گفته مي‌شود و دسته ديگر مترجم ياCompiler نام دارند.
    در ادامه قصد داريم به طريقه كاركرد يك كامپايلر بپردازيم و آن را با نگاهي جزئي‌تر بررسي كنيم. آشنايي با طرز كار كامپايلرها و مفسرها و درك مفاهيم موجود در آنها به برنامه‌نويس كمك مي‌كند تا برنامه‌هاي بهتر و بهينه‌اي بنويسد.
    يافتن خطا
    بخش مهمي از فرآيند ترجمه مربوط به يافتن خطا در برنامه و اعلام آن به برنامه‌نويس است. در يك برنامه انواع مختلفي خطا ممكن است وجود داشته باشد كه بخشي از آنها توسط كامپايلر قابل تشخيص است و بخش ديگر تنها با تست و آزمون يافت مي‌شود و بايد توسط برنامه‌نويس رفع شود.

    همان‌طور كه مي‌دانيم براي آن‌كه يك برنامه نوشته شده به زبان‌هاي سطح بالا، در رايانه قابل اجرا باشند بايد به زبان ماشين ترجمه شوند كه اين كار توسط دو دسته از نرم‌افزارها قابل انجام است. به يك دسته از آنها مفسر يا Interpreter گفته مي‌شود و دسته ديگر مترجم ياCompiler نام دارند.
    در ادامه قصد داريم به طريقه كاركرد يك كامپايلر بپردازيم و آن را با نگاهي جزئي‌تر بررسي كنيم. آشنايي با طرز كار كامپايلرها و مفسرها و درك مفاهيم موجود در آنها به برنامه‌نويس كمك مي‌كند تا برنامه‌هاي بهتر و بهينه‌اي بنويسد.
    يافتن خطا
    بخش مهمي از فرآيند ترجمه مربوط به يافتن خطا در برنامه و اعلام آن به برنامه‌نويس است. در يك برنامه انواع مختلفي خطا ممكن است وجود داشته باشد كه بخشي از آنها توسط كامپايلر قابل تشخيص است و بخش ديگر تنها با تست و آزمون يافت مي‌شود و بايد توسط برنامه‌نويس رفع شود.



    يك كامپايلر تنها در صورتي برنامه نهايي و فايل اجرايي را توليد مي‌كند كه هيچ‌گونه خطاي قابل تشخيص توسط خود را در برنامه پيدا نكند. هنگام بيان طرز كار كامپايلر، به خطاهايي كه ممكن است رخ دهد اشاره خواهيم كرد.

    هزاران زبان برنامه‌سازي با تنوع كاربرد و نحوه كار تاكنون طراحي شده است كه بسياري از آنها نيز به جاي آن‌كه زبان مبدا را به زبان ماشين تبديل كنند، آن را به زبان ديگري تبديل مي‌كنند؛ اما صرف‌نظر از اين تنوع، طرز كار كامپايلرهاي آنها از يك‌سري قواعد و اصول واحد پيروي مي‌كند و تنها تفاوت بين آنها در پياده‌سازي و جزييات كار آنهاست.

    بخش‌هاي كامپايلر
    هر كامپايلر را مي‌توان به دو بخش عمده تقسيم كرد. يك بخش آن براي عمل خواندن متن برنامه و تجزيه آن به اجزاي تشكيل‌دهنده و توليد يك نمايش مياني از برنامه مبدا است كه به آن تحليل گفته مي‌شود. در اين مرحله با استفاده از جداكننده‌ها و كاراكترهاي كنترلي موجود در برنامه، تك‌تك كلمات تشخيص داده مي‌شود و نقش آنها مشخص مي‌شود و پس از آن يك نمايش جديد از برنامه با استفاده از اين تحليل توليد مي‌شود.
    بخش دوم كار كامپايلر مربوط به ايجاد برنامه مقصد از اين نمايش مياني حاصل از بخش تحليل است كه به آن عمل سنتز گفته مي‌شود.
    بخش اول كار يعني بخش تحليل، پيچيدگي‌ چنداني ندارد و اكثر جزييات و تكنيك‌هاي خاص مربوط به بخش سنتز خواهد بود. حين تحليل برنامه، اجزا و همچنين اعمالي كه توسط برنامه انجام مي‌شود توسط كامپايلر مشخص شده و در يك ساختار سلسله مراتبي به نام درخت ثبت مي‌شود كه اين درخت در مرحله سنتز به كار گرفته مي‌شود. نرم‌افزارهاي مختلفي هستند كه برنامه‌هاي مبدا را دستكاري مي‌كنند و به عبارتي نوعي تحليل روي برنامه‌ها انجام مي‌دهند كه از جمله مي‌توان بهPretty Printer ، بررسي‌ كننده‌هاي ايستا و ويرايشگرهاي ساختار اشاره كرد.

    Pretty Printer
    يك Pretty Printer ابزاري است كه يك برنامه را تحليل مي‌كند و آن را به گونه‌اي تغيير مي‌دهد كه ساختار برنامه واضح و خوانا شود. اين وضوح و خوانايي مي‌تواند تغيير قلم (font) بخش‌هاي بخصوصي از برنامه يا ايجاد تورفتگي در ساختار برنامه باشد.
    در اينجا خوب است به اين نكته اشاره كنيم كه تورفتگي اصطلاحا به شروع نوشتن كد از چند كاراكتر جلوتر از ابتداي خط جديد گفته مي‌شود. اين كار براحتي ساختارهاي تو در تو را قابل تشخيص كرده و خوانايي برنامه را بالا مي‌برد.
    تعداد كاراكترهايي كه بايد در تورفتگي از ابتداي خط جديد در نظر گرفت، به عمق يك ساختار در برنامه بستگي دارد.

    بررسي‌‌كننده‌هاي ايستا
    يك بررسي‌كننده ايستا سعي بر آن دارد كه برنامه را خوانده و بدون اجراي برنامه بعد از تحليل، خطاهاي نهفته در برنامه را پيدا كند. به عنوان مثال، يك بررسي‌كننده ايستا ممكن است بخش‌هايي از برنامه را كه هرگز اجرا نمي‌شوند پيدا كند و به برنامه‌نويس اعلام كند. با توجه به اين اعلام يا اشكالي در برنامه وجود دارد كه اجازه نمي‌دهد برنامه هرگز به آن قسمت از كد برسد كه برنامه‌نويس با پي بردن به اين مساله، اشكال را رفع كرده و آن بخش را دسترسي‌پذير مي‌كند و يا با صلاحديد خود آن بخش را حذف مي‌كند تا از حجم كد كم كند. البته اين امكان نيز وجود دارد كه برنامه‌نويس به منظور خاصي آن بخش را به برنامه خود اضافه كرده باشد.
    يك بررسي‌كننده ايستا همچنين مي‌تواند متغيرهايي را كه قبل از تعريف به كار گرفته شده‌اند، تشخيص دهد و يا متغيرهاي تعريف شده بلااستفاده را به برنامه‌نويس اعلام كند. اين نوع بررسي‌كننده، برنامه‌نويس را در تشخيص و رفع بسياري از خطاهاي منطقي ياري مي‌رساند.

    ويرايشگر ساختار
    يك ويرايشگر ساختار، رشته‌اي از دستورات را براي ايجاد يك برنامه مبدا به عنوان ورودي دريافت مي‌كند. اين ويرايشگر نه تنها اعمال ايجاد و اصلاح يك متن از ويرايشگر متن معمولي را انجام مي‌دهد، بلكه متن برنامه را تحليل كرده و يك ساختار سلسله مراتبي مناسب روي برنامه مبدا قرار مي‌دهد. بنابراين ويرايشگر ساختار، قادر به انجام كارهاي بيشتري است كه براي آماده‌سازي برنامه‌ها مفيد هستند. براي مثال مي‌تواند بررسي كند كه ورودي به طور صحيح وارد شده باشد. قادر است كلمات كليدي را به طور خودكار در برنامه قرار دهد. به عنوان مثال زماني كه كاربر كلمه While را كه يك كلمه كليدي از ساختار گردشي است، تايپ مي‌كند، ويرايشگر، كلمه كليدي ديگر اين ساختار يعني do را به طور خودكار در متن قرار مي‌دهد و به كاربر يادآوري مي‌كند كه بين آنها بايد يك شرط قرار گيرد.
    همچنين مي‌تواند از كلمه begin كلمه end و از پرانتز باز، براكت باز يا آكولاد باز، به ترتيب پرانتز بسته، براكت بسته و آكولاد بسته را نتيجه بگيرد و آن را در متن برنامه قرار دهد تا علاوه بر سرعت بخشيدن به برنامه‌نويسي، از بسياري خطاها پيش‌گيري كند.

    پيش‌پردازشگر
    علاوه بر كامپايلر، چندين برنامه ديگر ممكن است براي ايجاد يك زبان مقصد قابل اجرا، لازم باشد. برنامه مبدا ممكن است به ماژول‌هايي تقسيم شود كه در فايل‌هاي مجزا ذخيره شده‌اند. كار جمع‌آوري برنامه مبدا گاهي اوقات به يك برنامه مجزا به نام پيش‌پردازشگر محول مي‌شود. اين پيش‌پردازشگر ممكن است بخش‌هاي خلاصه شده‌اي را به احكام زبان مبدا تبديل كند.
    برنامه مقصدي كه توسط كامپايلر ايجاد مي‌شود، قبل از اين‌كه قابل اجرا باشد، ممكن است نياز به پردازش‌هاي بيشتري داشته باشد. كامپايلر كد زبان اسمبلي توليد مي‌كند كه توسط اسمبلر به كد ماشين ترجمه شده و سپس با تعدادي روال كتابخانه‌اي ادغام شده و بعد به كدي تبديل مي‌شود كه عملا روي ماشين قابل اجراست.
    در يك جمع‌بندي كلي مي‌توان اين طور بيان كرد كه اسكلت برنامه مبدا به پيش‌پردازشگر تحويل داده مي‌شود.
    پيش‌پردازشگر پس از انجام امور اوليه، خروجي خود را به عنوان برنامه مبدا به كامپايلر مي‌دهد. كامپايلر پس از انجام امور مربوط به كامپايل، در صورتي كه با هيچ‌گونه خطاي قابل تشخيصي مواجه نشد، كد زبان مقصد يعني اسمبلي توليد مي‌كند و آن را به عنوان ورودي به اسمبلر مي‌سپارد و اسمبلر آن را به كد ماشين جابه‌جا‌پذير تبديل مي‌كند. اين كد ماشين هنوز قابل اجرا نيست. در اين مرحله ممكن است به تعدادي روال كتابخانه‌اي نيز نياز باشد.
    اين روال‌ها به همراه كد ماشين جابجا‌پذير به بار كننده و پيوند دهنده داده مي‌شود تا در نهايت كد ماشين قابل اجرا توليد شود.

     

     

    در صورتی که مقاله یا پایان نامه و جزوه مورد نظر خود را در اینجا پیدا نکردید، ناقص و  یا حذف شده باشد به سایت ام پی فایل مراجعه کنید

    www.mpfile.ir (اینجا کلیک کنید)

    یا به شماره 09395794439 پیامک بزنید

    برچسب ها :پيش‌پردازشگر ,ويرايشگر ساختار ,بررسي‌‌كننده‌هاي ايستا ,بخش‌هاي كامپايلر ,يافتن خطا ,
    بازدید : 1179 تاریخ : نویسنده : بهرام محمدپور | نظرات ()
    ارسال نظر برای این مطلب

    نام
    ایمیل (منتشر نمی‌شود) (لازم)
    وبسایت
    :):(;):D;)):X:?:P:*=((:O@};-:B/:):S
    نظر خصوصی
    مشخصات شما ذخیره شود ؟[حذف مشخصات] [شکلک ها]
    کد امنیتی
    مطالب پربازدید
    مطالب تصادفی
    مطالب پیشین
  • ترجمه مقاله : نقش گرایش سازمانی و ویژگی های محصول در عملکرد برای ثبات (شنبه 19 خرداد 1397)
  • دانلود پاورپوینت Genetic Disorders Screening به زبان فارسی (شنبه 19 خرداد 1397)
  • دانلود پاورپوینت پزشکی شخصی و ایدز (شنبه 19 خرداد 1397)
  • پایان نامه بررسی ماهیت و آثار امضای الکترونیکی در حقوق ایران (شنبه 19 خرداد 1397)
  • دانلود پاورپوینت روش های ژنتیکی درمان بیماری (شنبه 19 خرداد 1397)
  • دانلود پاورپوینت آنزیم تلومراز و نقش آن در فرایند پیری (شنبه 19 خرداد 1397)
  • پاورپوینت ساختمان های پیش ساخته 3d-panel و پانلهای ساندویچی در 40 اسلاید (شنبه 19 خرداد 1397)
  • دانلود پاورپوینت شناسیایی فاکتورهای حساسیت و ژنهای بیماری در انسان (جمعه 18 خرداد 1397)
  • دانلود پاورپوینت (اسلاید) ترانسپوزون ها (جمعه 18 خرداد 1397)
  • پاورپوینت معماری فرم در 33 اسلاید کاربردی برگرفته از کتاب معماری فرم(محمد پیرداوری) (جمعه 18 خرداد 1397)
  • پاورپوینت برنامه ریزی استراتژیک برای سازمان های دولتی و غیردولتی برگرفته از کتاب جان . ام . ب (جمعه 18 خرداد 1397)
  • دانلود جزوه درسی دانشگاهی تکنولوژی بتن (جمعه 18 خرداد 1397)
  • پاورپوینت نقش والدین در خداشناسی کودکان در 82 اسلاید (جمعه 18 خرداد 1397)
  • پاورپوینت تثبیت خاک با آهک در 23 اسلاید (جمعه 18 خرداد 1397)
  • پاورپوینت بررسي تقویت و تثبيت خاك رس توسط گياه بامبو در 30 اسلاید (جمعه 18 خرداد 1397)
  • آمار سایت
  • کل مطالب : 3743
  • افراد آنلاین : 11
  • تعداد اعضا : 2920
  • بازدید امروز : 6,472
  • باردید دیروز : 10,104
  • گوگل امروز : 24
  • گوگل دیروز : 33
  • بازدید هفته : 17,863
  • بازدید ماه : 17,863
  • بازدید سال : 17,863
  • بازدید کلی : 5,589,386
  • کدهای اختصاصی