Tolong jelaskan mengenai Tahap-tahap dalam kompilasi dari Kompilator

Suatu kompilator harus menganalisis kode asal terlebih dahulu untuk memahami seluruh kode tersebut. Hasil dari analisis itu berbentuk representasi dari kode asal, yang nanti akan ditafsirkan oleh kompilator ke dalam bahasa sasaran. Oleh karena itu,  kompilator  terdiri dari beberapa tahap. Setiap tahap memiliki tugas masing-masing dalam proses kompilasi.