A.Proses Penyidikan (Scanning)
Analisis
terhadap Program Sumber merupakan bagian awal dari seluruh proses kompilasi.
Proses kompilasi akan menjadi lebih mudah dilaksanakan apabila analisis program
sumber tersebut kita bagi menjadi dua bagian.
Bagian pertama dimaksudkan untuk
mengidentifikasi satuan terkecil dari bahasa, yang kita sebut Token, seperti :
-Identifier
-Keyword
-Label
-Operator aritmetika dan assignment
-Operator relational
-Tanda baca dan sebagainya
Bagian kedua
dimaksudkan untuk menentukkan sintaksis dari organisasi program, yang dikenal
sebagai Analisis Sintaks atau Parsing.
Bagian ini akan
mendiskusikan mengenai alat yang dipergunakan pada Analisis pertama yang
dikenal sebagai Penganalisis Leksikal atau Scanner.
Dua Aspek
Scanner yang pertama, melukiskan
bangaimana bentuk dan penyajian Token dan Penggunaan Ekspresi Regular. Semua
metode deskripsi tersebut adalah sama.
B.Perancangan Scanner Fundamental dan
Implementasinya
Maksud utama
dari scanner adalah meneruskan Token input ke parser. Scanner juga harus mampu
mengidentifikasi bagian program sumber seperti Komentar(remark), blank,
pembatas Token, serta perintah yang sifatnya adalah perintah khusus media
input/output yang nantinya akan diabaikan dalam proses kompilasi, serta tidak
meneruskan ke fase berikutnya.
Scanner harus
mengidentifikasi Token secara lengkap, dan sering kali harus pula membedakan
antara keyword dan identifier. Lebih lanjut, Scanner dapat melanjutkan
manajemen Tabel Simbol.Disitu ia melakukan pemasukan identifier, literal, dan
konstanta ke dalam Tabel, sesudah mereka dipindahkan ke suatu bentuk internal.
Token dapat
digambarkan ke dalam beberapa cara. Salah satu cara penyajian Token adalah
menggunakan suatu Grammar Regular. Bila kita menggunakan cara ini, suatu
himpunan aturan pembentuk, yang kita kenal pula sebagai Produksi, diberikan
untuk menghasilkan Token yang dibutuhkan.
C.Grammar Regular Dan Ekspresi Regular
Bahasa yang
dihasilkan Grammar Regular tersebut disebut Bahasa Regular. Salah satu cara yang cukup baik Bahasa Regular
adalah menggunakan Ekspresi Regular. Ekivalensi antara Grammar Regular dan
Ekspresi Regular akan diperagakan dalam bagian berikut ini. Sedangkan
ekivalensi antara Grammar Regular dan Automata Hingga, ekivalensi dari Ekspresi
Regular dengan Automata Hingga.
Dalam Ekspresi
Regular dapat digunakan 3 operator, yakni :
-Penjalin atau
Perangkat atau concatenation
-Alternasi atau
alternation dan
-Penutup atau
closure
Ekspresi Regular
sering digunakan untuk menggambarkan Token yang dia analisis oleh Scanner. Cara mengubah Grammar Regular menjadi
Ekspresi Regular dengan memanfaatkan sifat aljabar dari operator Ekspresi
Regular. Sebagai Contoh. alternation serta concatenation adalah asosiatif dan
alternation juha komutatif. oleh karena itu kita dapat menulis :
(ab)c =a(bc)
(a|b)c= a|(b|c), dan
a|b = b|a
Sumber : Pengantar Automata Bahasa Formal dan
Komputasi , D. Suyadi H.S, Universitas Gunadarma
terimakasih atas post ini sangat bermanfaat untuk tugas kuliah saya :-D
BalasHapus