An interpreter translates one instruction at a time, and then executes that instruction immediately. It directly executes, i.e. performs, instructions written in a programming or scripting language, without previously compiling them into a machine language program.