https://en.wikipedia.org/w/index.php?action=history&feed=atom&title=Programming_language_implementation Programming language implementation - Revision history 2025-05-25T01:21:49Z Revision history for this page on the wiki MediaWiki 1.45.0-wmf.2 https://en.wikipedia.org/w/index.php?title=Programming_language_implementation&diff=1290693415&oldid=prev 37.154.166.127: /* Multiple implementations */ 2025-05-16T12:53:11Z <p><span class="autocomment">Multiple implementations</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 12:53, 16 May 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 29:</td> <td colspan="2" class="diff-lineno">Line 29:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Jython]], an implementation targeting the [[Java virtual machine]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Jython]], an implementation targeting the [[Java virtual machine]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[PyPy]], an implementation designed for speed (written in RPython)</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[PyPy]], an implementation designed for speed (written in RPython)</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Reflist}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Reflist}}</div></td> </tr> </table> 37.154.166.127 https://en.wikipedia.org/w/index.php?title=Programming_language_implementation&diff=1276345341&oldid=prev Annh07: Reverted 2 edits by CLACM (talk): Spam 2025-02-18T08:42:36Z <p>Reverted 2 edits by <a href="/wiki/Special:Contributions/CLACM" title="Special:Contributions/CLACM">CLACM</a> (<a href="/wiki/User_talk:CLACM" title="User talk:CLACM">talk</a>): Spam</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 08:42, 18 February 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 24:</td> <td colspan="2" class="diff-lineno">Line 24:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Multiple implementations==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Multiple implementations==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Programming languages<del style="font-weight: bold; text-decoration: none;">&lt;ref&gt;{{cite web |title=What are Programming Languages |url=https://codelabsacademy.com/en/blog/what-is-a-programming-language?source=wikipedia |website=Code Labs Academy |access-date=2025-02-14}}&lt;/ref&gt;</del> can have multiple implementations. Different implementations can be written in different languages and can use different methods to compile or interpret code. For example, implementations of [[Python (programming language)|Python]] include:{{thinsp}}&lt;ref name="AltPython"&gt;{{cite web |title=Alternative Python Implementations |url=https://www.python.org/download/alternatives/ |website=Python.org |access-date=23 March 2020}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Programming languages can have multiple implementations. Different implementations can be written in different languages and can use different methods to compile or interpret code. For example, implementations of [[Python (programming language)|Python]] include:{{thinsp}}&lt;ref name="AltPython"&gt;{{cite web |title=Alternative Python Implementations |url=https://www.python.org/download/alternatives/ |website=Python.org |access-date=23 March 2020}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[CPython]], the [[reference implementation]] of Python</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[CPython]], the [[reference implementation]] of Python</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[IronPython]], an implementation targeting the [[.NET Framework]] (written in [[C Sharp (programming language)|C#]])</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[IronPython]], an implementation targeting the [[.NET Framework]] (written in [[C Sharp (programming language)|C#]])</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Jython]], an implementation targeting the [[Java virtual machine]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Jython]], an implementation targeting the [[Java virtual machine]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[PyPy]], an implementation designed for speed (written in RPython)</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[PyPy]], an implementation designed for speed (written in RPython)</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Reflist}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Reflist}}</div></td> </tr> </table> Annh07 https://en.wikipedia.org/w/index.php?title=Programming_language_implementation&diff=1276344896&oldid=prev CLACM: /* Multiple implementations */ 2025-02-18T08:38:38Z <p><span class="autocomment">Multiple implementations</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 08:38, 18 February 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 24:</td> <td colspan="2" class="diff-lineno">Line 24:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Multiple implementations==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Multiple implementations==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Programming languages&lt;ref&gt;{{cite web |title=What are Programming Languages |url=https://codelabsacademy.com/en/blog/what-is-a-programming-language |website=Code Labs Academy |access-date=2025-02-14}}&lt;/ref&gt; can have multiple implementations. Different implementations can be written in different languages and can use different methods to compile or interpret code. For example, implementations of [[Python (programming language)|Python]] include:{{thinsp}}&lt;ref name="AltPython"&gt;{{cite web |title=Alternative Python Implementations |url=https://www.python.org/download/alternatives/ |website=Python.org |access-date=23 March 2020}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Programming languages&lt;ref&gt;{{cite web |title=What are Programming Languages |url=https://codelabsacademy.com/en/blog/what-is-a-programming-language<ins style="font-weight: bold; text-decoration: none;">?source=wikipedia</ins> |website=Code Labs Academy |access-date=2025-02-14}}&lt;/ref&gt; can have multiple implementations. Different implementations can be written in different languages and can use different methods to compile or interpret code. For example, implementations of [[Python (programming language)|Python]] include:{{thinsp}}&lt;ref name="AltPython"&gt;{{cite web |title=Alternative Python Implementations |url=https://www.python.org/download/alternatives/ |website=Python.org |access-date=23 March 2020}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[CPython]], the [[reference implementation]] of Python</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[CPython]], the [[reference implementation]] of Python</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[IronPython]], an implementation targeting the [[.NET Framework]] (written in [[C Sharp (programming language)|C#]])</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[IronPython]], an implementation targeting the [[.NET Framework]] (written in [[C Sharp (programming language)|C#]])</div></td> </tr> </table> CLACM https://en.wikipedia.org/w/index.php?title=Programming_language_implementation&diff=1276176782&oldid=prev CLACM: /* Multiple implementations */ - Explained Programming Languages 2025-02-17T09:20:29Z <p><span class="autocomment">Multiple implementations: </span> - Explained Programming Languages</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 09:20, 17 February 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 24:</td> <td colspan="2" class="diff-lineno">Line 24:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Multiple implementations==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Multiple implementations==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Programming languages can have multiple implementations. Different implementations can be written in different languages and can use different methods to compile or interpret code. For example, implementations of [[Python (programming language)|Python]] include:{{thinsp}}&lt;ref name="AltPython"&gt;{{cite web |title=Alternative Python Implementations |url=https://www.python.org/download/alternatives/ |website=Python.org |access-date=23 March 2020}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Programming languages<ins style="font-weight: bold; text-decoration: none;">&lt;ref&gt;{{cite web |title=What are Programming Languages |url=https://codelabsacademy.com/en/blog/what-is-a-programming-language |website=Code Labs Academy |access-date=2025-02-14}}&lt;/ref&gt;</ins> can have multiple implementations. Different implementations can be written in different languages and can use different methods to compile or interpret code. For example, implementations of [[Python (programming language)|Python]] include:{{thinsp}}&lt;ref name="AltPython"&gt;{{cite web |title=Alternative Python Implementations |url=https://www.python.org/download/alternatives/ |website=Python.org |access-date=23 March 2020}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[CPython]], the [[reference implementation]] of Python</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[CPython]], the [[reference implementation]] of Python</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[IronPython]], an implementation targeting the [[.NET Framework]] (written in [[C Sharp (programming language)|C#]])</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[IronPython]], an implementation targeting the [[.NET Framework]] (written in [[C Sharp (programming language)|C#]])</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Jython]], an implementation targeting the [[Java virtual machine]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Jython]], an implementation targeting the [[Java virtual machine]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[PyPy]], an implementation designed for speed (written in RPython)</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[PyPy]], an implementation designed for speed (written in RPython)</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Reflist}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Reflist}}</div></td> </tr> </table> CLACM https://en.wikipedia.org/w/index.php?title=Programming_language_implementation&diff=1263441347&oldid=prev KMaster888: subjective ce 2/2 2024-12-16T17:58:37Z <p>subjective ce 2/2</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 17:58, 16 December 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 17:</td> <td colspan="2" class="diff-lineno">Line 17:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Compiler==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Compiler==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Main|Compiler}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Main|Compiler}}</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>A [[compiler]] translates programs written in one language into another language. Most compilers are organized into three stages: a [[Compiler#Front end|front end]], an [[Compiler#Middle end|optimizer]], and a [[Compiler#Back end|back end]]. The front end is responsible for understanding the program. It makes sure <del style="font-weight: bold; text-decoration: none;">the</del> program is valid and transforms it into an [[intermediate representation]], a data structure used by the compiler to represent the program. The optimizer improves the intermediate representation to increase the speed or reduce the size of the [[executable]] which is ultimately produced by the compiler. The back end converts the optimized intermediate representation into the output language of the compiler.&lt;ref name="EngineeringCompiler"&gt;{{cite book |last1=Cooper |first1=Keith |last2=Torczon |first2=Linda |title=Engineering a Compiler |url=https://archive.org/details/engineeringcompi00coop_143 |url-access=limited |date=7 February 2011 |publisher=Morgan Kaufmann |isbn=9780120884780 |pages=[https://archive.org/details/engineeringcompi00coop_143/page/n238 6]-9 |edition=2nd}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>A [[compiler]] translates programs written in one language into another language. Most compilers are organized into three stages: a [[Compiler#Front end|front end]], an [[Compiler#Middle end|optimizer]], and a [[Compiler#Back end|back end]]. The front end is responsible for understanding the program. It makes sure <ins style="font-weight: bold; text-decoration: none;">a</ins> program is valid and transforms it into an [[intermediate representation]], a data structure used by the compiler to represent the program. The optimizer improves the intermediate representation to increase the speed or reduce the size of the [[executable]] which is ultimately produced by the compiler. The back end converts the optimized intermediate representation into the output language of the compiler.&lt;ref name="EngineeringCompiler"&gt;{{cite book |last1=Cooper |first1=Keith |last2=Torczon |first2=Linda |title=Engineering a Compiler |url=https://archive.org/details/engineeringcompi00coop_143 |url-access=limited |date=7 February 2011 |publisher=Morgan Kaufmann |isbn=9780120884780 |pages=[https://archive.org/details/engineeringcompi00coop_143/page/n238 6]-9 |edition=2nd}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>If a compiler of a given [[high level language]] produces another high level language, it is called a [[Source-to-source compiler|transpiler]]. Transpilers can be used to extend existing languages or to simplify compiler development by exploiting [[Software portability|portable]] and well-optimized implementations of other languages (such as [[C (programming language)|C]]).&lt;ref name="LanguageGreg" /&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>If a compiler of a given [[high level language]] produces another high level language, it is called a [[Source-to-source compiler|transpiler]]. Transpilers can be used to extend existing languages or to simplify compiler development by exploiting [[Software portability|portable]] and well-optimized implementations of other languages (such as [[C (programming language)|C]]).&lt;ref name="LanguageGreg" /&gt;</div></td> </tr> </table> KMaster888 https://en.wikipedia.org/w/index.php?title=Programming_language_implementation&diff=1263441261&oldid=prev KMaster888: subjective ce 2024-12-16T17:57:58Z <p>subjective ce</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 17:57, 16 December 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 17:</td> <td colspan="2" class="diff-lineno">Line 17:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Compiler==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Compiler==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Main|Compiler}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Main|Compiler}}</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>A [[compiler]] translates <del style="font-weight: bold; text-decoration: none;">a program</del> written in one language into another language. Most compilers are organized into three stages: a [[Compiler#Front end|front end]], an [[Compiler#Middle end|optimizer]], and a [[Compiler#Back end|back end]]. The front end is responsible for understanding the program. It makes sure the program is valid and transforms it into an [[intermediate representation]], a data structure used by the compiler to represent the program. The optimizer improves the intermediate representation to increase the speed or reduce the size of the [[executable]] which is ultimately produced by the compiler. The back end converts the optimized intermediate representation into the output language of the compiler.&lt;ref name="EngineeringCompiler"&gt;{{cite book |last1=Cooper |first1=Keith |last2=Torczon |first2=Linda |title=Engineering a Compiler |url=https://archive.org/details/engineeringcompi00coop_143 |url-access=limited |date=7 February 2011 |publisher=Morgan Kaufmann |isbn=9780120884780 |pages=[https://archive.org/details/engineeringcompi00coop_143/page/n238 6]-9 |edition=2nd}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>A [[compiler]] translates <ins style="font-weight: bold; text-decoration: none;">programs</ins> written in one language into another language. Most compilers are organized into three stages: a [[Compiler#Front end|front end]], an [[Compiler#Middle end|optimizer]], and a [[Compiler#Back end|back end]]. The front end is responsible for understanding the program. It makes sure the program is valid and transforms it into an [[intermediate representation]], a data structure used by the compiler to represent the program. The optimizer improves the intermediate representation to increase the speed or reduce the size of the [[executable]] which is ultimately produced by the compiler. The back end converts the optimized intermediate representation into the output language of the compiler.&lt;ref name="EngineeringCompiler"&gt;{{cite book |last1=Cooper |first1=Keith |last2=Torczon |first2=Linda |title=Engineering a Compiler |url=https://archive.org/details/engineeringcompi00coop_143 |url-access=limited |date=7 February 2011 |publisher=Morgan Kaufmann |isbn=9780120884780 |pages=[https://archive.org/details/engineeringcompi00coop_143/page/n238 6]-9 |edition=2nd}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>If a compiler of a given [[high level language]] produces another high level language, it is called a [[Source-to-source compiler|transpiler]]. Transpilers can be used to extend existing languages or to simplify compiler development by exploiting [[Software portability|portable]] and well-optimized implementations of other languages (such as [[C (programming language)|C]]).&lt;ref name="LanguageGreg" /&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>If a compiler of a given [[high level language]] produces another high level language, it is called a [[Source-to-source compiler|transpiler]]. Transpilers can be used to extend existing languages or to simplify compiler development by exploiting [[Software portability|portable]] and well-optimized implementations of other languages (such as [[C (programming language)|C]]).&lt;ref name="LanguageGreg" /&gt;</div></td> </tr> </table> KMaster888 https://en.wikipedia.org/w/index.php?title=Programming_language_implementation&diff=1249720784&oldid=prev ShelfSkewed: Undid revision 1236778776 by 2409:4052:6DB8:5BD5:0:0:A4C8:2214 (talk) 2024-10-06T13:46:07Z <p>Undid revision <a href="/wiki/Special:Diff/1236778776" title="Special:Diff/1236778776">1236778776</a> by <a href="/wiki/Special:Contributions/2409:4052:6DB8:5BD5:0:0:A4C8:2214" title="Special:Contributions/2409:4052:6DB8:5BD5:0:0:A4C8:2214">2409:4052:6DB8:5BD5:0:0:A4C8:2214</a> (<a href="/w/index.php?title=User_talk:2409:4052:6DB8:5BD5:0:0:A4C8:2214&amp;action=edit&amp;redlink=1" class="new" title="User talk:2409:4052:6DB8:5BD5:0:0:A4C8:2214 (page does not exist)">talk</a>)</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 13:46, 6 October 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 12:</td> <td colspan="2" class="diff-lineno">Line 12:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>A [[virtual machine]] is a special type of interpreter that interprets bytecode.&lt;ref name="LanguageGreg" /&gt; Bytecode is a [[Cross-platform software|portable]] low-level code similar to machine code, though it is generally executed on a virtual machine instead of a physical machine.&lt;ref name="MakeUseOfVM"&gt;{{cite web |last1=Sridhar |first1=Jay |title=Why the Java Virtual Machine Helps Your Code Run Better |url=https://www.makeuseof.com/tag/why-java-virtual-machine-code-run-better/ |date=Aug 29, 2017 |website=MakeUseOf |access-date=22 March 2020}}&lt;/ref&gt; To improve their efficiencies, many programming languages such as [[Java (programming language)|Java]],&lt;ref name="MakeUseOfVM" /&gt; [[Python (programming language)|Python]],&lt;ref name="PythonBytecode"&gt;{{cite web |last1=Bennett |first1=James |title=An introduction to Python bytecode |url=https://opensource.com/article/18/4/introduction-python-bytecode |date=April 23, 2018 |website=Opensource.com |access-date=22 March 2020}}&lt;/ref&gt; and [[C Sharp (programming language)|C#]]&lt;ref name="CLR"&gt;{{cite web |last1=Ali |first1=Mirza Farrukh |title=Common Language Runtime(CLR) DotNet |url=https://medium.com/@mirzafarrukh13/common-language-runtime-dotnet-83e0218edcae |date=Oct 12, 2017 |website=Medium |access-date=22 March 2020}}&lt;/ref&gt; are compiled to bytecode before being interpreted.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>A [[virtual machine]] is a special type of interpreter that interprets bytecode.&lt;ref name="LanguageGreg" /&gt; Bytecode is a [[Cross-platform software|portable]] low-level code similar to machine code, though it is generally executed on a virtual machine instead of a physical machine.&lt;ref name="MakeUseOfVM"&gt;{{cite web |last1=Sridhar |first1=Jay |title=Why the Java Virtual Machine Helps Your Code Run Better |url=https://www.makeuseof.com/tag/why-java-virtual-machine-code-run-better/ |date=Aug 29, 2017 |website=MakeUseOf |access-date=22 March 2020}}&lt;/ref&gt; To improve their efficiencies, many programming languages such as [[Java (programming language)|Java]],&lt;ref name="MakeUseOfVM" /&gt; [[Python (programming language)|Python]],&lt;ref name="PythonBytecode"&gt;{{cite web |last1=Bennett |first1=James |title=An introduction to Python bytecode |url=https://opensource.com/article/18/4/introduction-python-bytecode |date=April 23, 2018 |website=Opensource.com |access-date=22 March 2020}}&lt;/ref&gt; and [[C Sharp (programming language)|C#]]&lt;ref name="CLR"&gt;{{cite web |last1=Ali |first1=Mirza Farrukh |title=Common Language Runtime(CLR) DotNet |url=https://medium.com/@mirzafarrukh13/common-language-runtime-dotnet-83e0218edcae |date=Oct 12, 2017 |website=Medium |access-date=22 March 2020}}&lt;/ref&gt; are compiled to bytecode before being interpreted.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>===<del style="font-weight: bold; text-decoration: none;">[[</del>Just<del style="font-weight: bold; text-decoration: none;">]]</del>-in-time compiler===</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>===Just-in-time compiler===</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Some virtual machines include a [[just-in-time compilation|just-in-time (JIT) compiler]] to improve the efficiency of bytecode execution. While the bytecode is being executed by the virtual machine, if the JIT compiler determines that a portion of the bytecode will be used repeatedly, it compiles that particular portion to machine code. The JIT compiler then stores the machine code in [[Random-access memory|memory]] so that it can be used by the virtual machine. JIT compilers try to strike a balance between longer compilation time and faster execution time.&lt;ref name="LanguageGreg" /&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Some virtual machines include a [[just-in-time compilation|just-in-time (JIT) compiler]] to improve the efficiency of bytecode execution. While the bytecode is being executed by the virtual machine, if the JIT compiler determines that a portion of the bytecode will be used repeatedly, it compiles that particular portion to machine code. The JIT compiler then stores the machine code in [[Random-access memory|memory]] so that it can be used by the virtual machine. JIT compilers try to strike a balance between longer compilation time and faster execution time.&lt;ref name="LanguageGreg" /&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> ShelfSkewed https://en.wikipedia.org/w/index.php?title=Programming_language_implementation&diff=1236778776&oldid=prev 2409:4052:6DB8:5BD5:0:0:A4C8:2214 at 13:32, 26 July 2024 2024-07-26T13:32:41Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 13:32, 26 July 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 12:</td> <td colspan="2" class="diff-lineno">Line 12:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>A [[virtual machine]] is a special type of interpreter that interprets bytecode.&lt;ref name="LanguageGreg" /&gt; Bytecode is a [[Cross-platform software|portable]] low-level code similar to machine code, though it is generally executed on a virtual machine instead of a physical machine.&lt;ref name="MakeUseOfVM"&gt;{{cite web |last1=Sridhar |first1=Jay |title=Why the Java Virtual Machine Helps Your Code Run Better |url=https://www.makeuseof.com/tag/why-java-virtual-machine-code-run-better/ |date=Aug 29, 2017 |website=MakeUseOf |access-date=22 March 2020}}&lt;/ref&gt; To improve their efficiencies, many programming languages such as [[Java (programming language)|Java]],&lt;ref name="MakeUseOfVM" /&gt; [[Python (programming language)|Python]],&lt;ref name="PythonBytecode"&gt;{{cite web |last1=Bennett |first1=James |title=An introduction to Python bytecode |url=https://opensource.com/article/18/4/introduction-python-bytecode |date=April 23, 2018 |website=Opensource.com |access-date=22 March 2020}}&lt;/ref&gt; and [[C Sharp (programming language)|C#]]&lt;ref name="CLR"&gt;{{cite web |last1=Ali |first1=Mirza Farrukh |title=Common Language Runtime(CLR) DotNet |url=https://medium.com/@mirzafarrukh13/common-language-runtime-dotnet-83e0218edcae |date=Oct 12, 2017 |website=Medium |access-date=22 March 2020}}&lt;/ref&gt; are compiled to bytecode before being interpreted.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>A [[virtual machine]] is a special type of interpreter that interprets bytecode.&lt;ref name="LanguageGreg" /&gt; Bytecode is a [[Cross-platform software|portable]] low-level code similar to machine code, though it is generally executed on a virtual machine instead of a physical machine.&lt;ref name="MakeUseOfVM"&gt;{{cite web |last1=Sridhar |first1=Jay |title=Why the Java Virtual Machine Helps Your Code Run Better |url=https://www.makeuseof.com/tag/why-java-virtual-machine-code-run-better/ |date=Aug 29, 2017 |website=MakeUseOf |access-date=22 March 2020}}&lt;/ref&gt; To improve their efficiencies, many programming languages such as [[Java (programming language)|Java]],&lt;ref name="MakeUseOfVM" /&gt; [[Python (programming language)|Python]],&lt;ref name="PythonBytecode"&gt;{{cite web |last1=Bennett |first1=James |title=An introduction to Python bytecode |url=https://opensource.com/article/18/4/introduction-python-bytecode |date=April 23, 2018 |website=Opensource.com |access-date=22 March 2020}}&lt;/ref&gt; and [[C Sharp (programming language)|C#]]&lt;ref name="CLR"&gt;{{cite web |last1=Ali |first1=Mirza Farrukh |title=Common Language Runtime(CLR) DotNet |url=https://medium.com/@mirzafarrukh13/common-language-runtime-dotnet-83e0218edcae |date=Oct 12, 2017 |website=Medium |access-date=22 March 2020}}&lt;/ref&gt; are compiled to bytecode before being interpreted.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>===Just-in-time compiler===</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>===<ins style="font-weight: bold; text-decoration: none;">[[</ins>Just<ins style="font-weight: bold; text-decoration: none;">]]</ins>-in-time compiler===</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Some virtual machines include a [[just-in-time compilation|just-in-time (JIT) compiler]] to improve the efficiency of bytecode execution. While the bytecode is being executed by the virtual machine, if the JIT compiler determines that a portion of the bytecode will be used repeatedly, it compiles that particular portion to machine code. The JIT compiler then stores the machine code in [[Random-access memory|memory]] so that it can be used by the virtual machine. JIT compilers try to strike a balance between longer compilation time and faster execution time.&lt;ref name="LanguageGreg" /&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Some virtual machines include a [[just-in-time compilation|just-in-time (JIT) compiler]] to improve the efficiency of bytecode execution. While the bytecode is being executed by the virtual machine, if the JIT compiler determines that a portion of the bytecode will be used repeatedly, it compiles that particular portion to machine code. The JIT compiler then stores the machine code in [[Random-access memory|memory]] so that it can be used by the virtual machine. JIT compilers try to strike a balance between longer compilation time and faster execution time.&lt;ref name="LanguageGreg" /&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> 2409:4052:6DB8:5BD5:0:0:A4C8:2214 https://en.wikipedia.org/w/index.php?title=Programming_language_implementation&diff=1217195259&oldid=prev Ula993: remove comma 2024-04-04T11:28:18Z <p>remove comma</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 11:28, 4 April 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 3:</td> <td colspan="2" class="diff-lineno">Line 3:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In [[computer programming]], a '''programming language implementation''' is a system for executing [[computer programs]]. There are two general approaches to programming language implementation:&lt;ref name="RantaBook"&gt;{{cite book |last1=Ranta |first1=Aarne |title=Implementing Programming Languages |date=February 6, 2012 |publisher=College Publications |isbn=9781848900646 |pages=16–18 |url=http://www.cse.chalmers.se/edu/year/2012/course/DAT150/lectures/plt-book.pdf#page=16 |access-date=22 March 2020 |url-status=live |archive-url=https://web.archive.org/web/20201107224313/http://www.cse.chalmers.se/edu/year/2012/course/DAT150/lectures/plt-book.pdf#page=16 |archive-date= Nov 7, 2020 }}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In [[computer programming]], a '''programming language implementation''' is a system for executing [[computer programs]]. There are two general approaches to programming language implementation:&lt;ref name="RantaBook"&gt;{{cite book |last1=Ranta |first1=Aarne |title=Implementing Programming Languages |date=February 6, 2012 |publisher=College Publications |isbn=9781848900646 |pages=16–18 |url=http://www.cse.chalmers.se/edu/year/2012/course/DAT150/lectures/plt-book.pdf#page=16 |access-date=22 March 2020 |url-status=live |archive-url=https://web.archive.org/web/20201107224313/http://www.cse.chalmers.se/edu/year/2012/course/DAT150/lectures/plt-book.pdf#page=16 |archive-date= Nov 7, 2020 }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*''[[Interpreter (computing)|Interpretation]]:'' The program is read as input by an interpreter, which performs the actions written in the program.&lt;ref name="LanguageGreg"&gt;{{cite web |last1=Baker |first1=Greg |title=Language Implementations |url=https://www2.cs.sfu.ca/~ggbaker/prog-langs/content/lang-implement.html |website=Computing Science - Simon Fraser University |access-date=22 March 2020 |url-status=live |archive-url= https://web.archive.org/web/20190308033517/http://www.cs.sfu.ca/~ggbaker/prog-langs/content/lang-implement.html |archive-date= Mar 8, 2019 }}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*''[[Interpreter (computing)|Interpretation]]:'' The program is read as input by an interpreter, which performs the actions written in the program.&lt;ref name="LanguageGreg"&gt;{{cite web |last1=Baker |first1=Greg |title=Language Implementations |url=https://www2.cs.sfu.ca/~ggbaker/prog-langs/content/lang-implement.html |website=Computing Science - Simon Fraser University |access-date=22 March 2020 |url-status=live |archive-url= https://web.archive.org/web/20190308033517/http://www.cs.sfu.ca/~ggbaker/prog-langs/content/lang-implement.html |archive-date= Mar 8, 2019 }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>*''[[Compiler|Compilation]]:'' The program is read by a compiler, which translates it into some other language, such as [[bytecode]] or [[machine code]]. The translated code may either be directly [[Execution (computing)|executed]] by hardware<del style="font-weight: bold; text-decoration: none;">,</del> or serve as input to another interpreter or another compiler.&lt;ref name="LanguageGreg" /&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>*''[[Compiler|Compilation]]:'' The program is read by a compiler, which translates it into some other language, such as [[bytecode]] or [[machine code]]. The translated code may either be directly [[Execution (computing)|executed]] by hardware or serve as input to another interpreter or another compiler.&lt;ref name="LanguageGreg" /&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Interpreter==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Interpreter==</div></td> </tr> </table> Ula993 https://en.wikipedia.org/w/index.php?title=Programming_language_implementation&diff=1192582514&oldid=prev HeyElliott: Category:CS1 maint: location missing publisher, added archives, ce 2023-12-30T04:49:08Z <p><a href="/wiki/Category:CS1_maint:_location_missing_publisher" title="Category:CS1 maint: location missing publisher">Category:CS1 maint: location missing publisher</a>, added archives, ce</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 04:49, 30 December 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{short description|System for executing computer programs}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{short description|System for executing computer programs}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>In [[computer programming]], a '''programming language implementation''' is a system for executing [[computer programs]]. There are two general approaches to programming language implementation:&lt;ref name="RantaBook"&gt;{{cite book |last1=Ranta |first1=Aarne |title=Implementing Programming Languages |date=<del style="font-weight: bold; text-decoration: none;">9</del> <del style="font-weight: bold; text-decoration: none;">May</del> 2012 |publisher=College Publications |isbn=9781848900646 |pages=16–18 |url=http://www.cse.chalmers.se/edu/year/2012/course/DAT150/lectures/plt-book.pdf#page=16 |access-date=22 March 2020}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>In [[computer programming]], a '''programming language implementation''' is a system for executing [[computer programs]]. There are two general approaches to programming language implementation:&lt;ref name="RantaBook"&gt;{{cite book |last1=Ranta |first1=Aarne |title=Implementing Programming Languages |date=<ins style="font-weight: bold; text-decoration: none;">February</ins> <ins style="font-weight: bold; text-decoration: none;">6,</ins> 2012 |publisher=College Publications |isbn=9781848900646 |pages=16–18 |url=http://www.cse.chalmers.se/edu/year/2012/course/DAT150/lectures/plt-book.pdf#page=16 |access-date=22 March 2020<ins style="font-weight: bold; text-decoration: none;"> |url-status=live |archive-url=https://web.archive.org/web/20201107224313/http://www.cse.chalmers.se/edu/year/2012/course/DAT150/lectures/plt-book.pdf#page=16 |archive-date= Nov 7, 2020 </ins>}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>*''[[Interpreter (computing)|Interpretation]]:'' The program is read as input by an interpreter, which performs the actions written in the program.&lt;ref name="LanguageGreg"&gt;{{cite web |last1=Baker |first1=Greg |title=Language Implementations |url=https://www2.cs.sfu.ca/~ggbaker/prog-langs/content/lang-implement.html |website=Computing Science - Simon Fraser University |access-date=22 March 2020}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>*''[[Interpreter (computing)|Interpretation]]:'' The program is read as input by an interpreter, which performs the actions written in the program.&lt;ref name="LanguageGreg"&gt;{{cite web |last1=Baker |first1=Greg |title=Language Implementations |url=https://www2.cs.sfu.ca/~ggbaker/prog-langs/content/lang-implement.html |website=Computing Science - Simon Fraser University |access-date=22 March 2020<ins style="font-weight: bold; text-decoration: none;"> |url-status=live |archive-url= https://web.archive.org/web/20190308033517/http://www.cs.sfu.ca/~ggbaker/prog-langs/content/lang-implement.html |archive-date= Mar 8, 2019 </ins>}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*''[[Compiler|Compilation]]:'' The program is read by a compiler, which translates it into some other language, such as [[bytecode]] or [[machine code]]. The translated code may either be directly [[Execution (computing)|executed]] by hardware, or serve as input to another interpreter or another compiler.&lt;ref name="LanguageGreg" /&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*''[[Compiler|Compilation]]:'' The program is read by a compiler, which translates it into some other language, such as [[bytecode]] or [[machine code]]. The translated code may either be directly [[Execution (computing)|executed]] by hardware, or serve as input to another interpreter or another compiler.&lt;ref name="LanguageGreg" /&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Interpreter==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Interpreter==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Main|Interpreter (computing)}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Main|Interpreter (computing)}}</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>An [[interpreter (computing)|interpreter]] is composed of two parts: a [[parser]] and an [[evaluator]]. After a program is read as input by an interpreter, it is processed by the parser. The parser breaks the program into [[Syntax (programming languages)|language components]] to form a [[parse tree]]. The evaluator then uses the parse tree to execute the program.&lt;ref name="IntroToComputing"&gt;{{cite book |last1=Evans |first1=David |title=Introduction to Computing |date=19 August 2011 |<del style="font-weight: bold; text-decoration: none;">location</del>=University of Virginia |page=211 |url=https://computingbook.org/FullText.pdf#page=221 |access-date=22 March 2020}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>An [[interpreter (computing)|interpreter]] is composed of two parts: a [[parser]] and an [[evaluator]]. After a program is read as input by an interpreter, it is processed by the parser. The parser breaks the program into [[Syntax (programming languages)|language components]] to form a [[parse tree]]. The evaluator then uses the parse tree to execute the program.&lt;ref name="IntroToComputing"&gt;{{cite book |last1=Evans |first1=David |title=Introduction to Computing |date=19 August 2011 |<ins style="font-weight: bold; text-decoration: none;">publisher</ins>=University of Virginia |page=211 |url=https://computingbook.org/FullText.pdf#page=221 |access-date=22 March 2020}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===Virtual machine===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===Virtual machine===</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>A [[virtual machine]] is a special type of interpreter that interprets bytecode.&lt;ref name="LanguageGreg" /&gt; Bytecode is a [[Cross-platform software|portable]] low-level code similar to machine code, though it is generally executed on a virtual machine instead of a physical machine.&lt;ref name="MakeUseOfVM"&gt;{{cite web |last1=Sridhar |first1=Jay |title=Why the Java Virtual Machine Helps Your Code Run Better |url=https://www.makeuseof.com/tag/why-java-virtual-machine-code-run-better/ |website=MakeUseOf |access-date=22 March 2020}}&lt;/ref&gt; To improve their efficiencies, many programming languages such as [[Java (programming language)|Java]],&lt;ref name="MakeUseOfVM" /&gt; [[Python (programming language)|Python]],&lt;ref name="PythonBytecode"&gt;{{cite web |last1=Bennett |first1=James |title=An introduction to Python bytecode |url=https://opensource.com/article/18/4/introduction-python-bytecode |website=Opensource.com |access-date=22 March 2020}}&lt;/ref&gt; and [[C Sharp (programming language)|C#]]&lt;ref name="CLR"&gt;{{cite web |last1=Ali |first1=Mirza Farrukh |title=Common Language Runtime(CLR) DotNet |url=https://medium.com/@mirzafarrukh13/common-language-runtime-dotnet-83e0218edcae |website=Medium |access-date=22 March 2020}}&lt;/ref&gt; are compiled to bytecode before being interpreted.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>A [[virtual machine]] is a special type of interpreter that interprets bytecode.&lt;ref name="LanguageGreg" /&gt; Bytecode is a [[Cross-platform software|portable]] low-level code similar to machine code, though it is generally executed on a virtual machine instead of a physical machine.&lt;ref name="MakeUseOfVM"&gt;{{cite web |last1=Sridhar |first1=Jay |title=Why the Java Virtual Machine Helps Your Code Run Better |url=https://www.makeuseof.com/tag/why-java-virtual-machine-code-run-better/<ins style="font-weight: bold; text-decoration: none;"> |date=Aug 29, 2017</ins> |website=MakeUseOf |access-date=22 March 2020}}&lt;/ref&gt; To improve their efficiencies, many programming languages such as [[Java (programming language)|Java]],&lt;ref name="MakeUseOfVM" /&gt; [[Python (programming language)|Python]],&lt;ref name="PythonBytecode"&gt;{{cite web |last1=Bennett |first1=James |title=An introduction to Python bytecode |url=https://opensource.com/article/18/4/introduction-python-bytecode<ins style="font-weight: bold; text-decoration: none;"> |date=April 23, 2018</ins> |website=Opensource.com |access-date=22 March 2020}}&lt;/ref&gt; and [[C Sharp (programming language)|C#]]&lt;ref name="CLR"&gt;{{cite web |last1=Ali |first1=Mirza Farrukh |title=Common Language Runtime(CLR) DotNet |url=https://medium.com/@mirzafarrukh13/common-language-runtime-dotnet-83e0218edcae<ins style="font-weight: bold; text-decoration: none;"> |date=Oct 12, 2017</ins> |website=Medium |access-date=22 March 2020}}&lt;/ref&gt; are compiled to bytecode before being interpreted.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===Just-in-time compiler===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===Just-in-time compiler===</div></td> </tr> </table> HeyElliott