Analisis leksikal adalah sebuah proses yang mendahului parsing sebuah rangkaian karakter. Ia menerima masukan serangkaian karakter (seperti dalam dokumen plain-text atau source code) dan menghasilkan deretan simbol yang masing-masing dinamakan token; proses parsing akan lebih mudah dilakukan bila inputnya sudah berupa token.
Analisis leksikal terdiri dari dua tahap. Tahap pertama adalah pemindaian (scanning); scanner biasanya dibuat berdasarkan prinsip Finite State Machine ("mesin dengan jumlah keadaan terbatas"). Pada tahap ini, scanner akan membaca input karakter-ke-karakter, mengubah keadaannya sendiri berdasarkan karakter yang tengah dibaca. Setiap kondisi final (input dianggap valid) akan dicatat, bersama dengan lokasi input. Pada akhirnya scanner akan menemui keadaan penolakan, yang tidak akan berubah dengan input karakter apapun. Deteksi rekursi semacam ini akan mengakhiri proses pemindaian dan memindahkan keadaan scanner ke keadaan final terakhir, dan karenanya menyimpan informasi jenis dan besar lexeme valid yang terpanjang di dalam input.
Adapun peranannya :
- membaca karakter input dan menghasilkan output
berupa token.Token akan akan dipakai oleh pengurai
parser sebagai input untuk analisa sintak - membuang komentar, spasi,tab, newline dan karakter
lain yang ‘tak berguna’, - menghubungkan pesan kesalahan kompilator dengan
program sumbernya. Contoh : baris dari program
http://id.wikipedia.org/wiki/Analisis_leksikal
telaga.cs.ui.ac.id/~heru/.../k02%20-%20Analisis%20Leksikal.ppt
0 komentar:
Posting Komentar