10 Jan
Programming Basic – Part 03 – අවසාන කොටස
ඇල්ගොරිතමයට අදාල පරිගණක ක්රමලේඛය ගොඩනැගීම
ගැටලුවට අදාල ඇල්ගොරිතමය නිර්මාණය කරාට පස්සෙ එය පරිගණකය තුළ ක්රියාත්මක කල යුතු වේ. ඒ කියන්නෙ ඇල්ගොරිතමයේ එක් එක් පියවරයන් උපදෙස් බවට පරිවර්තනය කරන්න ඕනෙ.
Computer එකට තෙරුම් ගන්න පුලුවන් වෙන්න උපදෙස් දෙන්න නම් අපිට computer language එකක් ඕනෙ කරනව.
Computer එකක් කියන්නෙත් digital electronic device එකක් නිසා computer එකට තේරුම් ගන්න පුලුවන් වෙන්නෙ 1 සහ 0 විදිහට ලබා දෙන උපදෙස් විතරයි.
මේ විදිහට computer එකට සෘජුවම තේරුම් ගන්නට පුලුවන් 1 හා 0 මගින් සමන්විත භාෂාවන්ට අපි කියනව යන්ත්ර භාෂාවන්, එහෙමත් නැත්තන් Machine language කියල.
ඒත් ඉතින් මේ Machine language එකෙන් program හදන එක වගේම තේරුම් ගන්න එකත් අපිට ගොඩක් දුෂ්කර වැඩක්. ඒ හින්දම මිනිසාට තේරුම් ගන්න පුලුවන් language එකකින් computer program හදල, ඒ හදපු වැඩසටහන් Machine Language එකට පරිවර්තනය (translate) කරන්නට ඕනෙ.
Machine language එකෙන් හැර වෙනත් ඕනෙම භාෂාවකින් ලියපු computer program එකක් Machine Language එකට translate කරන්න language translators යොදා ගන්නව.
මිනිසාට තේරුම් ගන්නට පුලුවන්, මිනිසා විසින් ලියපු, පරිවර්තනය නොකල කේතයට අපි ප්රභව කේතය එහෙමත් නැත්තන් මූල කේතය (Source Code ) කියල කියනව.
මේ විදිහට computer language translate කරන්නට භාවිතා කරන computer language translator software ප්රධාන වර්ග 3ක් තියනව.
**ඇසෙම්බ්ලර් (Assembler)
**අර්ථ වින්යාසක (Interpreter)
**සම්පාදක (Compiler)
*දෙමුහුන් ප්රවේශය (Hybrid Approach)
**අර්ථ වින්යාසක (Interpreter)
**සම්පාදක (Compiler)
*දෙමුහුන් ප්රවේශය (Hybrid Approach)
ඇසෙම්බ්ලර් (Assembler) :-
Assembly කියන language එකෙන් ලියවිලා තියන Source Code එකක් machine language එකට translate කරන්න Assembler එක භාවිතා කරනව.
Assembly කියන language එකෙන් ලියවිලා තියන Source Code එකක් machine language එකට translate කරන්න Assembler එක භාවිතා කරනව.
අර්ථ වින්යාසක (Interpreter) :-
අර්ථ වින්යාසකයක්, Source Code එක පේළියෙන් පේළියට කියවලා ඒ කියවපු පේළිය පරිවර්ථනය කරල ක්රියාත්මක කරනව.
අර්ථ වින්යාසකයක්, Source Code එක පේළියෙන් පේළියට කියවලා ඒ කියවපු පේළිය පරිවර්ථනය කරල ක්රියාත්මක කරනව.
මේකෙදි Source Code එකේ කිසියම් කාරක දෝෂයක් (Syntax Error) තියනව නම් ඒ error එක තියන තැනින් පරිවර්ථනය වෙන එක වගේම ක්රියාත්මක වෙන එකත් නැවතිලා error එකට අදාල තොරතුරු පෙන්වනව.
සම්පාදක (Compiler) :-
සම්පාදකයක්, Source Code එක සම්පූර්ණයෙන්ම කියවා code එකේ syntax error එකක් නැත්තන් source code එකට අදාල වස්තු කේත ගොනුව එහෙමත් නැත්තන් විෂය ක්රමලේඛය (object code) එක නිර්මාණය කරනු ලබනවා.
සම්පාදකයක්, Source Code එක සම්පූර්ණයෙන්ම කියවා code එකේ syntax error එකක් නැත්තන් source code එකට අදාල වස්තු කේත ගොනුව එහෙමත් නැත්තන් විෂය ක්රමලේඛය (object code) එක නිර්මාණය කරනු ලබනවා.
මෙන්න මේ ක්රියාවලියට අපි සම්පාදනය (compile) කියල කියනව.
Source code එකෙහි syntax error තියනව නම් Object code එක නිර්මාණය නොවෙන අතර අදාල error එක පිළිබදව තොරතුරු පෙන්වනව.
මොකක්ද මේ වස්තු කේත් ගොනුව එහෙමත් නැත්තන් Object Code එක කියන්නෙ.
Object code එක කියන්නෙ computer එකෙන් run කරන්නට පුලුවන් Machine language එකෙන් නිර්මාණය උන ගොනුවට.
දෙමුහුන් ප්රවේශය (Hybrid Approach) :-
සමහර Computer language වල Compiler සහ Interpreter දෙකේම සංකලනයක් භාවිතා කරල පරිවර්ථනය සිදු කරනු ලබනවා. Compiler එක මගින් Source code එක අතරමැදි භාෂාවකට පරිවර්ථනය කරන අතර Interpreter එක මගින් ඒ අතරමැදි ගොනුව computer එකේ run කරවනු ලබනවා.
සමහර Computer language වල Compiler සහ Interpreter දෙකේම සංකලනයක් භාවිතා කරල පරිවර්ථනය සිදු කරනු ලබනවා. Compiler එක මගින් Source code එක අතරමැදි භාෂාවකට පරිවර්ථනය කරන අතර Interpreter එක මගින් ඒ අතරමැදි ගොනුව computer එකේ run කරවනු ලබනවා.
Compiler එකේ හා Interpreter එකේ සංකලනයක් භාවිතා කරල නිර්මාණය කරගන්න අතරමැදි භාෂාවකින් ලියවුනු file එක ඕනෑම Operating System එකක run කිරීමේ හැකියාව පවතිනව.
පරිගණක භාෂා පරිණාමය
පරිගණක භාෂා පරිණාමය අනුව භාෂා පරම්පරා 4කි.
1. පළමු පරම්පරාව.
2. දෙවන පරම්පරාව.
3. තෙවන පරම්පරාව.
4. සිව්වන පරම්පරාව.
1. පළමු පරම්පරාව.
2. දෙවන පරම්පරාව.
3. තෙවන පරම්පරාව.
4. සිව්වන පරම්පරාව.
පළවෙනි සහ දෙවනි පරම්පරාවල භාෂාවන් පොදුවේ පහල මට්ටමේ භාෂාවන් (Low Level Languages) කියල හදුන්වනවා.
පහළ මට්ටමේ භාෂාවන් යන්ත්ර මත යැපෙන භාෂාවන් වෙනව.
තෙවන සහ සිව්වන පරම්පරාවල භාෂාවන් පොදුවේ උසස් මට්ටමේ භාෂාවන් (High Level Languages) කියල හදුන්වනවා.
උසස් මට්ටමේ භාෂාවන් යන්ත්ර මත නොයැපේ.
Compiled by: Yasas Sadeepa