کامپایلر در برنامه نویسی | کامپایلر | compiler | کامپایلر Native | کامپایلر cross

کامپایلر، در برنامه نویسی به مترجم ، برنامه یا مجموعه‌ای از برنامه‌های کامپیوتری گفته می شود، که متنی از زبان برنامه نویسی سطح بالا ( زبان مبدا ) را به زبانی سطح پایین ( زبان مقصد )، مثل اسمبلی یا زبان سطح ماشین ، تبدیل می‌کند.

در این مقاله از سایت آموزی به معرفی کامپایلر،Compiler ) در برنامه نویسی کامپیوتر می پردازیم.

کامپایلر در برنامه نویسی

کامپایلر در برنامه نویسی | کامپایلر | compiler | کامپایلر Native | کامپایلر cross

 

خروجی این برنامه ممکن است برای پردازش شدن توسط برنامه دیگری مثل پیوند دهنده مناسب باشد یا فایل متنی باشد که انسان نیز بتواند آن را بخواند.

مهم‌ترین علت استفاده از ترجمه کد مبدا ، ایجاد برنامه اجرایی می باشد.

برعکس برنامه‌ای که زبان سطح پایین را به بالاتر تبدیل می کند را decompiler گفته می شود.

به همین خاطر بود که زبان های اسمبلی و کامپایلرهای اولیه با نام اسمبلر به وجود آمد.

مترجم ها جملات یک زبان طبیعی را به زبان طبیعی دیگر ترجمه می‌کنند.

تقریبا تمام کامپایلرها برنامه‌ای به یک زبان منبع را گرفته به برنامه‌ای به زبان مقصد تبدیل می‌کنند .

زبانی که خود Compiler با آن نوشته می‌شود زبان پیاده ساز نام دارد.

Compiler در برنامه نویسی چگونه کار می کند ؟

برای تهیه یک کامپایلر، Compiler دیگری را اجرا می‌کنیم، که ورودی آن متن منبع این Compiler، و خروجی آن کد اجرایی برای این کامپایلر است . این فرآیند کامپایل است .

Compiler می‌تواند معنای جمع آوری شده را بر حسب ساختار زبان مقصد ارائه کند.

بخشی از Compiler، که متن زبان منبع را تحلیل می‌کند، پردازشگر جلویی و بخشی از Compiler، که زبان مقصد را ترکیب می‌کند پردازشگر نهایی نام دارد.

هر یک از این دو بخش از نمایش معنایی برنامه خبر دارند و این تفکیک دقیق دلایل فنی دارد. و منجر به کامپایلرهای ساخت یافته می‌شود.

انواع Compiler در برنامه نویسی

در این بخش دو دسته از کامپایلرهای مهم در برنامه نویسی را توضیح می دهیم.

کامپایلرهای Native و cross

Compiler در برنامه نویسی به دو دسته Native و Cross تقسیم می شود.

کامپایلر در برنامه نویسی | کامپایلر | compiler | کامپایلر Native | کامپایلر cross

Compiler هایی که به منظور اجرای برنامه ها کدهای باینری را تولید می کنند، Compiler هایی با کد محلی یا Native گوییم چرا که تنها در کامپیوترهای یک نوع با سیستم عامل های یکسان قابل به کارگیری است.

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

به این دسته از کامپایلر ها که وابستگی به سخت افزار ندارند، Compiler های عبوری یا Cross گوییم.

برای این نوع Compiler ها تنها کافی است برای بار اول سخت افزار را به آن معرفی نمود.

این تقسیم بندی برای مفسرها به کار نمی رود زیرا آنها از نمایش دودویی برای اجرای کد استفاده نمی کنند.

ماشین های مجازی در هیچ یک از این دسته بندی ها نمی گنجد.

هر گاه Compiler، در ماشین های مجازی یکسان ، قابل اجرا باشد به آن کامپایلر Native می گویند.

و هرگاه Compiler، قادر به تولید خروجی برای پلت فورم های مختلف باشد به آن کامپایلر Cross می گویند.

کامپایلر در برنامه نویسی | کامپایلر | compiler | کامپایلر Native | کامپایلر cross – اختصاصی سایت آموزی