Google Play badge

syntax


SYNTAX

ကွန်ပြူတာသိပ္ပံတွင်၊ ကွန်ပြူတာဘာသာစကားတစ်ခု၏ syntax ဟူသောအသုံးအနှုန်းသည် ထိုဘာသာစကားတွင် မှန်ကန်စွာဖွဲ့စည်းထားသောအပိုင်းအစ သို့မဟုတ် စာရွက်စာတမ်းတစ်ခုဟု ယူဆထားသော သင်္ကေတများပေါင်းစပ်မှုကို သတ်မှတ်ပေးသည့် စည်းမျဉ်းအစုအဝေးကို ရည်ညွှန်းသည်။ ၎င်းသည် စာရွက်စာတမ်းသည် ဒေတာနှင့် ပရိုဂရမ်းမင်းဘာသာစကားများကို ကိုယ်စားပြုသည့် အမှတ်အသားဘာသာစကားများနှင့် နှစ်မျိုးလုံးအကျုံးဝင်ပြီး စာရွက်စာတမ်းသည် အရင်းအမြစ်ကုဒ်ကို ကိုယ်စားပြုပါသည်။ ဘာသာစကားတစ်ခု၏ syntax သည် ၎င်း၏မျက်နှာပြင်ပုံစံကို သတ်မှတ်သည်။ စာသားအခြေခံသော ကွန်ပျူတာဘာသာစကားများသည် အက္ခရာများ၏ အစီအစဥ်များအပေါ် အခြေခံသည်။ အခြားတစ်ဖက်တွင် Visual programming languages များသည် သင်္ကေတများ (ဂရပ်ဖစ် သို့မဟုတ် စာသားဖြစ်နိုင်သည်) နှင့် spatial layout အကြားချိတ်ဆက်မှုအပေါ် အခြေခံထားသည်။ စည်းချက်ညီညီ မမှန်ကန်သော စာရွက်စာတမ်းများသည် အထားအသိုအမှားအယွင်းတစ်ခုရှိသည်ဟု ဆိုပါသည်။

အထားအသို- ပုံစံ- ဟူသည်- အဓိပ္ပါယ်နှင့် ဆန့်ကျင်ဘက်ဖြစ်သည်။ ကွန်ပြူတာဘာသာစကားများ လုပ်ဆောင်ခြင်းတွင်၊ အဆက်မပြတ်လုပ်ဆောင်ခြင်းပြီးနောက် ပုံမှန်အားဖြင့် semantic processing ထွက်ပေါ်လာသည်။ သို့ရာတွင်၊ အချို့သောကိစ္စများတွင် အဆက်အစပ်ဆိုင်ရာ ခွဲခြမ်းစိတ်ဖြာမှု ပြီးပြည့်စုံသော အဓိပ္ပါယ်ဖွင့်ဆိုချက်သည် အရေးကြီးသည်၊ ထို့ကြောင့် ၎င်းတို့ကို တပြိုင်တည်း သို့မဟုတ် အတူတူ လုပ်ဆောင်သည်။ compiler တစ်ခုတွင်၊ syntactic analysis သည် frontend ပါ၀င်ပြီး semantic analysis တွင် backend (နှင့် အဆင့်ခွဲခြားထားသည့် ကိစ္စများတွင် အလယ်တန်းအဆုံး) ပါဝင်ပါသည်။

SYNTAX အဆင့်များ

ကွန်ပြူတာဘာသာစကား syntax ကို ပုံမှန်အားဖြင့် အဆင့်သုံးဆင့်ဖြင့် ခွဲခြားထားသည်။

ထိုသို့သောပုံစံဖြင့် ပိုင်းခြားခြင်းသည် အဆင့်တိုင်းကို ဖော်ပြနိုင်သည့်အပြင် သီးခြားစီလုပ်ဆောင်ပြီး မကြာခဏ အမှီအခိုကင်းစွာ လုပ်ဆောင်နိုင်စေမည့် ကိန်းဂဏန်းများကို ဖြစ်ပေါ်စေပါသည်။ ၎င်းကို lexer မှ ဇာတ်ကောင်များ၏ linear sequence ကို linear sequence အဖြစ်သို့ ပြောင်းလဲပေးခြင်းဖြင့် စတင်သည်- ၎င်းကို lexical analysis သို့မဟုတ် lexing ဟုခေါ်သည်။

