C++ ကိုအေျခခံေရးထားေပမဲ့၊ တျခား third generation languages မ်ားျဖင့္လဲ implement လုပ္ႏိုင္ပါတယ္။ scripting language မ်ားႏွင့္ေတာ့ implement လုပ္ရန္ recommend မလုပ္ပါ။ Simplest Programming Language
ခု language အသစ္တခုဘယ္လို ေရးရမလဲဆိုတာ ေလ့လာဖို႕ ကၽြန္ေတာ္တို႕ ကမၻာေပၚမွာ အရိုးရွင္းဆုံး language တခုကို စေရးၾကည့္ရေအာင္။ ကၽြန္ေတာ္တို႕ language မွာ Op-code ၂ခုဘဲပါပါမယ္။ TALK နဲ႔ END ပါ။ ကိုယ္က TALK လို႔ေရးလိုက္ရင္ computer က "Hello, I am simplest language!" လို႔ screen ေပၚမွာ ေရးျပပါမယ္။ END လို႔ေရးလိုက္ရင္ program က exit ထြက္ပါတယ္။ ကဲ ဒီေလာက္လြယ္တဲ့ language ေလးကိုဘဲ နမူနာအေနနဲ႔ စမ္းေရးၾကည့္ရေအာင္။
Note: Op-code ဆိုတာ Assembler မွာ execute လုပ္ႏိုင္တဲ့ single instruction ပါ။ Assembly ရဲ႕ syntax က high-level language ေတြနဲ႔မတူပါဘူး။ သူမွာ Op-code ေတြကိုတန္းစီၿပီး ေရးရပါတယ္။ Op-code တခုမွာ အမ်ားအားျဖင့္ parameter သုည၊ တခု (သို႕) ႏွစ္ခုပါတတ္ပါတယ္။ ဥပမာ၊ 3 နဲ႔ 4 ေပါင္းတာ (3+4) ကို pseudo assembly နဲ႔ေအာက္ကလို ေရးပါတယ္။
1: PUSH 3
2: PUSH 4
3: ADD
4: POP
ကဲ၊ ခုကၽြန္ေတာ္တို႔ရဲ႕ simplest language ဆီျပန္သြားရေအာင္ Smile ကၽြန္ေတာ္တို႔ရဲ႕ Op-code ၂ ခုကို define လုပ္လိုက္ပါ။
Code
Code:
enum OpCode {
OP_TALK,
OP_END
};
Op-code တခုခ်င္းဆီကို store လုပ္ဖို႔ Instruction ဆိုတဲ့ class တခုေဆာက္လိုက္ပါမယ္။ ဒါမွ Op-code တခုခ်င္းဆီနဲ႔ သက္ဆိုင္တဲ့ data ေတြကိုပါ တပါတည္း သိမ္းထားလို႔ရမွာ။
Code
Code:
class Instruction {
public:
OpCode code;
Instruction(OpCode _c) : code(_c) { };
};
ေလာေလာဆယ္ေတာ့ OpCode ဆိုတဲ့ data field တခုဘဲရွိပါေသးတယ္။ ဘာလို႕လဲဆိုေတာ့ ခုကၽြန္ေတာ္တို႕ေရးေနတာ simplest language ေလ Smile Parameter ေတြပါထည့္ေရးခ်င္ရင္ ဒီ Instruction class မွာဘဲ member data ေတြထပ္တိုးလိုက္ရုံပါဘဲ။