匯編語言與高級程序設計語言都是采用符號表示法的語言,用它們寫的程序不能為計算機所直接理解和接受,因此必須設法讓計算機能理解和接受。最普遍采用的做法是建立一個翻譯程序,由它把符號表示的程序翻譯成等價的、也就是能完成同樣功能的機器語言程序。翻譯之前的程序是源,而翻譯所得的程序是結果。因此,前者稱為源程序,后者稱為結果程序。一般地,翻譯程序是把源程序翻譯成等價的結果程序的程序。寫源程序的語言是源語言,寫結果程序的語言是結果語言。
如果源語言是高級程序設計語言,而結果語言是匯編語言或機器語言,那末這種翻譯程序通常稱為編譯程序。當源語言是匯編語言,而結果語言是機器語言時,通常稱這種翻譯程序為匯編程序。