Can You Tell Me Everything About Compilers & Interpreters? Something similar could be said of an interpreter. For instance, it may include a linker: a program that combines different object files in one file, so that it can be more easily used.
What you, as a user, think as a compiler may actually include more than one program. Which also lead to another issue, a compiler and an interpreter should not be thought as one program, but more of a group of programs, a system. You might say both: a language is first compiled in an intermediate form/language and then this intermediate thing is interpreted at run time. This naturally lead to the some questions:Īre all languages that use a virtual machine interpreted? That is what usually happens with a language that relies on a virtual machine. In fact an interpreter could translate the source language in a intermediate form, to speed up execution. If you dig deeper, though, you find some blurring between the two. compiler is a program that transforms source code in a low(er)-level language.interpreter is a program that directly executes instructions written in a programming language.According to their definitions, the difference between a compiler and an interpreter seems clear enough: