The border between a compiler and an interpreter has become
more and more blurred. Quoting from wikipedia:
An interpreter is a computer program that directly executes,
i.e. performs, instructions written in a programming or
scripting language, without previously compiling them into
a machine language program. An interpreter generally uses
one of the following strategies for program execution:
- parse the source code and perform its behavior directly.
- translate source code into some efficient intermediate representation and immediately execute this.
- explicitly execute stored precompiled code made by a compiler which is part of the interpreter system.
In contrast, a compiler transforms source code written in
a programming language (the source language) into another
computer language (the target language), with the latter
often having a binary form known as object code and being
directly executable by the underlying hardware.
These days some high-level languages are converted (compiled)
into an intermediate code, a machine code for a machine that
does not actually exist, but which is then interpreted by
an emulator. Sometimes the conversion to the intermediate
code is done on-the-fly and/or on demand.
Next: BackendWebFramework
Lower level: |
Root node:
|
Higher level: |
Links to this page /
Page history /
Last change to this page
Recent changes /
Edit this page (with sufficient authority)
All pages /
Search /
Change password /
Logout