No intermediate object code is generated, hence interpreters are memory efficient.Ĭompilers generate intermediate object code which further requires linking, and hence require more memory.Ĭontinues translating the program until the first error is met, in which case it stops. It takes a large amount of time to analyze the source code but the overall execution time is comparatively faster. It takes less amount of time to analyze the source code but the overall execution time is slower. Scans the entire program and translates it as a whole into machine code. Translates program one statement at a time. The difference between an interpreter and a compiler is given below: Interpreter Hence, a compiler or an interpreter is a program that converts program written in high-level language into machine code understood by the computer. We need to convert the source code into machine code and this is accomplished my compilers and interpreters. A program written in high-level language is called a source code. It only understands program written in 0's and 1's in binary, called the machine code. But a computer does not understand high-level language. It contains words and phrases from the English (or other) language. A high-level language is one which is understandable by us humans. We generally write a computer program using a high-level language.