An interpreter is a program that analyzes and executes each line of source code in succession, without looking at the entire program. It directly interprets and executes instructions written in a high level language. The advantage of interpreters is that they can execute a program immediately.