Interpreter යනු Programming Language එකක් Implement කිරීමට ඇති තවත් ක්රමයකි. Compiler එකක මෙන්ම Interpreter එකකදීද, Lexical Analyzing, Parsing හාType-Checking ඇත. නමුත් Syntax tree එකෙන් Code generation කිරීමක් Interpreter එකකදී සිදු නොකෙරේ. ඒ වෙනුවට Expressions Evaluate කිරීමට සහ Statement Execute කිරීමට Syntax tree එක process කිරීම Interpreter එකකදී සිදු කෙරේ.
Interpreter එකකට, Syntax tree එකේ එකම කොටස නැවත නැවත process කිරීමට අවශ්යය. එම නිසා සාමාන්යයෙන් Interpret කිරීම Compile කළ Program එකක් Execute කිරීමට වඩා slow වේ.
Interpreter එකක් ලිවීම Compiler එකක් ලිවීමට වඩා පහසු වන අතර Interpreter එකක් වෙනත් machine එකකට මාරු කිරීම පහසු වේ. එම නිසා speed එක ප්රශ්නයක් නොවන තාක් කල් Interpreters භාවිතා කෙරේ.
Compilation සහ Interpretation එකට සම්බන්ධ කිරීමෙන්ද Programming Languages සාදනු ලැබේ. එහිදී Compiler එක මගින් Intermediate-Level code එකක් Generate කරනු ලැබේ. ඉන්පසු එය Interpreter එක මගින් Machine Language එකට Interpret කරනු ලැබේ. එනම් සම්පූර්ණයෙන් Machine Language එකට Compile නොකර Intermediate Level Code එකක් සාදා එය Run time එකේදී Machine Language එකට Interpret කරයි
Execution එක start කිරීමට පෙර Interpreter එකකට ඇති වැඩ ප්රමාණය අඩුය. එම නිසා program එකක් ඉක්මනින් Run වීමට පටන් ගනී. එමෙන්ම Interpreter එකක් Source Code එකට ආසන්න Representation එකක ක්රියාත්මක වේ. එම නිසා Error Messages විස්තරාත්මකව පෙන්වීමේ හැකියාවද ලැබේ.
No comments:
Post a Comment