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.