ဒုတိယ၊ parser သည် တိုကင်များ၏ linear sequence ကို hierarchical syntax tree ဟုခေါ်သည့်အရာကို ပြောင်းသည်။ ဒါကို parsing လို့ ခေါ်တယ်။

တတိယ၊ ဆက်စပ်သုံးသပ်ချက်သည် စစ်ဆေးမှုများနှင့် အမည်အမျိုးအစားများကို ဖြေရှင်းပေးသည်။ ခွဲခြမ်းစိတ်ဖြာခြင်းအဆင့်ကို အပိုင်းနှစ်ပိုင်းခွဲနိုင်သည်- သဒ္ဒါဖြင့်ဆုံးဖြတ်ထားသည့် ကွန်ကရစ်အထားအသိုသစ်ပင် သို့မဟုတ် ခွဲခြမ်းစိတ်ဖြာမှုသစ်ပင် ၊ သို့သော် လက်တွေ့အသုံးပြုရန် အလွန်အသေးစိတ်လွန်းသည်၊ နှင့် ဤအရာကို ပုံစံတစ်ခုအဖြစ် ရိုးရှင်းစေရန် စိတ္တဇအထားအသိုသစ် (AST)၊ အဲဒါက သုံးလို့ရတယ်။

SYNTAX နှင့် SEMANTICS

ဘာသာစကားတစ်ခု၏ syntax သည် မှန်ကန်သောပရိုဂရမ်၏ပုံစံကိုဖော်ပြသည်၊ သို့သော် ၎င်းသည် ပရိုဂရမ်၏အဓိပ္ပာယ် သို့မဟုတ် ထိုပရိုဂရမ်ကိုလုပ်ဆောင်ခြင်းနှင့်အတူပါလာသောရလဒ်များနှင့်ပတ်သက်သည့် မည်သည့်အချက်အလက်ကိုမျှ မပေးပေ။ သင်္ကေတများ ပေါင်းစပ်ခြင်းအတွက် ပေးထားသော အဓိပ္ပါယ်ကို အဓိပ္ပါယ်ဖွင့်ဆိုချက် (အကိုးအကား အကောင်အထည်ဖော်မှုတွင် ခဲယဉ်းသောကုဒ် သို့မဟုတ် တရားဝင်) ဖြင့် ကိုင်တွယ်သည်။ စည်းချက်ညီညီမှန်ကန်သော ပရိုဂရမ်အားလုံးသည် ဝေါဟာရအရ မှန်ကန်သည်မဟုတ်ပါ။ ဘာသာစကား၏ စည်းမျဉ်းများနှင့်အညီ စည်းချက်ညီညီမှန်ကန်သော ပရိုဂရမ်အများအပြားသည် ဆိုးရွားစွာဖွဲ့စည်းထားသော်လည်း၊ နှင့် (ဘာသာစကား သတ်မှတ်ချက်နှင့် အကောင်အထည်ဖော်မှု၏ ခိုင်လုံမှုတို့နှင့်စပ်လျဉ်း၍) အကောင်အထည်ဖော်ခြင်း သို့မဟုတ် ဘာသာပြန်ခြင်းတွင် အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်နိုင်သည်။ အချို့သောအခြေအနေများတွင်၊ ထိုသို့သောပရိုဂရမ်များသည် သတ်မှတ်မထားသောအပြုအမူကို ပြသနိုင်သည်။ ပရိုဂရမ်တစ်ခုသည် ဘာသာစကားတစ်ခုတွင် ကောင်းမွန်စွာသတ်မှတ်ထားသည့်အချိန်များတွင်ပင်၊ ၎င်းသည် ၎င်း၏စာရေးဆရာမှ ရည်ရွယ်ခြင်းမရှိသော အဓိပ္ပါယ်ရှိနေဆဲဖြစ်သည်။

သဘာဝဘာသာစကား၏ ဥပမာတစ်ခုတွင်၊ သဒ္ဒါမှန်ကန်သော ဝါကျတစ်ကြောင်းကို အဓိပ္ပါယ်ဖော်ရန် မဖြစ်နိုင်ပေ။ ဥပမာအားဖြင့်,

Download Primer to continue