کامپایلر چیست؟
کامپایلر چیست؟
امروزه با گسترش زبان های برنامه نویسی بسیاری از برنامه نویسان از آنها استفاده میکنند و برنامه های خود را طراحی و اجرا میکنند.
این زبان ها هرکدام ویژگی های خاصی را در اجرا شدن دارند که دوتا از مهم ترین آن ها زبان های کامپایلری و زبان های اسکریپتی می باشد.
امروز باهم قرار است نحوه عملکرد کامپایلر را بررسی کنیم.
کامپایلر چگونه کار میکند؟
کامپایلر ها نرم افزارهای رابطی هستند که کد های نوشته شده به زبان های برنامه نویسی را به کدهای قابل تحلیل توسط ماشین یعنی صفر و یک تبدیل میکند تا CPU و اجزای الکترونیک داخل کامپیوتر بتوانند به راحتی کد شما را اجرا کنند. نرم افزارهایی که زبان های سطح بالا زبان هایی که توسط انسان قابل درک تر هستند را به زبان های سطح پایین تبدیل میکنند.
خروجی کامپایلر به صورت کد object و یا ماژول object است. که این کد یک کد قابل درک برای ماشین است و آن را به صورت صفر و یک اجرا میکند. زیرا سیستم های الکترونیکی بر حسب گیت های منطقی کار میکنند و تمام تجهیزات الکترونیکی موجود در کامپیوترها بر اساس کار ترانزیستورها می باشد و این قطعات الکترونیک نیز فقط با مقادیر صفر و یک مقدار دهی میشوند. به همین دلیل کامپایلرها به وجود آمدند تا این مشکل برطرف شود.
مراحل انجام کار کامپایلر
یک کامپایلر برای انجام تبدیل یک کد سطح بالا به زبان ماشین 4 مرحله اصلی را انجام میدهد.
مرحله اول : اسکن کردن
در این مرحله تمامی حروف در کامپایلر به صورت حرف به حرف خوانده میشود و محل قرارگیری آن ها نیز ثبت میشود و در صورتی که مشکلی در نامگذاری یا به کار گیری حروف باشد شناسایی میکند و به صورت خطا برمیگرداند
بررسی لغوی
کامپایلر ها بعد از اینکه حروف را اسکن کردند از آنها دنباله از حروف میسازند. این دنباله ها به صورت رشته هایی خاص به نام توکن TOKEN ساخته می شوند.
سپس توکن ها توسط نرم افزاری به نام Lexical Analysis به یکدیگر مرتبط میشوند.
این نرم افزار از یک جدول برای ثبت و ذخیره کلمه های سورس کد استفاده میکند تا مطمئن شود که توکن ها به درستی به یکدیگر متصل شده اند.
بررسی سینتکس
پس از آنکه توکن ها ساخته شد کامپایلر ها برای اینکه مطمئن شوند توکن ها به درستی قرارگرفته اند و از نظر قواعد آن زبان همه چیز درست قرار گرفته است که به این فرایند بررسی سینتکسی گفته میشود.
بررسی سمنتیک
بررسی سمنتیک مجموعه ای از کارهای مراحل قبل است. در این مرحله توکن های ایجاد شده با سینتکس (قواعد زبان برنامه نویسی) بررسی میشود تا هیچ گونه تفاوتی نباشد و در نهایت آبجکت کد تولید میشود. آبجکت کد به کدی میگویند که برای پردازنده کامپیوتر ارسال می شود تا برنامه شما را بسازد و آماده اجرا کند.
روند کلی تولید فایل exe
در این مرحله کامپایلر دیگر فعالیتی ندارد و فقط فایل آبجکت را ارسال میکند. پس از آن که فایل آبجکت ساخته شد به یک بخش به نام Linker فرستاده میشود.
در لینکر کتابخانه های استاندارد و کتابخانه های دیگر اضافه میشوند و لینکر آن ها را در کنار هم قرار میدهد و سپس فایل قابل اجرا برای سیستم کامپیوتری را تولید می نماید که این فایل قابل اجرا با فرمت exe می باشد.
تمامی مراحل اجرای کد از صفر تا صد
نتیجه گیری
زبان های برنامه نویسی به دو صورت کامپایلری و اسکریپتی ساخته شده اند. زبان هایی که براساس قواعد کامپایلر ها کار میکنند سریع تر از زبان هایی هستند که به صورت اسکریپتی کار میکنند زیرا در کامپایلر تمام کارها انجام میشود و آماده اجرا میگردد ولی در زبان های اسکریپتی این عمل به صورت خط به خط اجرا میشود.
مطالب زیر را حتما مطالعه کنید
Chat GPT چیست و چه کاربردهایی دارد؟ (قسمت اول) | کامپیوترونیک
وب 3 (web 3) چیست؟ معرفی فناوری وب 3 با انیمیشن های کامپیوترونیک
هک یا مهندسی اجتماعی؟
داکر چیست؟
تفاوت GPU با CPU
2 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
Very interesting points you have observed, appreciate it for putting up.?
You actually make it seem so easy together
with your presentation but I in finding this matter to
be actually something that I believe I might never understand.
It seems too complex and extremely huge for me.
I am taking a look forward to your next put up, I’ll try to
get the hang of it! Lista escape roomów