Wednesday, 18 September 2013

Language Basics : Tahap Kompilasi

C + + adalah case-sensitive, bahasa pemrograman bebas-bentuk yang mendukung prosedur dural, berorientasi objek, dan pemrograman generik.

C + + source file mengalami banyak transformasi dalam proses untuk menjadi program dieksekusi. Tahapan awal melibatkan semua pengolahan #include dan preprocessing bersyarat arahan untuk menghasilkan apa standar panggilan unit terjemahan. Unit penerjemahan adalah penting karena mereka tidak memiliki ketergantungan pada file lainnya.

Meskipun demikian, programmer masih berbicara dalam hal file sumber, bahkan jika mereka benar-benar berarti unit terjemahan, jadi tulisan ini menggunakan sumber file frase karena akrab bagi sebagian besar pembaca. Istilah "terjemahan" meliputi compilation dan interpretasi, meskipun kebanyakan C + + compiler penerjemah. Bagian ini membahas bagaimana C + + dibaca dan di compile (diterjemahkan) dari file sumber (unit penerjemahan).

Program C + +  dapat dibuat dari berbagai file sumber, dan setiap file dapat dikompilasi secara terpisah. Secara konseptual, memiliki proses kompilasi beberapa langkah (meskipun compiler dapat menggabungkan atau memodifikasi langkah-langkah jika bisa melakukannya tanpa mempengaruhi hasil yang dapat diamati) :

  1. Baca karakter fisik dari file sumber dan menerjemahkan karakter ke set karakter sumber. Sumber "file" tidak selalu file fisik, implementasi mungkin, misalnya, mengambil sumber dari database. Urutan trigraph adalah dikurangi menjadi karakter setara mereka (lihat "trigraph" kemudian dalam bab ini). Setiap karakter end-of-line asli atau urutan karakter digantikan oleh karakter baris baru.
  2. Jika karakter backslash segera diikuti oleh karakter baris baru, menghapus backslash dan baris baru. Backslash / baris baru kombinasi tidak boleh jatuh di tengah karakter yang universal (misalnya, \ u1234) dan tidak harus berada di akhir file. Dapat digunakan dalam karakter atau string literal, atau melanjutkan direktif preprocessor atau komentar satu baris pada beberapa baris. File tidak kosong harus diakhiri dengan newline.
  3. Partisi sumber menjadi tanda preprocessor dipisahkan oleh spasi dan komentar. Tanda preprocessor sedikit berbeda dari tanda compiler. Token preprocessor dapat dinamakan header, identifier, angka, karakter literal, string literal, lambang, atau karakter lain-lain. Setiap token preprocessor adalah urutan terpanjang karakter yang dapat membuat token sah, terlepas dari apa yang terjadi setelah token.
  4. Mengkonversi karakter dan string literal untuk karakter set eksekusi.
  5. Menyatukan literal string, Membatasi string literal digabungkan dengan string literal sempit. Lebar string literal  yang digabungkan dengan lebar string literal . Mencampur batas dan lebar string literal menghasilkan kesalahan.
  6. Makukan kompilasi utama.Menggabungkan file untuk dikompilasi. Untuk setiap file, semua instantiasi template yang diperlukan identifikasi dan definisi template yang diperlukan adalah
    berlokasi dan dikompilasi.
  7. Menyelesaikan referensi eksternal. File-file disusun terkait untuk menghasilkan gambar dieksekusi.

 

Sumber : ISBN-10: 0-596-00298-X
               ISBN-13: 978-0-596-00298-5
               [M]

No comments:

Post a Comment