Kamis, 02 Januari 2014

PENYAJIAN SCANNER


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


1 komentar:

  1. terimakasih atas post ini sangat bermanfaat untuk tugas kuliah saya :-D

    BalasHapus