Perbezaan Antara Fasa dan Lulus dalam Pengkompil

Perbezaan Antara Fasa dan Lulus dalam Pengkompil
Perbezaan Antara Fasa dan Lulus dalam Pengkompil

Video: Perbezaan Antara Fasa dan Lulus dalam Pengkompil

Video: Perbezaan Antara Fasa dan Lulus dalam Pengkompil
Video: KATA HUBUNG Tahun 1: Beza kata hubung 'dan', 'atau', 'tetapi' 2024, November
Anonim

Fasa lwn Lulus dalam Pengkompil

Secara umum, pengkompil ialah program komputer yang membaca program yang ditulis dalam satu bahasa, yang dipanggil bahasa sumber, dan menterjemahkannya ke dalam bahasa lain, yang dipanggil bahasa sasaran. Secara tradisinya, bahasa sumber ialah bahasa peringkat tinggi seperti C++ dan bahasa sasaran ialah bahasa peringkat rendah seperti bahasa Assembly. Jadi, secara umum penyusun boleh dilihat sebagai penterjemah yang menterjemah dari satu bahasa ke bahasa yang lain. Pas dan Fasa adalah dua istilah yang sering digunakan dengan penyusun. Bilangan pas pengkompil ialah bilangan kali ia melewati sumber (atau beberapa bentuk perwakilannya). Penyusun dipecahkan kepada bahagian untuk kemudahan pembinaan. Fasa sering digunakan untuk memanggil bahagian bebas tunggal pengkompil.

Apakah itu Pas dalam Penyusun?

Cara standard untuk mengklasifikasikan penyusun adalah dengan bilangan "laluan". Biasanya, penyusunan adalah proses yang agak intensif sumber dan pada mulanya komputer tidak mempunyai memori yang mencukupi untuk mengadakan program sedemikian yang melakukan kerja yang lengkap. Disebabkan oleh pengehadan sumber perkakasan dalam komputer awal ini, penyusun dipecahkan kepada sub program yang lebih kecil yang melakukan tugas separanya dengan meneliti kod sumber (membuat "lulus" ke atas sumber atau bentuk lain daripadanya) dan melakukan analisis, transformasi dan tugas terjemahan secara berasingan. Jadi, bergantung pada pengelasan ini, pengkompil dikenal pasti sebagai pengkompil satu laluan atau berbilang laluan.

Seperti namanya, pengkompil satu laluan menyusun dalam satu laluan. Ia lebih mudah untuk menulis pengkompil satu laluan dan juga ia berfungsi lebih cepat daripada pengkompil berbilang laluan. Oleh itu, walaupun pada masa anda mempunyai had sumber, bahasa telah direka bentuk supaya ia boleh disusun dalam satu laluan (cth. Pascal). Sebaliknya, pengkompil berbilang laluan biasa terdiri daripada beberapa peringkat utama. Peringkat pertama ialah pengimbas (juga dikenali sebagai penganalisis leksikal). Pengimbas membaca program dan menukarnya kepada rentetan token. Peringkat kedua ialah parser. Ia menukar rentetan token ke dalam pokok parse (atau pokok sintaks abstrak), yang menangkap struktur sintaksis program. Peringkat seterusnya ialah yang mentafsir semantik struktur sintaksis. Peringkat pengoptimuman kod dan peringkat penjanaan kod akhir mengikuti ini.

Apakah itu Fasa dalam Penyusun?

Fasa istilah sering muncul apabila anda bercakap tentang pembinaan pengkompil. Pada mulanya, penyusun adalah setiap keping mudah perisian monolitik tunggal yang ditulis oleh satu orang untuk penyusunan bahasa mudah. Tetapi apabila kod sumber bahasa yang hendak diterjemahkan menjadi rumit dan besar, pengkompil dipecahkan kepada beberapa fasa (agak bebas). Kelebihan mempunyai fasa yang berbeza ialah pembangunan pengkompil boleh diedarkan di kalangan pasukan pembangun. Tambahan pula, ia menambah baik modulariti dan penggunaan semula dengan membenarkan fasa digantikan dengan fasa yang dipertingkatkan atau fasa tambahan (seperti pengoptimuman selanjutnya) untuk ditambahkan pada pengkompil. Proses membahagikan kompilasi kepada fasa telah diperkenalkan oleh PQCC (Projek Penyusun Kualiti Pengeluaran) di Universiti Carnegie Melon. Mereka memperkenalkan istilah hujung hadapan, hujung tengah dan hujung belakang. Kebanyakan penyusun mempunyai sekurang-kurangnya dua fasa. Tetapi biasanya, bahagian belakang dan bahagian depan merangkumi fasa ini.

Apakah perbezaan antara Fasa dan Lulus dalam Pengkompil?

Fasa dan Lulus ialah dua istilah yang digunakan dalam bidang penyusun. Pas ialah satu kali pengkompil melewati (melalui) kod sumber atau beberapa perwakilan lain daripadanya. Biasanya, kebanyakan penyusun mempunyai sekurang-kurangnya dua fasa yang dipanggil hujung hadapan dan hujung belakang, manakala ia boleh sama ada satu laluan atau berbilang laluan. Fasa digunakan untuk mengelaskan penyusun mengikut pembinaan, manakala pas digunakan untuk mengelaskan penyusun mengikut cara ia beroperasi.

Disyorkan: