Praposesor
Praposesor
Adalah suatu program khusus menanggulangi terjadinya beberapa modul yang terpisah saat melakukan penulisan bahasa sumber menjadi beberapa file ke dalam suatu program baru.
Suatu Praposesor menghasilkan suatu input bagi suatu kompilator. Hal ini mungkin dilakukan oleh suatu kompilator antara lain:
- Pemroses Makro
Makro yang merupakan kependekan dari suatu bagian program yang lebih panjang memungkinkan penulis program untuk memperpendek program yang ditulisnya.
Dalam hal ini perlu dilakukan dua hal
a. Mendefinisikan makro yang digunakan.
Parameter yang didefinisikan pada makro disebut dengan parameter formal
b. Melakukan pemanggilan makro yang mungkin juga mengandung beberapa parameter.
Sedangkan parameter yang digunakan untuk memanggil makro disebut dengan paramater aktual
- Pengikutsertaan berkas (File Inclusion)
Suatu Praprosesor memungkinkan diikutsertakannya beberapa berkas program yang telah ditulis sebelumnya ke dalam program yang sedang ditulis.
Biasanya berkas program yang ditulis sebelumnya merupakan segmen program yang sekali digunakan, banyak manfaatnya dan sering terjadi sudah merupakan bagian dari sistem bahasa yang digunakan
Misalnya pada bahasa C, isi dari berkas global.h dapat diikutsertakan dalam program yang sedang ditulis dengan menggunakan perintah #include global.h
- Praposesor Rasional
Praprosesor ini memberikan kemampuan baru dari suatu bahasa dengan fasilitas pengendalian aliran (flow-of-control) atau struktur data yang lebih baik.
Misalnya dengan menambahkan kemampuan perintah while, if-then-else pada bahasa yang pada mulanya tidak mempunyai fasilitas tersebut.
Hal ini biasanya dilakukan dengan menggunakan makro yang sudah ada dalam bahasa tersebut.
- Perluasan Bahasa
Praprosesor ini memungkinkan suatu bahasa untuk berinteraksi dengan sistem atau bahasa lainnya.
Misalnya pada bahasa C yang ditambahkan kemampuannya untk dapat mengakses data dalam suatu database.
Untuk itu praprosesor memungkinkan menggunakan tanda ## yang menyatakan bahwa bagian ini bukan merupakan bagian dari bahasa C, tetapi berhubungan dengan sistem suatu paket database lain yang sudah baku.
Dengan demikian bagian ini akan diterjemahkan kedalam pemanggilan procedure untukmelakukan akses database.