A program that translates and runs each instruction of a high-level programming language before it translates and runs the next instruction.