Apa itu kompiler, atau Bagaimana membuat komputer memahami apa yang Anda inginkan darinya?

Daftar Isi:

Apa itu kompiler, atau Bagaimana membuat komputer memahami apa yang Anda inginkan darinya?
Apa itu kompiler, atau Bagaimana membuat komputer memahami apa yang Anda inginkan darinya?

Video: Apa itu kompiler, atau Bagaimana membuat komputer memahami apa yang Anda inginkan darinya?

Video: Apa itu kompiler, atau Bagaimana membuat komputer memahami apa yang Anda inginkan darinya?
Video: 10 Mitos Pendidikan Computing: Yang Membuat Mahasiswa Komputer Ga Kreatif dan Lemah Karakter 2024, November
Anonim

Tahap terakhir dari pembuatan program adalah menerjemahkan algoritma yang ditulis dalam salah satu bahasa pemrograman (C/C++, Pascal, dll.) ke dalam bahasa mesin tingkat rendah. Hal ini disebabkan fakta bahwa untuk melakukan tugas apapun, komputer perlu diberikan perintah dalam bahasa yang mereka mengerti, dekat dengan biner dan beroperasi dengan struktur data primitif (bit, byte atau kata). Proses menerjemahkan pernyataan spesifik domain dari bahasa tingkat tinggi ke dalam kode biner disebut terjemahan. Ada dua metode penerjemahan - kompilasi dan interpretasi.

kompiler adalah
kompiler adalah

Compiler - apa itu?

Analisis banyak interpretasi dari istilah "kompilator" dan "kompilasi" memungkinkan kita untuk menyoroti definisi berikut. Compiler adalah program yang dirancang untuk menerjemahkan teks dari algoritma sumber dari bahasa tingkat tinggi ke dalam set instruksi yang setara dalam bahasa berorientasi mesin. Inilah yang disebut kode objek, untuk perakitan selanjutnya dari kode objek yang dihasilkan menjadi modul program yang siap pakai.

Compiler dan interpreter - persamaan dan perbedaan

Penerjemah adalah utilitas yangserta kompiler, yang dirancang untuk menerjemahkan kode sumber ke dalam kode mesin. Namun, tidak seperti compiler, interpreter berjalan setiap saat dengan program dan melakukan terjemahan baris demi baris.

Anda dapat mengatakan bahwa compiler dan interpreter adalah pemroses bahasa yang memungkinkan komputer untuk mengenali dan menjalankan perintah yang diberikan oleh programmer.

Klasifikasi kompiler

kompiler adalah sebuah program
kompiler adalah sebuah program

Compiler diklasifikasikan terutama berdasarkan fitur yang terkait dengan area aplikasi praktisnya.

Vectorizing compiler adalah utilitas yang menerjemahkan kode sumber menjadi kode objek dan diadaptasi untuk komputer yang dilengkapi dengan prosesor vektor.

Komilator fleksibel diprogram dalam bahasa tingkat tinggi secara modular. Pengelolaannya dilakukan dengan menggunakan tabel. Dimungkinkan juga untuk menjalankannya menggunakan kompiler dari kompiler.

Kompilator tambahan adalah pemroses bahasa yang menerjemahkan ulang fragmen terpisah dari kode sumber dan tambahannya. Namun, ini menghindari kompilasi ulang seluruh aplikasi.

Komilator interpretatif (melangkah) adalah utilitas yang secara berurutan melakukan kompilasi independen dari setiap pernyataan atau perintah dari kode sumber tingkat tinggi.

Komilator kompiler adalah penerjemah yang mampu menerima deskripsi formal untuk bahasa pemrograman dan secara independen menghasilkan kompiler untuk bahasa apa pun.

kompiler dan juru bahasa
kompiler dan juru bahasa

Komilator debug memungkinkan Anda menemukan dan memperbaiki beberapa jenis kesalahan sintaks yang dibuat saat menulis kode sumber

Sebuah compiler tetap menempati tempat permanen di RAM dan oleh karena itu dapat digunakan kembali oleh berbagai macam tugas.

Komilator yang dikompilasi sendiri ditulis dalam bahasa yang sama dengan terjemahannya.

Komilator universal didasarkan pada deskripsi formal dari parameter semantik dan sintaksis dari bahasa input. Komponen utama dari utilitas tersebut adalah pemuat inti, sintaksis dan semantik.

Perangkat kompiler

Sebuah compiler dan sebuah linker adalah jantung dari setiap compiler. Seringkali, saat kompilasi, tautan eksternal digunakan, dan kompiler itu sendiri hanya melakukan fungsi terjemahan. Itu juga terjadi bahwa kompiler diimplementasikan sebagai semacam program pengelola yang dikaitkan dengan penerjemah (atau penerjemah, jika bahasa pemrograman yang berbeda digunakan saat menulis kode sumber) dan tautan dan memulai eksekusinya bila perlu.

Bahasa pemrograman dan metode terjemahan

penyusun bahasa
penyusun bahasa

Terlepas dari kenyataan bahwa program yang ditulis dalam bahasa pemrograman apa pun dapat dikompilasi dan diinterpretasikan, banyak bahasa tingkat tinggi memiliki kecenderungan terhadap satu atau lain metode penerjemahan. Jadi, bahasa C awalnya dirancang untuk kompilasi, dan Java - untuk interpretasi program tertulis. Sedang dikembangkanKompiler C cukup mudah, berkat levelnya yang relatif rendah dan sejumlah kecil elemen struktural.

Keuntungan dan kerugian dari compiler dan interpreter. Aplikasi

Perhatikan bahwa aplikasi yang dikompilasi lebih cepat daripada yang diinterpretasikan, tetapi pada saat yang sama, kode mesin yang diperoleh sebagai hasil kompilasi bergantung pada platform perangkat keras. Jadi, program yang ditulis dan dikompilasi untuk Windows tidak akan berfungsi, misalnya, di Linux. Oleh karena itu, dalam kasus aplikasi Internet, ketika tidak mungkin untuk mengatakan sebelumnya di lingkungan mana mereka akan bekerja, mereka menggunakan interpretasi atau bytecode (dalam hal ini, program sumber diubah menjadi bentuk perantara yang dapat dieksekusi pada berbagai perangkat keras. platform).

Direkomendasikan: