کامپایلر (Compiler) چیست؟
کامپایلر چیست و چگونه کار می کند؟ مسئولیت کامپایلر چیست و چه نقشی در برنامه نویسی دارد؟
اگر شما هم به دنبال پاسخ این سوالات هستید، تا انتهای مقاله همراه ما باشید.

کامپایلر چیست؟
کامپایلر نقشی مترجمی در برنامه نویسی را دارد. سوال اصلی این جاست که چه چیزی را ترجمه می کند و خروجی آن ترجمه چیست؟ اصلا چه احتیاجی به ترجمه است؟
اگر مقاله مرتبط با زبان های برنامه نویسی سایت ابرمتن را مطالعه کردید، این موضوع را می دانید که زبان ها دارای دسته بندی بسیار مهمی هستند.
زبان های سطح بالا و سطح پایین این دسته بندی را تشکیل می دهند. وظیفه کامپایلر در برنامه نویسی نیز ترجمه زبان سطح بالا ( نزدیک به زبان انسان) به یک برنامه با زبان سطح پایین (قابل درک برای ماشین) است.
به بیان دیگر وقتی شما سلسله دستوراتی را در زبان برنامه نویسی مدنظر خود مانند C، می نویسید و آن را کامپایل و run می کنید، کامپایلر کدهای شما را می خواند و همه را به زبان مقصد (ماشین و یا اسمبلی) تغییر می دهد.
ورودی کامپایلر را معمولا با نام Source code می شناسیم و خروجی آن را نیز با نام Object code می شناسیم.
روش کار کامپایلر:
بعضی از کامپایلر ها زبان مبدا (زبان سطح بالا) را به صورت مستقیم به کدهای باینری یا دودویی تبدیل می کنند و بعضی دیگر این کار را به صورت غیر مستقیم انجام می دهند. یعنی در مرحله میانی کامپایل(intermediate Step)، ابتدا آن را به زبان اسمبلی ترجمه می کنند و سپس اط اسمبلی به دودویی تبدیل می کنند.
به این فرایند تبدیل کد منبع به کدهای باینری یا دودویی کامپایل یا compilation می گوییم.
فرایند کامپایل قواعد نحوی یک زبان برنامهنویسی را به یک زبان برنامهنویسی دیگر ترجمه می کند. باید این نکته را یادآور بشویم که کامپایلر تنها یک برنامه است و توانایی برطرف کردن ایراد کدهای نوشته شده توسط انسان را ندارد. به این ترتیب اگر کد اولیه برنامه اشکال و ایرادی داشته باشد، تا زمانی که این ایرادها بر طرف نشده باشند، کامپایلر نمیتواند آن را کامپایل کند.
می توانیم بگوییم که پیچیدگی کار کامپایلر به مقدار زیادی به پیچیدگی نحو زبان مبدا بستگی دارد. به عنوان مثال کار کامپایلر زبان c، راحت تر از کامپایلر زبان سی پلاس پلاس و یا سی شارپ است.
مراحل کار کامپایلر:
همه کامپایلر ها برای کار معمولا مراحل زیر را طی می کنند:
اسکن:
در این مرحله حروف و خطوط به صورت خط به خط اسکن می شوند. کامپایلر صحت خط ها و کدها و حروف آن را از نظر نحوی چک می کند و اگر مشکلی وجود نداشته باشد به مرحله بعدی می رود. (برای درک بهتر نحو و syntax به مقاله خطاهای syntax و semantic مراجعه کنید.)
تحلیل حروف:
در این مرحله کامپایلر پس از این که حروف را اسکن کرد، دسته بندی توکن های برنامه را مشخص می کند. به عنوان مثال int a= 3 این خط کد شامل 3 توکن است. یک توکن برای نوع اینتیجر یا صحیح، یک توکن برای انتساب یا = و توکن دیگر برای مقدار یا value. در این بخش نقش هر توکن مشخص می شود.
تحلیل نحوی :
بعد از این که کامپایلر حروف و توکن ها را تحلیل کرد، وارد مرحله تحلیلگر نحوی می شود. در این مرحله اعتبار کلمات و عبارات بر اساس دستورات گرامری سنجیده می شود. در واقع در این بخش این موضوع چک می شود که آیا توکن هایی که کنار یکدیگر قرار گرفتند از لحاظ نحوی و ترتیب درست هستند یا خیر.
تحلیل معنایی :
در این نوع تحلیل چند فرایند اتفاق میافتد. فرایند اول این است که همه ساختار توکنهای از نو بررسی میشوند، و ترتیب و محل قرارگیری آنها در دستور زبان یا گرامر یک زبان برنامهنویسی مشخص بررسی میشود. سپس معنای ساختار توکن توسط پارسر (parser) و تحلیل گر برنامه تحلیل میشود تا در نهایت کدی اجرایی به دست بیاید که به آن کد ابژه گفته میشود.
کد ابژه شامل دستوراتی میشود که فعالیت پردازنده را در قبال یک توکن مشخص در برنامه مشخص میکند. در نهایت، تمام کد مبدا در پارسر بررسی و تحلیل میشود تا امکان بهینهسازیهای احتمالی بررسی شود. در صورتی که امکان بهینهسازی وجود داشته باشد، توکنهای اصلاح شده در کد ابژه قرار میگیرند تا کد ابژه نهایی به دست بیاید؛ که در نهایت در یک فایل ذخیره میشود.
آخرین مطالب
- 2025’s Better Internet casino Incentives: Finest Product sales and offers
- British Registered Web based casinos Directory of UKGC Gambling enterprises 2025
- Gamble On the internet Keno Real cash Finest Keno Online game Us to own 2025
- Gates out of Hellfire Position Review by Gaming Region
- Real time Casinos online Usa: Genuine Traders, Tables, Step
- The most significant Uk Online casino
- 10 Finest Real cash Web based casinos Gambling enterprise Web sites 2025
- Best On line Keno A real income within the Us
- Very important Book to have British Professionals: Making certain Player Defense at the True Chance Local casino
- Win A real income in the Our Online casino Enjoy Today!
- A complete Self-help guide to On line Keno Play Today
- Luck Cellular Casino 2025 Review by CasinoHEX Uk one hundred% Suits Bonus to £one hundred on your own Basic Put
- Finest Keno Web based casinos 2025 Finest Keno Casinos the real deal Currency
- Best Gambling establishment Reviews: Top rated Casinos on the internet in the 2025
- Best Casinos on the internet one Accept Zimpler Costs inside the 2025

2 دیدگاه. پیغام بگذارید
ممنون از مقالات مختصر و مفیدتون.
ممنون از همراهیتون…