Skip to main content

Apa itu kompiler?

Kompiler adalah jenis program komputer khusus yang menerjemahkan file teks yang dapat dibaca manusia ke dalam bentuk yang dapat dipahami oleh komputer.Pada tingkat yang paling dasar, komputer hanya dapat memahami dua hal, 1 dan 0. Pada tingkat ini, manusia akan beroperasi dengan sangat lambat dan menemukan informasi yang terkandung dalam string panjang 1 dan 0s tidak dapat dipahami.Kompiler adalah program komputer yang menjembatani kesenjangan ini.

Pada awalnya, kompiler adalah program yang sangat sederhana yang hanya dapat menerjemahkan simbol ke dalam bit , 1s dan 0s, komputer dipahami.Program juga sangat sederhana, terdiri dari serangkaian langkah yang awalnya diterjemahkan dengan tangan ke dalam data yang bisa dipahami komputer.Ini adalah tugas yang sangat memakan waktu, jadi sebagian dari tugas ini otomatis atau diprogram, dan kompiler pertama ditulis.Program ini dirakit, atau disusun, langkah -langkah yang diperlukan untuk menjalankan program langkah demi langkah.

Kompiler sederhana ini digunakan untuk menulis kompiler yang lebih canggih.Dengan versi yang lebih baru, lebih banyak aturan dapat ditambahkan ke program kompiler untuk memungkinkan struktur bahasa yang lebih alami untuk dioperasikan oleh programmer manusia.Ini membuat program penulisan lebih mudah dan memungkinkan lebih banyak orang untuk mulai menulis program.Karena semakin banyak orang mulai menulis program, lebih banyak ide tentang program menulis ditawarkan dan digunakan untuk membuat kompiler yang lebih canggih.Dengan cara ini, program kompiler terus berkembang, meningkatkan dan menjadi lebih mudah digunakan.

Program kompiler juga dapat disesuaikan.Struktur bahasa tertentu lebih cocok untuk tugas tertentu daripada yang lain, sehingga kompiler spesifik dikembangkan untuk tugas atau bahasa tertentu.Beberapa kompiler adalah multistage atau ganda pass .Pass pertama dapat mengambil bahasa yang sangat alami dan membuatnya lebih dekat ke bahasa komputer yang dapat dimengerti.Pass kedua atau bahkan ketiga dapat membawanya ke tahap akhir, file yang dapat dieksekusi.

Output menengah dalam kompiler multistage biasanya disebut pseudo-code , karena tidak dapat digunakan oleh komputer.Pseudo-Code sangat terstruktur, seperti program komputer, tidak mengalir bebas dan bertele-tele seperti bahasa yang lebih alami.Output akhir disebut file yang dapat dieksekusi , karena itulah yang sebenarnya dieksekusi atau dijalankan oleh komputer.Memisahkan tugas seperti ini membuatnya lebih mudah untuk menulis kompiler yang lebih canggih, karena setiap tugas sub berbeda.Itu juga membuatnya lebih mudah bagi komputer untuk menunjukkan di mana ia kesulitan memahami apa yang diminta untuk dilakukan.

Kesalahan yang membatasi kompiler dalam memahami program disebut Kesalahan Sintaks .Kesalahan dalam cara fungsi program disebut kesalahan logika .Kesalahan logika jauh lebih sulit untuk dikenali dan dikoreksi.Kesalahan sintaksis seperti kesalahan ejaan, sedangkan kesalahan logika sedikit lebih seperti kesalahan tata bahasa.

Program silang kompiler juga telah dikembangkan.Kompiler silang memungkinkan set instruksi file teks yang ditulis untuk satu komputer yang dirancang oleh produsen tertentu untuk dikompilasi dan dijalankan untuk komputer yang berbeda oleh produsen yang berbeda.Misalnya, program yang ditulis untuk dijalankan di komputer Intel kadang -kadang dapat disusun silang untuk menjalankan komputer yang dikembangkan oleh Motorola.Ini sering tidak bekerja dengan baik.Pada level di mana program komputer beroperasi, perangkat keras komputer dapat terlihat sangat berbeda, bahkan jika mereka terlihat mirip dengan Anda.

Kompilasi silang berbeda dari memiliki satu komputer meniru komputer lain.Jika komputer meniru komputer yang berbeda, itu berpura -pura menjadi komputer lain.Emulasi sering lebih lambat dari kompilasi silang, karena dua program berjalan sekaligus, program yang berpura -pura menjadi komputer lain dan program yang sedang berjalan.Namun, agar kompilasi silang berfungsi, Anda membutuhkan keduanya yang asliTeks bahasa alami yang menjelaskan program dan komputer yang cukup mirip dengan komputer asli yang dapat digunakan program untuk dijalankan pada komputer yang berbeda.Ini tidak selalu mungkin, jadi kedua teknik sedang digunakan.