Compiler ဆိုတာဘာလဲ
Compiler (ကွန်ပိုင်လာ) ဆိုတာ လူတွေနားလည်တဲ့ ပရိုဂရမ်မင်းဘာသာစကား (ဥပမာ - C#, C++, Java) နဲ့ ရေးထားတဲ့ ကုဒ်တွေကို ကွန်ပျူတာ Hardware က တိုက်ရိုက်နားလည်တဲ့ Machine Code (စက်ဘာသာစကား - 0 နဲ့ 1 များ) အဖြစ် ပြောင်းလဲပေးတဲ့ အထူးဆော့ဖ်ဝဲလ်တစ်ခု ဖြစ်ပါတယ်။
ရိုးရိုးရှင်းရှင်း ပြောရရင် Compiler ဆိုတာ "ဘာသာပြန်ပေးသူ" လို့ မှတ်ယူနိုင်ပါတယ်။
Compiler တစ်ခု ဘယ်လိုအလုပ်လုပ်သလဲ?
Compiler ရဲ့ အလုပ်လုပ်ပုံ အဆင့်ဆင့်ကို အောက်ပါအတိုင်း အကြမ်းဖျဉ်း နားလည်နိုင်ပါတယ်-
Source Code: ကိုယ်ရေးလိုက်တဲ့ C# ကုဒ်တွေကို Compiler ထဲကို ထည့်လိုက်ပါတယ်။
Analysis: Compiler က ရေးထားတဲ့ ကုဒ်တွေမှာ သဒ္ဒါအမှား (Syntax Error) ပါသလားဆိုတာကို အရင်စစ်ဆေးပါတယ်။ (ဥပမာ - Semicolon ကျန်ခဲ့တာမျိုး)။
Optimization: ကုဒ်တွေကို ပိုမိုမြန်ဆန်အောင်၊ မန်မိုရီ သက်သာအောင် ပြုပြင်ညှိနှိုင်းပေးပါတယ်။
Code Generation: နောက်ဆုံးမှာတော့ ကွန်ပျူတာ CPU က နားလည်နိုင်တဲ့ Binary format (0, 1) အဖြစ် ပြောင်းလဲပြီး .exe ဖိုင် (သို့မဟုတ်) executable ဖိုင်တစ်ခု ထုတ်ပေးလိုက်ပါတယ်။
Compiler ရဲ့ ထူးခြားချက်များ
• တစ်ခါတည်း ဘာသာပြန်ခြင်း: Compiler ဟာ ပရိုဂရမ်တစ်ခုလုံးကို အစကနေ အဆုံးထိ အကုန်ဖတ်ပြီးမှ တစ်ခါတည်း ဘာသာပြန်တာဖြစ်ပါတယ်။ (ဒါဟာ စာကြောင်းတစ်ကြောင်းချင်းစီကို ဘာသာပြန်တဲ့ Interpreter နဲ့ ကွာခြားချက်ပါပဲ)။
• မြန်ဆန်ခြင်း: တစ်ခါ ဘာသာပြန်ပြီးသွားရင် ထွက်လာတဲ့ .exe ဖိုင်ကို ထပ်ခါတလဲလဲ Run လို့ရပါတယ်။ ထပ်ပြီး ဘာသာပြန်နေစရာ မလိုတော့တဲ့အတွက် ပရိုဂရမ် Run တဲ့အခါ ပိုမြန်ပါတယ်။
• အမှားရှာရလွယ်ခြင်း: ကုဒ်မှာ အမှားပါနေရင် Compiler က ဘာသာပြန်လို့ မရဘဲ ဘယ်နေရာမှာ မှားနေတယ်ဆိုတာကို တစ်ခါတည်း အစီရင်ခံစာ (Error Report) ထုတ်ပေးပါတယ်။
ဥပမာအနေနဲ့ ကြည့်ရင်
• ကိုယ်ရေးတဲ့ကုဒ် (Source Code) = "မြန်မာလို ရေးထားတဲ့ စာအုပ်"
• Compiler = "ဘာသာပြန်ဆရာ"
• ကွန်ပျူတာ (CPU) = "အင်္ဂလိပ်စာပဲ တတ်တဲ့သူ"
ဘာသာပြန်ဆရာက မြန်မာစာအုပ်တစ်အုပ်လုံးကို အင်္ဂလိပ်လို ပြန်ရေးပေးလိုက်မှသာ အင်္ဂလိပ်စာပဲ တတ်တဲ့သူက အဲဒီစာအုပ်ကို ဖတ်လို့ရမှာ ဖြစ်ပါတယ်။
C# မှာဆိုရင်တော့ csc.exe ဆိုတဲ့ compiler က သင်ရေးတဲ့ ကုဒ်တွေကို Intermediate Language (IL) အဖြစ် အရင်ပြောင်းပေးပြီးတော့မှ Run တဲ့အခါမှာ machine code အဖြစ် ထပ်ပြောင်းတာ ဖြစ်ပါတယ်။
Top comments (0)