It interprets the code on the fly, to tell the CPU what to do.
*It translates the code into a CPU executable binary.
It prepares the code for further processing.
It helps you, to write the code.