1.a program that places programs into memory and prepares them for execution
2. a program that automate the translation of assembly language into machine language
3.a program that accepts a program written in a high level language and produces an object program
4.is a program that appears to execute a source program if it were machine language