Interpreters, compilers, and assemblers
A computer program contains a set of instructions that, once executed by the CPU, tells the computer what to do. We have established that the norm today is for these programs to be written in a high-level language, which ultimately makes it easier to translate them into assembly language. As you learned in the previous chapters, these programs are simple to read and understand for programmers, but not for computers. Only machine language is understood by computers. As you may recall, machine language is made up of binary – that is, ones and zeros. For the computer to interpret these instructions, it needs to understand machine language. Machine language is ultimately derived from the translation of high-level or assembly languages. This is where interpreters, compilers, and assemblers come in. These are tools for translating high-level or assembly-language programs into machine language.
Let's dissect each of these to understand...