編譯程序的作用是:將進階語言源程序翻譯成目標程序,並翻譯成等價的機器語言格式目標程序的翻譯程序,屬於採用生成性實現途徑實現的翻譯程序。
編譯程序以進階程序設計語言書寫的源程序作爲輸入,而以彙編語言或機器語言表示的目標程序作爲輸出;編譯出的目標程序通常還要經歷執行階段,以便在執行程序的支援下執行,加工初始數據,算出所需的計算結果。
編譯程序的實現算法較爲複雜。這是因爲它所翻譯的語句與目標語言的指令不是一一對應關係,而是一多對應關係;同時也因爲它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關係。但是,由於進階程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、複雜性較高、且需要高效執行的進階語言書寫的源程序。